Noob here. Trying to get a look that resembles glitter tossed in the air. Any tips? I can’t seem to get any sort of sparkle on the particles. I’ve tried the various modes with specularity but I must be doing something wrong. Mostly phong doesn’t show in RGB unless I do something like a volume, and the others I haven’t had any luck getting the glitter effect. Any tips? Thanks!
Hi!
The non-Isotropic shading models require some additional channel data that you are missing.
For example, Phong shading requires a Normal channel. This is why PRT Volume works - it generates a Normal channel out of the surface normal at the closest point of the surface, so all particles have well-defined Normalw. Regular Maya particles typically do not have the Normal channel.
But you can define a Normal channel by using the Channel Modifiers, or, in the current Beta, using the Magma channel editor.
For example, a simple Copy Channel modifier that copies Position into Normal will produce correct Phone shading, esp. if the particles are around the world origin, since their Position vectors (from 0,0,0 to the particle position) will define the direction of the Normal for the shading.
In Magma, a VectorNoise operator with InputChannel>Position as input writing to a Normal channel Output node would produce random Normals in 3D space, and cause sparkly effects when the particle is moving.
The real trick for sparkling particles is to make them rotate (spin) and use the orientation of the particle as the Normal to produce gradual changes in its shading. I think only nParticles provide rotation controls, but I could be wrong. I will have to look deeper into the Maya docs to figure out what its particles can do.
Thanks so much! I’ll give it a try
Cool, so I can see Phong now. Super sweet. So now the trick is to get the nParticle rotation into the Normal. I can have nParticles calculate rotate, but choosing Orientation doesn’t seem to work. Any ideas?
It looks like right now we are not mapping rotationPP to anything within our system. I have asked one of our developers to take a look at this and see if we can do something about it ASAP. Thanks for the feedback! Stay tuned…
Here is a very quick experiment where I used the Index of the particle to produce a pseudo-random value with a VectorNoise operator in Magma, which I then output as Normal and rendered in Phong Surface shading mode:
thinkboxsoftware.box.com/s/5a0xrqh6ggyj1luylq46
Here is the flow that generated the Normals:
Cool, thanks for that. We’ve managed to get the nParticle normalDirPP exposed and we’re piping in different values. I like the Magma solution too so we can override the normal values. Thanks again.
Note that the flow should normally use the ID channel and not the Index channel. So if particles die and new are born, the values remain consistent on the remaining particles.
But the ID channel was kinda broken (we fixed it today), so I had to use the Index as alternative.
The Index is an internal counter of the order of particles coming from the stream. If particles are added or removed, indices could change. ID is based on the particleId channel of Maya and should remain the same for during life of the particle.
Just so you know…