This is my personal approach to the lava behaviour, although there are several types of lava I´ve choosed a very high viscous type. The most important in the lava simulation is combine both motion and shading. In this case I used Render Kit to read the implicit parameters in the particle bin files. I started doing some tests with a simple simulation of a draining drop I had simulated yet, the settings are viscosity to 60 and surface tension to 560.
The previous example has the vorticity computed to use it later. Although the simulation is pretty simple it gives you the opportunity to play with several parameters in the shading, velocity, pressure, vorticity, etc.. You can download the shader to explore it in depth, I have to say it could be improved.
The most complex was to get a good shading network that allow me to control the lava look without to change a lot of parameters, for this renders I used a combination of texture and vorticity data from particles bins.
These are several tests I did…
…and the one I choosed a little bigger.
The next step was to apply this settings to a lava flow type simulation. The simulation is not very impressive, but enough to demonstrate that is very important the way you simulate the fluid, comparing with the first example the look is different due to de simulation, but the shader is the same.
Next, both RealFlow simulation and render videos. I added a roughness map to the slide surface to break the shape in the fluid.
I was doing some R+D about solar filaments with RealFlow, you can find very cool references at this website http://www.helioviewer.org/.
This is my personal approximations to this kind of phenomena. I have simulated this using Fibers emitters and some scripting lines to emit from them.
The movement of the fibers is achieved thanks to a Noise and Attractor Daemons, these make collide with the sphere. You can increase the number or particles make the sphere emit more particles from vertexes.
I used a Simulation Event script to get emitted particles from the particles driven by the fibers, you can download the script and the scene from here.
Scripting is, in most of the cases, the way you could get more control over the simulation and the most spectacular effect.
Due to several requests I am going to explain the steps to get the correct results in the scene provided:
To obtain the correct results is needed two simulation steps.
- Simulation Step 1:
- Once loaded the scene, Activate and make visible the Fibers node.
- Deactivate script from the Simulation Event panel switching off the scripts.
- (Optional) You can retime this simulated particles if you see they move too quick.
- Simulation Step 2:
- Make sure you have loaded in the Binary Loader the particles simulated in the previous step.
- Deactivate and make visible the Fibers node.
- Activate the scripts from the Simulation Event panel switching on the scripts.
I hope this helps.
Having a look to this reference video for a possible project I get to work on it.
At the beginning I tried to get something similar in RealFlow using a simple set up with filter daemons and supported by some python scripting which generate some trail particles, the main concept was to get three layers of fluids, water, snow and vapour to render them later using Render Kit.
Once finished the simulation I started to test with Mental ray/Render Kit using Mesher, Particler and Cloud in Maya. Although I did not spend a lot of time on the vapour particles to get a good behaviour as mist I think it could get better results transferring the particles to a Mist Domain with a high-resolution to obtain a good volumetric effect.
The fact is you can get really good results using Maya Fluids and RealFlow simulations, in this example I used two layers of particles rendered by using RFRK and another layer using the snow particles from RealFlow as Fluid emitter in Maya.
I want thanks to Florian Koebisch from NextLimit forum his advises about Maya Fluids.