here you see the command in Maya MEL, it sets the opacity of the particles in a certain distance from the camera. It works well and I
got the result working. But can somebody break it down into edible pieces so that I could find it out far better!!!!! THANKS
"vector $camPosition = <>;This line probably didn't copy correctly from your code. It probably has some coordinates on the right side, correct? Like = < < 1, 2, 3 > >? The brackets seem to get interpreted as HTML tags by the COW.
Anyway, this line is setting the value of our first variable to be equal to a point in space, which I assume is the position of your camera. If your camera moves, this won't work anymore.
vector $particlePosition = dirtParticle.worldPosition;This line sets our second variable to be equal to the position of the particle.
float $distance = mag( $camPosition - $particlePosition);This line finds the difference between those two vectors, which will itself be a vector, and then finds the magnitude of that vector (i.e. the distance between the two points in 3D).
float $opacityDepth = 1 - linstep(0,50,$distance);"Finally, this line sets the value of the '$opacityDepth' variable based on the distance calculated in the previous line.
The linstep function goes from 0 to 1 as the value of '$distance' goes from 0 to 50. Used on its own, it would make the particles transparent when right on top of the camera, and change to fully transparent as they get farther away, to a maximum of 50 units. By using '1 - linstep' this gets reversed, so instead the particles are visible next to the camera and become transparent as they move farther away. (I'm assuming that '$opacityDepth' is then used to affect opacityPP in a proportional way.)
Hope that helps. You can also look up all these concepts in the Maya documentation.