Hi Ralph,
It is possible, but if the three sequences have intersections, they will blend their data, so using Material IDs might be a bad idea as each triangle in the final mesh would have to pick a single integer, resulting in possibly jagged edges.
The better approach is to use Blend Materials controlled by a Vertex Color channel’s components. So you have R,G and B channels in a Color, and if you assign a Vertex Color channel of Red to the first cloud, Vertex Color channel of Green to the second and Blue to the third, you could then create two nested Blend Materials. In the first Blend Material you can put the Materials of the first and second systems and control their blending based on the Green channel (when it is 0.0, the first particle’s material should be used, when it is 1.0, the second), then nest this into another Blend where you control with the Blue channel - when it is 0.0, the first Blend material will be used, when it is 1.0, the third particle system’s Material will be used.
Setting the Vertex Color channel can be done using a Krakatoa Magma modifier (if you don’t have Krakatoa at least in Evaluation mode, you should get it - it is free).
Here is how it looks:
*I took a simple RealFlow simulation and loaded it in a Krakatoa PRT Loader
*I cloned the PRT Loader 2 times to create 3 copies of the same simulation.
Frost_BlendMaterials_PRTLoaders.png
*I then added a Krakatoa Magma modifier to each of the three PRT Loaders, and set the flow to Red, Gree or Blue output as Color:
*In the viewports, I got the 3 PRT Loaders showing the Color set by Magma:
*I created a Frost (Zhu/Bridson mode) from the three PRT Loaders
*I then went to the Frost Object Properties and enabled Vertex Color Display with Shaded option turned on:
*Now I created a Blend material with a reddish Standard Material set to Specular Level 100, Glossiness 10 in the first slot, a greenish material with SL 100 and Glossiness 50 in the second slot, and a Vertex Color Map set to Green channel controlling their blending.
*Then I created a second Blend Material that took the first Blend as first input, and a bluish Standard Material with a dark/light blue Noise Map in its Diffuse slot and no Glossiness as the second input. I connected another Vertex Color Map set to Blue channel to control their blending:
*Now I rendered the scene (as Blend Materials do not show up in the viewports), and got the blending of 3 unique materials as I hoped:
How does this compare to masking using the Integer MtlIndex channel?
*I added a MtlIndex channel output to each of the three Magma modifiers to set the PRT Loaders to 0, 1 and 2:
*I then created a Multi/Sub Material with the reddish, greenish and bluish materials from my previous test in the 3 slots and assigned it to the Frost object.
*In the Frost object, under “Material” rollout, I changed the drop-down list to “ID from MtlIndex Channel”.
*The viewport now showed the 3 materials in the scene, with individual faces getting the predominant material:
*Rendering produced a similar result, masking the materials on the faces according to the MtlIndex of the closest particles: