Jump to content
Netvudu

Point follow a path without "Path Object"

Recommended Posts

Hi there.

It would be quite useful if I could animate a point through a curve-defined path without using the Path Object function, but have it all happen inside SOP...is there a simple way to do this?

Edited by Netvudu

Share this post


Link to post
Share on other sites

Hey Netvudu,

I don't have Houdini in front of me, but the easiest way I can think of is to use the creep SOP.

Create a line > deleteSOP (Delete by Pattern > 1) will give you a single point. Pipe that into a creep SOP (input 1) and pipe your curve into the input 2 > animate the Translate in X (I think) in the Creep SOP > 0 to 1 will go from start to end of curve.

Is that what you had in mind?

Hope that helps!

Matt.

Edited by Matt_K
  • Like 2

Share this post


Link to post
Share on other sites

Thanks Jason!

Any other really interesting ways to accomplish this? :D

Share this post


Link to post
Share on other sites

Another way is the carve sop set to extract points.

you can use the primuv - expression.

file is attached!

petz

Share this post


Link to post
Share on other sites

Another way may be:

Import the curve into chops

rename the channels to t[xyz]0

extract velocity and store it in v[xyz]0

use the channelSOP to apply the positions to aplly these positions to a point.

CopySOP your geometry onto the point.

Share this post


Link to post
Share on other sites

wow, so many ways...Thanks guys. Will take a look at these methods and see which one fits better :)

Share this post


Link to post
Share on other sites
wow, so many ways...Thanks guys. Will take a look at these methods and see which one fits better :)

I have used the primuv expression some months ago and works perfectly, and you have a lot of control also.

Share this post


Link to post
Share on other sites

You might be able to use the Rivet Object too - or the Sticky Object if you've got uv's

Share this post


Link to post
Share on other sites

In those cases I also like CHOPs. Place a CHOPnet in your SOP network, use a GeometryCHOP set to static to import your path as curve data then use that data to drive a Transform SOP or whatever else.

While it seems more convoluted at first, it gives you the geo represented as curves and also the possibility of doing lots of stuff to it (lags, filters etc).

Dragos

Share this post


Link to post
Share on other sites

hi..

thank you for your help..

i had the same problem..

i chose Petz’s solution

 

thank you

 

bests regards

Share this post


Link to post
Share on other sites
On 21/01/2009 at 8:08 PM, Matt_K said:

Hey Netvudu,

I don't have Houdini in front of me, but the easiest way I can think of is to use the creep SOP.

Create a line > deleteSOP (Delete by Pattern > 1) will give you a single point. Pipe that into a creep SOP (input 1) and pipe your curve into the input 2 > animate the Translate in X (I think) in the Creep SOP > 0 to 1 will go from start to end of curve.

Is that what you had in mind?

Hope that helps!

Matt.

7 years later and stuff like this is still super useful thanks :D

  • Like 1

Share this post


Link to post
Share on other sites

Is there an easy way to do this with a lot of points, along with (perhaps) a random offset from the spline? In C4D I can set this up in about 20 seconds, but it looks to be more of a complex problem here. 

Share this post


Link to post
Share on other sites
51 minutes ago, LukeLetellier said:

Is there an easy way to do this with a lot of points, along with (perhaps) a random offset from the spline? In C4D I can set this up in about 20 seconds, but it looks to be more of a complex problem here. 

Could use point deform. I've been using it a bit recently. Animate your points along an axis that you capture with a straight curve, then they'll travel along your deformed curve. 

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

MOPs Move Along Spline will do what you're looking for. If you're looking for a built-in method besides Attribute Interpolate or doing it yourself with primuv() etc in VEX, I think you're out of luck.

Edited by toadstorm

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×