Jump to content

Edge Displacement on fractured pieces


Tato

Recommended Posts

  • 5 weeks later...
  • 2 weeks later...

I just updated it for H15.

I spent 15 mins on this and didn't have the chance to test it properly so there still may be some problems left.

 

@akima : there is a parameter called Bound Geo on both displaceSOP and  wrangleDisp shader. If you still have any problems send me a PM.

 

Cheers!

Pavel

SOP_SHOP_EdgeDisp_v19.hiplc

  • Like 6
Link to comment
Share on other sites

I just updated it for H15.

I spent 15 mins on this and didn't have the chance to test it properly so there still may be some problems left.

 

@akima : there is a parameter called Bound Geo on both displaceSOP and  wrangleDisp shader. If you still have any problems send me a PM.

 

Cheers!

Pavel

Thanks for the hip file , 

iv test now in H15 and its working .

Link to comment
Share on other sites

Can anyone explain how to work these posted HIP files?

 

Let's start with v19.

 

I open up the file and see nothing. I press the L-KEY to layout the nodes and I dive into the simple_sim. The File Cache node is broken so I set it to Write Files and play the timeline to the end which bakes the data. I switch the File Cache node back to Read Files mode and it is no longer broken, it is reading the baked data.

 

This is where I am stuck.

 

I do have the dopnet1 network written out as a file, however, there is yet another file reference in the displaced_geo node looking for piecesTest_PRE_v01_$F4.bgeo. Where does that file data come from?

Link to comment
Share on other sites

The rule of thumb is : Press 'Save To Disk' on each filecache node moving from left to right through each geometry object in sop level.

So the order is :

1)simple_sim/filecache1

2)displaced_geo/filecache1

3)displaced_geo/filecache2

 

also I forgot to check 'Load From Disk' on displaced_geo/filecache1 which is not important, as this node is there only to make computations faster. Other two, especially  displaced_geo/filecache2, are much more important.

 

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

I'm having issues getting this to work with a test scene.

 

Firstly it seems to have problems subdividing the model at the "autosubd" node. I'm not sure why it's getting strange geometry as the geo looks fine going in.

 

When you attempt to preview the Displaced Geometry there are crazy spikes going off at all different angles and no displacement happening.

 

When attempting to render, there is no displaced geometry created at render time at all.

 

I am using a constraint sim in my DOP Network and the artifacts from the subdividing seem to have something to do with the constraints. The bad geometry seems to be where there are unbroken constraints but I am unsure how the constrainer geometry is even there at that point as it should not even be part of the bgeos being cached out.

Font_Crumble_002.hipnc

Link to comment
Share on other sites

Hey, man!

 

You can do several things to fix your scene:

 

First of all - when assembling pieces with assembe SOP - keep Inside group field empty, or it will split pieces before packing, and it will produce wrong results when displacing. As a rule of thumb I never use inside group, but this is just my workflow..

Its also good to ensure that each piece is fused , so switch 'switch_generate_name' node to 1. This will fix most of the problems.

About the subdividing - you can use bricker polygons option instead of subdivide node, or switch to OpenSubdiv Loop to subdivide them - not perfect but produces better results with this geometry.

I also found that computed matrices are not generated properly using Two Edges on Poly frame SOP, so switch to First Edge instead. Finally I updated the code to last version, because there was a bug that caused some other problems.

 

Btw I didn't tested it in motion, so there still may be some problems with matrices.

 

Cheers!

Pavel

Font_Crumble_002_FIX.hiplc

Edited by rayman
Link to comment
Share on other sites

  • 4 months later...

Hi, after trying to implement this technique, I don't manage to get my UVs correct on my displaced mesh. I managed to do everything whis is related to the displaced of the points and the matrix for my simulation, but my Uvs are still incorrect.

Can someone tell me what I did wrong?

Displace_fractured_edges_correction_uv.hip

geo_test.bgeo.sc

Link to comment
Share on other sites

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

I just spent all day (and a bit of yesterday) re-wrapping up my setup in this thread to handle uvs better. Everything is great when you do it gray shaded, but the second you want to do this in production, you run into a whole different world of problems. That's why setups get much more complicated. ;)   Uv's with multiple uv tiles and uv islands are not an easy thing to handle. So after fussing with a few ideas, I ended up just masking the displacement at the uv seams, and so far it works great.  

That being said, it would be cool if there was a better way to handle uv seams also on something like a vdb mesh. It's very tricky to fix certain situations. Does anybody know of a way to cut a mesh by a curve easily? I'm sure it's possible -- just haven't dived into it much yet this would solve some issues when re transfering uvs. You basically want to cut in edges so they line up exactly at the uv seams between the original and the upressed or vdb meshed piece. 

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

highres_fractured_block.jpghighres_fractured_pig.jpg

Tried another simple approach (I'm following this thread for two years, implementing different CVEX raytracing methods without great success) with SDFs. The idea is to use VDB point advection providing a good way to slide points on surface. The network is just a few standard Houdini nodes without extensive coding. It's working for round meshes by following curvature. It's also working for square meshes for some degree of quality ("smoothed corners" problem still there). It has no hardcoded noise pattern and allows for arbitrary displace. And it works quite well on test cases. It does nothing with UVs.

 

highres_fracture.hipnc

Unified noise control may be not very usable, splitting it on two nodes with separate controls over inner and edge noises may be handy.

Edited by f1480187
  • Like 4
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...