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 doesn't care about velocity?

5 REPLIES 5
SOLVED
Reply
Message 1 of 6
darioOrtisi
406 Views, 5 Replies

MPM doesn't care about velocity?

Hi all. I have a sphere, with animation deforming it like explosion. I want add a mpm granular snow or snad and take the velocity to move away the granular. But with velocity to 1 or 500 my sand still there moving only by gravity.

There is something that i cand do? I make the sphere as colider and the granular particles move, but i will like to use velocity if it possible, without extra calculation by collider.

Thanks

5 REPLIES 5
Message 2 of 6
Aslan.Jafari
in reply to: darioOrtisi

Hi 

Unfortunately MPM doesn't compute the objects velocity internally. It will query the existing point_velocity to compute the new velocity based on the input inherit value.

Objects coming from DG (Maya in this case) do not have the point_velocity by default

no_velocity.png

 

You may use the compute_velocity node to generate the point_velocity needed for your simulation.

point_velocity.png

 


Aslan Jafari
Sr QA Analyst
Message 3 of 6
darioOrtisi
in reply to: Aslan.Jafari

thanks @Aslan.Jafari 

This is what i did. but unfortunatly it doesn't work. On the image i offsetting temporarly the deformed mesh for the screenshot. The sand go down by gravity nothing changes by velocity.

compute_velocity_mpm_sand.PNG

Message 4 of 6
Aslan.Jafari
in reply to: darioOrtisi

Is it possible for you to share the scene file?

 

I can only imagine the inherit velocity not working in a scenario where explosion and sand simulation both start on frame one. 

In this case, compute_velocity can not generate the velocity needed on frame 1. It needs to compare point_positions in two different frames to compute the velocity. If sand simulation is starting on frame 1 and has an end frame of 1, it will pick up zero as the velocity (velocity on frame 1 is zero), therefore multiplying zero by the inherit_velocity value and applying it to the only frame sand is being generated on.

 

Solution 1: start simulating sand on a later frame than the explosion (1 frame offset)

Solution 2: changing the end frame on source_mpm_sand to a greater frame than start frame


Aslan Jafari
Sr QA Analyst
Message 5 of 6
Aslan.Jafari
in reply to: Aslan.Jafari

I have to post a correction. MPM system does compute velocity internally and will apply the inherit velocity correctly if the start frame and end frame are not the same value. It will not compute velocity on single frames which by default is frame 1 to frame 1. in order to compute the velocity and inherit velocity, emission must be greater than 1 frame.

In your original simulation you may change the end frame to 2 and the resulting simulation should apply the proper velocity based on the input inherit_velocity.

 


Aslan Jafari
Sr QA Analyst
Message 6 of 6
darioOrtisi
in reply to: Aslan.Jafari

Thanks.

I'll do a try and off course i'll send the scene as soon as possible.

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

Post to forums