Jump to content

Edge Displacement on fractured pieces


Tato

Recommended Posts

  • 3 weeks later...

Wow. Nice to see this topic!

 

The question on first page was about my setup. I did not see this topic before, and I just surprized why nobody noted me about this topic because I am always open to explain any of my techniques.

 

It is just very cool research about several steps displacement for curved surfaces. I did not check current setup of Rayman, but I can suppose that it would be useful to calculate width of each step by original polygon size. Because each step means one access to pointcloud so we want to minimize that.

 

Also I use quaternions instead of matrix because it is vector4 versus vector9 or 16 for matix

 

Please do shed some light on your approach to this! :)

Link to comment
Share on other sites

  • 1 month later...

Inside displacement wrangle there is a multiply attribute as well as noise function that has to be tweaked to make your displacement works correct.

Another trick you can do is to scale matrix vectors to be 100x times larger, so when noise is computed it will be transferred back to small scale and you may use the same noise function this way.

Link to comment
Share on other sites

  • 2 months later...

How would I go about using this with wall of separate bricks? I've tried playing with it a few different ways but it always has issues.

 

I've attached a file with some Geo locked in a Null. Each brick is assigned the variable "class" and only certain bricks are fractured (these have the "fracture" variable)

 

I would also like to use this on an inner and outer wall ( The Wall geo is locked in a Null as well)

 

The geo is a bit messy but it's more for proof of concept than final product

SOP_SHOP_EdgeDisp_v12_Test.hipnc

Link to comment
Share on other sites

Probably, not the best case to use with this setup, but still, you can remove most of the artifacts, using more iterations and smaller displacement multiplyer.

Also, don't forget that you need to connect unshattered geometry to boundary input, and then cache file nodes.

SOP_SHOP_EdgeDisp_v12_Test_Fix.hipnc

  • Like 1
Link to comment
Share on other sites

Thanks rayman

 

Which one of the multiplier variables should I be changing exactly? I've plugged a pre-fractured and post fractured set of bricks into the network and it is definitely better than before.

 

As the bricks will be simmed without displacement, and the sim exported as points and applied back onto the geometry, would it be best to use SOP displacement on the first frame and write that geo out and have the sim data copied onto that geometry? , or should I use a displacement shader which would do displacement at render time each frame (the debris does fly some distance away from the rest position)

 

I have all my destruction and secondary sims sorted out, but this is my first time delving into displacement, and I would like to get a more realistic look to my fractured debris rather than the typical straight edges that Voronoi gives you by default

SOP_SHOP_EdgeDisp_v12_Test_2.hipnc

Link to comment
Share on other sites

  • 2 weeks later...

I'm trying to make my own version of this as I wanted to simplify the SOPs version (i'm ignoring uvs for now). I think my method could work and if so it would be a lot simpler - however equally I may be completely wrong!

 

I'm transferring the (un-smoothed) normals from the the outside to the inside faces then using this as a vector mask for the displacement, however this step doesn't quite seem to be working so i'm losing the shape of the outside geometry.. I can always re-project the points back onto the bound geometry at the end but i'd like to avoid this if possible.

 

(The right stream of the second switch is taken from bits of pavels file and fxrod's updates and the left stream is my method)

 

I'd really appreciate it if someone could take a quick look! I think i'm close...!

 

Cheers,

Mike

fracture_detail_v4.hip

Edited by michaelb-01
Link to comment
Share on other sites

Ah I fixed that issue, I had to use an absolute on the flat vector in the displace vopsop. I think this method is quite simple now? It may be oversimplified as I haven't tried on many examples or curved surfaces, uvs etc. But I would be interested to see what people think, and if i'm missing something obvious??...

 

Here's the slightly newer version:

 

 

fracture_detail_v5.hip

  • Like 1
Link to comment
Share on other sites

Ah I fixed that issue, I had to use an absolute on the flat vector in the displace vopsop. I think this method is quite simple now? It may be oversimplified as I haven't tried on many examples or curved surfaces, uvs etc. But I would be interested to see what people think, and if i'm missing something obvious??...

 

Here's the slightly newer version:

Michael, i just tried your method with a sphere / curved objects, looks like its working great, only thing you have to change is instead of a subdivide to just use a divide for spherical/curved objects because of the rounded interior faces, then apply a subdivide after to increase that resolution. Use bricker polygons and you're good to go.

 

Great Work!

 

-A

Edited by A. Morales
Link to comment
Share on other sites

  • 3 months later...

It's been a while since last input, I am reading through this thread for several days. Rayman you are really amazing. To be honest I am still a newbie and  can't make sense half of the code you wrote. Just wonder if you did any more experiment with this setup? And last time you said you fixed the normal calculation of the exterior, is there still chance that you can share some hip example with us?

Link to comment
Share on other sites

It's been a while since last input, I am reading through this thread for several days. Rayman you are really amazing. To be honest I am still a newbie and  can't make sense half of the code you wrote. Just wonder if you did any more experiment with this setup? And last time you said you fixed the normal calculation of the exterior, is there still chance that you can share some hip example with us?

Hi!

I actually didn't managed to fix the displaced normals inside the wrangle, but I made a hybrid solution masking normals produced by displace along normals vop and the ones imported from the boundary geo. Not the best solution but it works. Probably I should check how exactly displace along normals is implemented and will try to use something similar as it will be more straightforward than current setup.

I will attatch the hip later.

 

Cheers!

Link to comment
Share on other sites

Hi Pavel,

Thanks for your quick reply. I saw your latest add fracture detail demo on vimeo, which looks really great. I am working on my graduate thesis and really hope can get better detail for my fracture pipeline. Your files really helped me a lot. Also can't help to notice you are the author of RBD stress fracture (H14) with Time Machine too. The whole class here are trying to figure out how it was done. What you achieved are way beyond what we have learned in school haha. Thanks again and looking forward some new hip to dig in. :)

Edited by rGarfield
Link to comment
Share on other sites

After checking Pavel fantastic file, I think that at this point SESI should come with a couple of digital asset to make this much easier. As nice as Pavel results are, I find the method very convoluted and non-streamlined.

 

PS: by the way, in order to get Pavel file working I had to change the shader the Surface Model node with my own. Otherwise it kept on giving errors on H14.

 

Should I RFE this?

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...

I got this partially working, or at least it looks like it's working at SOP level, however I cant seem to get this to render with the shader. I keep getting a black output render. I fixed all the errors I got in houdini 14, it was mainly complaining about the surface model. Any ideas how this might be able to work in H14

Link to comment
Share on other sites

  • 1 month later...

After checking Pavel fantastic file, I think that at this point SESI should come with a couple of digital asset to make this much easier. As nice as Pavel results are, I find the method very convoluted and non-streamlined.

 

PS: by the way, in order to get Pavel file working I had to change the shader the Surface Model node with my own. Otherwise it kept on giving errors on H14.

 

Should I RFE this?

What did you change in the shader?  I put down a new Surface model but it still renders all black.  H14.0.361

 

EDIT: my mistake, missed the bound geometry path in the shader.  Awesome file.  Thank you

Edited by loudsubs
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...