Jump to content

Recommended Posts

Hi everyone 

I have an RBD fracture that works fine however the texture doesn't stick to the object once it fractures and moves. 

I tried several things such as copying the uv attribute however it still doesn't work. 

Any ideas of how can I make it work? Appreciate any help !!!!

I attatch my file and a screenshot of my nodes 

many many many manyyy thanks in advance

Julia 

Screenshot 2021-03-29 130746.png

frac4_foru.hipnc

Share this post


Link to post
Share on other sites

Heyo,
I don't think you'll need to transfer the UV's to the simmed geometry at every frame. Try moving the "uvtexture2" node to be right below your "rbdinteriordetail1" node and remove the attribute copy setup.

I also noticed that your "uvtexture2" node is set to "Perspective from Camera" which is going to generate UV's by projecting UV space from the camera's view onto the geometry. This does not generate very nice UV's for your inside faces or anything besides the stuff directly facing the camera. I made a quick version where I simply unwrapped the geometry right before the boolean fracture. Since you are unwrapping the cutter planes used in the boolean fracture the UV attributes given to the cutter planes are transferred over to the inside faces. This way both the inside and outside faces have an unwrap by the time you reach the "rbdinteriordetail" node. I can't vouch for it being the best and most professional unwrap you've ever seen but it seems to be at least usable. If you want an even better layout you could even add a "uvlayout" node after the boolean fracture or after the interior detail nodes to further improve the uv layout.

Hope it helps!

frac4_foru_mnb.hipnc

  • Like 2

Share this post


Link to post
Share on other sites

Hi Martin 

First of all thank you so much for all your help! 

I tried what you told me and I can see the uvs work fine when I use the Uv set up you created. However the textures still slides and I am just not sure if its a problem with the uvs anymore... That is why I thought I had to copy the uvs at every frame. I attatched a video of the problem...

I don't have any file or anything on my material. I am using the one on the screenshot. It has a rest position... Is't it supposed to make testures stick to objects? 

I just don't know how to solve this... 

In any case, thank you very much for helping me. Its very supportive!! 

Julia

 

 

test.mov

Screenshot 2021-03-30 125939.png

  • Like 1

Share this post


Link to post
Share on other sites

Hey Julia,
The reason why your textures/noises are swimming is not because of the UV's but because of your "restpos" node. That node is ment to calculate restpost by taking in a static P attribute. By default it is currently just fetching the "live" P that moves every frame, hence the swimming. This can easily be fixed if you make a "rest"/"rest position" node and place it right below the "uvtexture" or "rbdinteriordetail" node and then replace the "restpos" node in your shader with a "bind" node and then just write "rest" so the bind node fetches the rest attribute created by the "rest"/"rest position" node.

Alternatively, you could probably also just replace the "restpos" node in your shader with a bind and just fetch the "uv" attribute that we have setup already, but this might limit the noise somewhat.

Hope that helps!

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Yeaaaaah! super fixed

I finally put the rest position node and the bind export on the shader with Type in Vetors calling "rest". And it worked!

Really appreciate everything, now I also get to understand everything much better. 

Thank you very very much for your help Martin :) 

Julia

  • Like 1
  • Thanks 1

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

×