LOPs edit physics not working as expected. (concavity)

   1081   2   1
User Avatar
Member
24 posts
Joined: Nov. 2019
Offline
Hi,

Today I was looking at this video for sidefx's youtube channel:
https://youtu.be/rpQg22GbMwk [youtu.be]

Tried to stuff some objects inside a container (for example, spheres inside a bucket)

And the collisions using the edit node were wrong, the container was not concave, even setting a custom sim proxy.

Things I tried before posting:

Replicate the set up in different versions (19.5.493, 19.5.368, 19.5.403) and found the same results.

Tried not using USD files from the solaris demo files, and instead a default usd pighead and a sop sphere with a clip and extrussion, same result.

Using different ways to import in lops assets. Stagemanager, reference nodes, asset reference.


Here is a scene with the setup.
Image Not Found



To replicate it, try moving the pighead inside the bowl, It will keep colliding before going inside.
Edited by RodrigoMartin - Feb. 3, 2023 07:12:59

Attachments:
LOPs_edit_concavityNotWorking.hipnc (111.1 KB)

Final Layout.
Skydance, Madrid.
https://twitter.com/RodrigoMartinKJ [twitter.com]
User Avatar
Member
710 posts
Joined: July 2005
Online
The default collision geometry produced by the Edit LOP is a convex hull. You can generate your own collision geo with the Simulation Proxy LOP. Setting it to Convex Hull with Decompose Each Connected Piece worked for me.

Attachments:
edit.gif (1.4 MB)
LOPs_edit_concavityWorking.hipnc (151.1 KB)

User Avatar
Member
24 posts
Joined: Nov. 2019
Offline
Siavash Tehrani
The default collision geometry produced by the Edit LOP is a convex hull. You can generate your own collision geo with the Simulation Proxy LOP. Setting it to Convex Hull with Decompose Each Connected Piece worked for me.
Wow, thanks! Houdini spitted me some errors but finally worked...

I needed to reload the usd chain to make the simulation proxy node work, when I added it and configures the same way as in your file, it didn't work, disconnected the top line and connected again and started working, spitting from time to time errors like this ones:

Traceback (most recent call last):
  File "E:\Program Files/Side Effects Software/Houdini 19.5.493/houdini/python3.9libs\edit\base.py", line 377, in wrapper_recordEvent
    return func(*args, **kwargs)
  File "E:\Program Files/Side Effects Software/Houdini 19.5.493/houdini/python3.9libs\edit\base.py", line 1348, in onNodeSelectionChanged
    self.handleDescriptorDNE(simgeo, selpath)
  File "E:\Program Files/Side Effects Software/Houdini 19.5.493/houdini/python3.9libs\edit\lop\base.py", line 521, in handleDescriptorDNE
    proxyowner = self.getAncestorSimProxyOwner(prim)
  File "E:\Program Files/Side Effects Software/Houdini 19.5.493/houdini/python3.9libs\edit\lop\base.py", line 234, in getAncestorSimProxyOwner
    parent = prim.GetParent()
RuntimeError: Accessed invalid null prim

But again, it worked! so thank you very much!
Final Layout.
Skydance, Madrid.
https://twitter.com/RodrigoMartinKJ [twitter.com]
  • Quick Links