Jump to content
Vinz9

Sticky object at sop level ? (creep sop that works with poly uvs ?)

Recommended Posts

Hi,

I'm wondering what's the easiest way to have a sticky object at sop level. The creep sop is good but doesn't work with uvs on polygons, whereas the sticky object does, so the functionnality is there, but it's a bit tedious to then object merge sticky objects at sop level.

Thanks a lot for any tip

Vincent

Edited by Vinz9

Share this post


Link to post
Share on other sites

hey edward, nice hip file thanks. Could you explain what is going on here a little bit ?

-ranxx

Here's one example that I did a long time ago.

Share this post


Link to post
Share on other sites

Thanks a lot edward, quite interesting!

There's one thing I didn't know/didn't get is that even though there's only one sticky object you can feed it as many uv values you want and then grab all their positions!

That's a bit confusing.

Tried it with the sticky object in /obj so it gets displayed, and indeed only the first one with the first couple of uv values gets displayed.

Still think such a sop could be shipped with houdini ;)

Share this post


Link to post
Share on other sites

It just uses CHOPs to cook 1 frame per point for the Sticky Object. The /obj/torus_object1/chopnet1/object node is set up so that it cooks as many frames as there are points, taking the transform from the Sticky Object. The Sticky Object's uv position is varied across time by the Geometry CHOP that reads the uv values as 1 frame per point.

Share this post


Link to post
Share on other sites

I know this thread is really old, but I thought I'd bump it rather than starting a new one.

First, thanks for the scene, I learnt a lot from it.

My question is, what is the best way of doing this to accomodate deforming geometry?

So if I had a sphere animated +10 to -10 in X and a mountain sop under it with its roughness set to "sin($FF)" to get movement and defomation. How would I go about making some scattered points stick to the surface?

Thanks for any info.

Christian

Share this post


Link to post
Share on other sites

Hey Christian,

Try turning off "Scatter Based on Primitive Area" on the scatter node.

-c

I know this thread is really old, but I thought I'd bump it rather than starting a new one.

First, thanks for the scene, I learnt a lot from it.

My question is, what is the best way of doing this to accomodate deforming geometry?

So if I had a sphere animated +10 to -10 in X and a mountain sop under it with its roughness set to "sin($FF)" to get movement and defomation. How would I go about making some scattered points stick to the surface?

Thanks for any info.

Christian

scatter_stick.hip

Share this post


Link to post
Share on other sites

lattice ?

-ranxx

stickyPoints.hip

I know this thread is really old, but I thought I'd bump it rather than starting a new one.

First, thanks for the scene, I learnt a lot from it.

My question is, what is the best way of doing this to accomodate deforming geometry?

So if I had a sphere animated +10 to -10 in X and a mountain sop under it with its roughness set to "sin($FF)" to get movement and defomation. How would I go about making some scattered points stick to the surface?

Thanks for any info.

Christian

Share this post


Link to post
Share on other sites

Hey Guys,

@cosku: Yes that works, but I'm after something that doesn't rely on features of the scatter node (sorry should have been more clear). Ideally I'd like this to work on any points, that I ray onto another deforming object for instance.

@ranxerox: That seems to kind of work and is definatly usable for some situations, but doesn't perfectly "stick" points onto the surface.

Really what I'm after is a vop sop that'll update the points position to stick perfectly to the deforming surface. I've used a custom node before (proprietary that I don't have access too anymore) that had 3 inputs. First was the points, second was a rest position of the object and the third was the animated deforming object. This "stuck" the points to the surface perfectly, I'm just not sure exactly how (pretty sure it was just a scripted math node).

The sticky/rivet SOP does what I'm after, but only really usable on a per point basis. I'm looking at getting something that could work on hundreds, possibly the low thousands of points.

Anyone have any idea how to approach something like this in Vops?

Thanks

Christian

Share this post


Link to post
Share on other sites

Hitting the same issue as well, and would love a vop solution. The lattice trick works pretty good, but as you said not exact. I thought the transform vop would work but of course not UV space in there.

Share this post


Link to post
Share on other sites

Is this of any help?

The idea is to find the nearest prim and then use the uv of it to set the position.

The problem is that there might be situations where the nearest prim switches but in this example it seems ok.

Sorry, it's quick and messy but I hope it helps.

post-4013-130015975218_thumb.jpg

stick.hip

  • Like 1

Share this post


Link to post
Share on other sites

Wicked. It sounds/looks like that would work brilliantly. I'm sure knowing it's weakness you could work around it (with the prim switches).

I'll have a look at it at break.

Thanks

Christian

Share this post


Link to post
Share on other sites

AH, very cool. Didn't think to go about it that way. Provided the mesh is consistent this should work every time. Thanks dude.

A

Share this post


Link to post
Share on other sites

Wicked. This is very fast!

Haven't had a chance to look into the VOPSOP yet, but I can see whats going on.

Thank you very much! That was very helpful and I'm sure I'll learn a lot from it.

Christian

Share this post


Link to post
Share on other sites

I know this is an old thread - but I just spend a considerable amount of time trying to get a sticky deformation going based on Marc's primattrib based example. Unfortunately it uses texture uvs for the lookup, but what is required are actual parametric uvs (I assume because texture uvs can overlap a lot). Have a look a this thread on how to get primuv data that can be used to feed the primattrib vop:

Hope it helps!

 

http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=20363

 

Cheers,

Carsten

Share this post


Link to post
Share on other sites

Just thinking out loud, but wouldn't the newfangled ptex uv-coordinates be great for this, as they are guaranteed to be unique. Well, essentially they are the primnum+barycentric that Mario mentions in the above linked thread.

Share this post


Link to post
Share on other sites

Hey there,

just in case anyone is still looking for a solution, please have a look at this tool:

www.orbolt.com/asset/VDN::stickypointsdeformer

Cheers,

V.

Edited by Valerio Di Napoli

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

×