eikonoklastes Posted January 8, 2019 Share Posted January 8, 2019 Hello, Please see the attached video (created in Cinema 4D) for what I am trying to achieve in Houdini. I'm brand new to Houdini and am trying to move particles in one axis, that smoothly swing back-and-forth. I don't mind using VEX to do this. I've been playing with P.z and v.z * rand(@id), and can move each particle in a random direction along Z, but I can't get the back-and-forth swinging motion. Thanks. particles_random_movement_in_one_axis.mp4 Quote Link to comment Share on other sites More sharing options...
eikonoklastes Posted January 8, 2019 Author Share Posted January 8, 2019 OK, I've made some progress. I used a POP VOP to drive force instead of position or velocity, and it worked (thanks to Jeff Wagner's comment here). I also used a POP Soft Limit to recover any stray particles shooting off. Scene file attached here. If I'm doing anything grotesquely wrong (or even mildly wrong), please do chime in and let me know how I could improve it. Particles One-Axis Test.hipnc Quote Link to comment Share on other sites More sharing options...
evanrudefx Posted January 8, 2019 Share Posted January 8, 2019 If you want back and forth motion, have you tried use sin/cos? You can use them to get a back and forth motion. https://www.youtube.com/watch?v=aH0KGGOlDkc Quote Link to comment Share on other sites More sharing options...
mestela Posted January 8, 2019 Share Posted January 8, 2019 Or if you don't need to do a simulation, don't do a simulation. Particles One-Axis Test_no_pops.hipnc Quote Link to comment Share on other sites More sharing options...
eikonoklastes Posted January 20, 2019 Author Share Posted January 20, 2019 Thank you both. Matt, that was what I originally wanted, but I do want to later simulate them. I'm still taking baby steps into Houdini's way of doing things, so I'll probably be back with related questions. Thanks again. Quote Link to comment Share on other sites More sharing options...
Atom Posted January 20, 2019 Share Posted January 20, 2019 (edited) Here is a slight variation to Matt's wrangle solution using the full definition for curl noise, extracted from an attributevop using the View VEX Code menu option. #include <voplib.h> vector freq = set(1,1,1); vector offset = set (0,0,0); vector surface_normal = set(0,0,0); float amp = 1.0; float roughness = 0.5; int turb = 3; float atten = 1.0; float step_size = 0.0001; vector vop_noise = vop_curlNoiseVV(@P+@Time, freq, offset, surface_normal, "pnoise", "", turb, 0, amp, roughness, atten, 1, 1, step_size); @P.z += vop_noise.z; This gives you access to many more noise parameters that you may be used to manipulating, like frequency, amplitude, etc... Edited January 20, 2019 by Atom Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.