Community
Bifrost Forum
Welcome to the Bifrost Forum. This is the place for artists using Bifrost to ask and answer questions, browse popular topics, and share knowledge about creating effects procedurally using Bifrost. You can also visit the Bifrost Community on AREA to download an array of ready-to-use graphs, read Bifrost news and updates, and find the latest tutorials.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MPM fibers collide constrained issue?

10 REPLIES 10
SOLVED
Reply
Message 1 of 11
PhilRadford
749 Views, 10 Replies

MPM fibers collide constrained issue?

Hi,

 

one for the devs here I guess. Using mpm fibers when I switch off collide constrained on a constrain mpm node I seem to get a double 'un solved/ un simulated' set of fibers. See images. When the strands are extruded it also shows up (obvioulsy)

 

regards

Phil

10 REPLIES 10
Message 2 of 11
stamatk
in reply to: PhilRadford

Hi @PhilRadford 

 

It's a bit difficult to tell what's going on without first understanding the setup.  Which geometry are you using as constraint and which is the collider?  If you could share a scene it would be super helpful.

 

Thanks!
Kosta



Konstantinos Stamatelos

Bifrost FX Product Owner and Designer

Message 3 of 11
PhilRadford
in reply to: stamatk

No problemo

Message 4 of 11
PhilRadford
in reply to: PhilRadford

Wouldn't allow me to attach here, trying again, only 119kb - I am getting an error.

The attachment circular strands.mb content type (application/octet-stream) does not match its file extension and has been removed.

Message 5 of 11
mspeer
in reply to: PhilRadford

Hi!

 

Please ZIP files first.

Message 6 of 11
PhilRadford
in reply to: mspeer

Gotcha, here you go !

Message 7 of 11
stamatk
in reply to: PhilRadford

Awesome thanks!

 

So from a quick glance at your set up:

 

- Make sure you don't connect both the output from "make_mpm_fiber" and the output from "constrain_mpm" into the sources of the simulate. This means you are creating two sets of strands, one that is constrained and one that is not.  All  you need is only the output from the constrain_mpm.  

 

- Currently the constrain_mpm node only supports the bounding box or bounding sphere of the input geometry, not the exact input geometry.  So in this case, although you are trying to constrain where the strands meet the the ring, it's actually constraining inside the ring too. This means, the entire length of all your strands are constrained inside the bounding box of the ring  

 

What happens when collide constrained is enabled, is it forces collisions with points even if they are constrained, so when your sphere comes down, it still displaces the strand points even though they are constrained.

 

We do plan to add support for exact geometry for constraints in the future.

 

Sorry for the inconvenience, hope this helps.

 

Cheers,

Kosta

 



Konstantinos Stamatelos

Bifrost FX Product Owner and Designer

Message 8 of 11
PhilRadford
in reply to: stamatk

Firstly thank you for your time in looking into this. Did you also have issues at frame 13?
The double strands only seems to happen when the constrain is set to collide constrain (or off, I cant remember) . Actually I have created quite a few fibers set ups now and having both fiber source and constrain connected to simulate mpm sources hasn't caused a problem until this update but its a good shout to move away from that work flow.
Good to know about more constrain shapes and the possibility of using actual meshes is coming that will be really handy and to be honest when I saw bounding box and bounding sphere in the constrain settings it did give me a clue to that but I chose to ignore .
Fibers is mega powerful, when it works properly it will be awesome. For now I will use some work arounds .

One other thing, kind of related... Any chance we might get a create strands from 'face normal' so that we only get one strand per planar surface instead of the 4 strands per planar we currently have ? 

 

many thanks

 

Phil

Message 9 of 11
stamatk
in reply to: PhilRadford

Hey @PhilRadford no problem,

 

The double strands happen because of the double connection to the simulate compound, they have nothing to do with the constrain_mpm. They are overlapped onto one another so you don't notice them until one is affected by the constraint collision and the other is not.  

 

I do notice the slow down on that frame, I believe it's because the solver is struggling between constraining the points and having them pushed by the force of the collision - these two forces contradict each other.  

 

As for the face normals, I will suggest it to the team, thanks!
Kosta

 

 



Konstantinos Stamatelos

Bifrost FX Product Owner and Designer

Message 10 of 11
jonah.friedman
in reply to: stamatk

Hi Phil,

 

I made a quick graph that does strands along face normals. 

 

strands_along_face_normals.png

I could do this quickly because:

  • Update mesh normal already creates per-face normals, as its first step. 
  • I updated that part of it to also compute the face center, which is simpler and happens in the same loop over each face. 
  • After that, I build a point cloud from the positions and normals from the faces, and then use trusty old create_strands_along_normals. 

Hope this is helpful both to solve your problem and as a code example for how to iterate the mesh! 

Jonah Friedman
Bifrost Product Manager
Message 11 of 11

This is Epic, thanks Jonah !

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report