Feedback

What's your question?

By: [ Admin ] Asked from India

How do I make a maya shader that will transform a 3d texture with every particle?

In have tried to make a particleSampler that feeds the placement matrix of a 3d texture in order to make the texture move and rotate with the particles in a maya software render. I couldn't make anything happen and I don't think I've seen it done. I'd like to use it for example to try to make thick billowing smoke (and other things which can't be faked with an animated fluid texture). It's pretty easy with renderman and probably other renderers. So how can it be done in Maya?

Edit - Smoke was a bad example -- what I really want to do is attach any solid texture, for example a planar projected checker texture, and have it transform with every particle independently. The texture should translate with the position of the particle It could have scale driven by radiusPP for example, and rotate using per-particle rotations that are calculated in an expression. Think of it like instancing the texture placement. Basically I can generate a transformation matrix for every particle and I would like to apply that transformation to the texture transformation.

Cheers

Add comment viewed 759 times Latest activity 7 months ago

or Cancel

2 answers

  • 1

mark spevick [ Editor ]

Check out these mel scripts they do as you ask.

http://petershipkov.com/development/overburn/overburn.htm

There also was some mention of how to work out the correct speed for the 3d texture(depending on noise type) but I cannot recal where I saw it

Hope this helps

NN comments
julian
-

Thanks Mark, I played with overburn before. Its pretty cool for smokey stuff but it doesn’t do what I’m after. I’ve edited my question to be a bit more specific.

or Cancel
  • 1

manny [ Editor ]

NN comments
julian
-

Thanks for the link Manny. I was interested to see the “local” switch, but it didn’t work with my particles. The texture just disappeared altogether when I turned on local. Also it would be difficult o know how to specify rotationPP. I’ll persevere anyway. I’m beginning to think I could write a node (or expression) that will have access to positionPP, myRotationPP, and radiusPP through a particleSamplerInfo, do the matrix calcs and override refPointObj on the projection node. That could work maybe….

or Cancel