Is there a way to use a sprite sheet texture on the point sprite material of a particle system and animate the texture coordinates based on the particle age? even nicer would be to assign each particle point a “row” from the sprite sheet, and have the age of the particle increment the columns.
thanks for any suggestions.
i was hoping touchdesigner would have something like houdini’s mosaic sprites (youtube.com/watch?v=UYN9tZoTW6Q).
Apparently there is the texture3d node, which can combine images into a a type of stack. it seems like it would be easier to build the sprite animation as an image, rather then have td do it at runtime.
I did make a sprite sheet animator using a crop controlled by a wave and some math nodes. I still haven’t figured out how to have each particle point have it’s own row/column on the texture. i’d hate to have to break the sprite sheet up with crops and put them into a texture3d node.
any suggestions?
You can probably do this with instancing, and using UV offsets in the texturing parameters for the geometry.
This isn’t an exact implementation, but it does show how you can use a single texture and then define UV coordinates per instance.
[url]https://github.com/raganmd/TD-Examples/blob/master/ragan/instancingTechniques/tox/uvOffset.tox[/url]
You should be able to animate the CHOP channels describing the UV offsets to get the animation you’re looking for over time.
If you’re looking to be able to interpolate between slices you’ll want a texture 3D instead.
there is also my ‘fire in td’ thread somewhere in the techniques forum I think. It’s also an example of using animated particle textures.
cheers
matthew, thanks for the suggestion. I did get an animated sprite sheet working with geo instancing. it was frustrating until i realized that the sop inside the geo node needed to have the uvs scaled. now my only problem with this route is the geo doesn’t seem to be instancing on all of the particle points (unrelated to texturing, since this happens with just a straight constant mat). I also need to connect the uv offset to the $LIFE param (i have the value, just haven’t connected it yet).
BTW, your videos have been very helpful in understanding how TD works.
hrtlacek, I had looked at and pulled apart your example before which helped me understand the texture3d node. for my own perverse reasons, i’m not going that way.