Maya 2020 fundamentals - modelling the real world
Get halfway through a model and find it's an unworkable mess? Can't add edge loops where you need them? Can't subdivide a mesh properly? If any of this sounds familiar check this course out.
# 1 16-06-2013 , 04:17 PM
Registered User
Join Date: Jun 2013
Posts: 4

Maya fluid as a light source?

I created a flame using maya fluids. I'd like to make it behave as a light source, so that it could influence the surrounding objects.
Is there any way to achieve that?

I remember watching a while back a video from Disney animation called "Interactive Lighting of Effects Using Point Clouds in "Bolt". It showed a way of achieving exactly this, but without a R&D team to rely on, this method is quite difficult...

# 2 16-06-2013 , 07:32 PM
EduSciVis-er
Join Date: Dec 2005
Location: Toronto
Posts: 3,374
If you have final gather on and use the incandescent property of the fluid, that should work.

# 3 17-06-2013 , 11:07 PM
Registered User
Join Date: Jun 2013
Posts: 4
Thanks for your answer, stwert.
IBut it didn't quite work for me. The light created with FG on is almost inexistent.

# 4 11-12-2013 , 11:23 PM
Registered User
Join Date: Dec 2013
Posts: 1
With Final Gathering you typically have to crank Primary Diffuse Scale way up in render globals, to get a decent effect, but it is still a flat post post effect that won't offer much accuracy or realism.

Another option involves MEL scripting. I've observed how Phoenix FD does its fluid lighting. They populate the container with point lights (up to a maximum of 64) with falloffs. It's a cheat that works as long as the container's relatively low and far away from illuminated surfaces. They have 2 modes where the lights are either randomly distributed through voxel space or "chases" areas of high intensity.

Similarly, it's possible to fill maya fluid container with lights. Commands are all there: "getFluidAttr" to read container dimensions and "fluidVoxelInfo" to parse individual voxel positions. Ideally you need one light per voxel with fluid color, temperature or incandescence going into light intensity and color. Render time will likely go through the roof with high voxel counts, but the results will surpass those of Phoenix where the light cap is set way too low.


Last edited by Julia Skiba; 11-12-2013 at 11:28 PM.
# 5 13-12-2013 , 03:26 AM
honestdom's Avatar
The Nurb Herd
Join Date: Oct 2007
Location: London
Posts: 2,381

"Interactive Lighting of Effects Using Point Clouds in "Bolt".

This sounds pretty old school, most things are raytraced in prman these days.
Which ever method you choose, it sounds expensive. Good luck. user added image

# 6 18-12-2013 , 05:14 PM
LauriePriest's Avatar
Moderator
Join Date: May 2003
Location: London
Posts: 1,001
If your only option is mental ray out of the box with maya you don't really have many options. Some renderers have EXCELLENT volume lighting support such as mantra or arnold where other renderers like prman (terrible) or mental ray (close but no cigar) don't have what is necessary for a complete solution.

Ideally you should be able to cast light from a volume or VDB directly from disk to solve both your direct and indirect lighting.

For example in arnold and mantra (and i'm sure others) you can give a light the result of a fire simulation directly and it will cast light and then render the volume normally for primary and secondary rays and it will do the right thing without the need for photon mapping or expesnive indirect lighthing.

What you probably should do:
Really your option is to convert your fire volume to a polygon object (unless mental ray can support volumes as geometry lights ) on every frame and use that mesh as a volume light ( not an incadecent source) then you can render your fire on its own and use that as an animated texture for a reflection card which isn't visible to primary rays.

A big explanation of why:

In mental ray you really don't want to use final gather due to how that is sampled, FG is sampled uniformly so you will need huge expensive values in order for a smooth result. Final gather is sampled uniformly and since you are using an incadecent object no kind of importance sampling can be used out of the box to make this process optimal.

A geometry light is different in that instead of providing an indirect contribution from some geometry / volume your just describing a volume / shape for a standard light. This means importance sampling will work and it will look good with just direct illumnation.

Also if you have a BSDF with a high glossy component you would expect the secondary rays (reflections etc) to calculate your volume shading accurately. Mental ray might do this but I can't see much information around to support that, if it doesn't you should use a reflection card which is very cheap to do and will make your set up much simpler.

Another method that works well, is cheap but more complex is to precalculate your shading of your volume element into another set of volumes (resulting in a density and rgb color volume set ) which can then be reflected with direct illumnation. Though doing this in maya is not trivial at all.

This technique above works well with prman which has terrible volume rendering so your only choice is to render your volumes in another renderer and provide a vdb to describe a volume light and another set of vdbs or reflection card for your direct glossy component.


FX supervisor - double negative
Posting Rules Forum Rules
You may not post new threads | You may not post replies | You may not post attachments | You may not edit your posts | BB code is On | Smilies are On | [IMG] code is On | HTML code is Off

Similar Threads