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: 

Arnold volume material not showing up on MPM particles

26 REPLIES 26
Reply
Message 1 of 27
davide445
1043 Views, 26 Replies

Arnold volume material not showing up on MPM particles

Trying to render my particles trough an aiStandardVolume material

davide445_0-1635077628751.png

The result show always the standard Lambert material

davide445_1-1635077804576.png

As far as I know the default material cannot be removed, and need to be automatically superseded from the assigned volumetric material.

26 REPLIES 26
Message 2 of 27
Stephen.Blair
in reply to: davide445

I think you have to give the particles a non-zero step size
https://docs.arnoldrenderer.com/x/TBJSAw



// Stephen Blair
// Arnold Renderer Support
Message 3 of 27
davide445
in reply to: Stephen.Blair

A bit lost. Didn't find where in fact to assign step size.
Using set_Arnold_volume_settings node didn't change the behavior

davide445_0-1635192988626.png

Setting the volume material directly in the viewport seems to bypass Bifrost and change something, but again didn't find where in fact to set this parameter.

Message 4 of 27
mspeer
in reply to: davide445

Hi!

You need to insert set_Arnold_volume_settings into your existing network, so insert it before or after assign_material and then set Step Size to a value > 0.

You also need to connect the aiStandardVolume1 material to the "surface material" input.

 

Message 5 of 27
davide445
in reply to: davide445

davide445_0-1635246126515.pngdavide445_1-1635246182090.pngdavide445_2-1635246224132.png

 

@mspeerapart this got the same result also connecting simulate_mpm:volume to set_Arnold_volume_settings:volume

Message 6 of 27
mspeer
in reply to: davide445

Hi!

 

That's not what I suggested, maybe I better show a screenshot.

part_mpm_vol.gif

 

Message 7 of 27
davide445
in reply to: mspeer

davide445_0-1635257041094.png

With your same parameters, standard volume settings in Hypershade

davide445_2-1635257666132.png

 

davide445_1-1635257594482.png

davide445_3-1635257692938.png

Result

davide445_5-1635257730335.png

In outliner bifrost node it's still associated with Lambert material, not sure if this is correct

davide445_6-1635257833977.png

Also I'm doing MPM snow sim, not sure if this need to change something.

 

Message 8 of 27
mspeer
in reply to: davide445

Hi!

Delete the lambert2 material and then try rendering again.

 

What Maya and Bifrost version are you using?

Please provide a scene-file for further help.

Message 9 of 27
Bruce.Lee.
in reply to: davide445

I think this is a very serious bug. Moreover, this bug has been there for the last year. The volumetric material of particles in the Bifrsot diagram cannot be rendered correctly. The solution is to give Maya's DAG node volume material.

Message 10 of 27
davide445
in reply to: davide445

@mspeerLambert seems to be the default material assigned to every asset so removing it produce this result

davide445_0-1635322382597.png

Using Masya 2022.2 and Bifrost 2.3.0, updating to 2.3.1 result the same.

Looking at bif14 associated initialShadingGroup I didn't see any volume shader or material, not sure if this is correct and all need to be managed trough Bifrost, I have already tried here to remove the lambert and add a volume but with no results, maybe I'm doing it wrong.

davide445_0-1635323194457.png

Attached a demo scene, stim start at frame 1.

@Bruce.Lee.Not sure what you mean with "give Maya's DAG node volume material", if it's something I can do in my scene or it's an Autodesk task.

Message 11 of 27
Stephen.Blair
in reply to: davide445

The MPM snow throw example.

In the Arnold Render View:

  • On the right, particles rendered with a utility shader
  • On the left, particles rendered as volumes (by setting the step size)

mpm_particles_as_volume.jpg



// Stephen Blair
// Arnold Renderer Support
Message 12 of 27
Bruce.Lee.
in reply to: Stephen.Blair

Maybe this is where the bug is. I have not tried to connect the volume material to the surface_material port. The volume material should be connected to the volume_material port. When connected to the volume_material port, the rendering is white.

Message 13 of 27
syracoj
in reply to: davide445

Aslan reminded/said points_to_volume should work. I tried it. Is this what you need?

 

doesPointsToVolDoTheJob.png

Message 14 of 27
mspeer
in reply to: davide445

Hi!

 

Here are multiple solutions:

 

1) (Recommended) Just connect again "lambert1" to the Surface Shader input of "initialShadingGroup".

Then it works, cause lambert1 can be overridden, but lambert2 not.

 

2) An other option would be to break the connection between any Bifrost node and the initialShadingGroup in Node Editor.

 

I also would recommend to convert the older graph to the newer format by using

Edit -> Convert Graph

Message 15 of 27
davide445
in reply to: davide445

@syracojin this way works in the viewport using standard aero preset, increasing the desnity and setting emission in density channel

davide445_1-1635364765729.png

but didn't work in Arnol render

davide445_2-1635364891717.png

The goal is having something like this, produced using fog shader with increased density (in Houdni). If nothing else work (but suppose there will be a way) an option will be export the sim in vdb and render in Houdini.

 

@mspeernot sure why this approach works, if your approach is more "regular" will try this also

Message 16 of 27
mspeer
in reply to: davide445

Hi!

The problem in your scene is that you changed the default material connections in Maya.

If you revert this to the default setup my solution will work.

That's all you would need to do in your scene to make it work with your current graph.

connect_lambert1.gif

 

Message 17 of 27
Stephen.Blair
in reply to: Bruce.Lee.


@Bruce.Lee. wrote:

Maybe this is where the bug is. I have not tried to connect the volume material to the surface_material port. The volume material should be connected to the volume_material port. When connected to the volume_material port, the rendering is white.


Yeah, a bug.

On the one hand, Arnold doesn't have a surface port and a volume port. It's just one shader port, and you can connect whatever...a surface or a volume.

But on the other hand, for usability, the translator should take care of it. I mean, we already do that for the shadingGroup node in regular Maya.

When you connect something to the volume port, no shader is applied to the object (by the time it gets to Arnold). 



// Stephen Blair
// Arnold Renderer Support
Message 18 of 27
davide445
in reply to: mspeer

In my complete project I didn't find in Hypershade the nodes you show, this is what I got, probably the result of my many attempts without really knowing what I'm doing

davide445_0-1635678741891.png

 

Message 19 of 27
davide445
in reply to: syracoj

Regarding the point to volume solution I tried to increase the fog density from 1 to 10 but still got this wrong rendered color

davide445_0-1635680268946.png

This is the last problem I'm facing, will be good having a hint if something is wrong i.e. in my standard volume shader settings

davide445_1-1635680334221.png

 

Message 20 of 27
Bruce.Lee.
in reply to: davide445

There are two ways to solve this problem. One is to directly assign materials to nodes in accordance with Maya's material flow. The second is to import the material into the node graph according to Bifrost's process.

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

Post to forums