Instance and offset an animated FBX using GLSL in Touchdesigner - Part 2
Vložit
- čas přidán 26. 01. 2022
- In this two part tutorial we're going to build a custom component in Touchdesigner that records an animated geometry file into a texture format. Then in the second part we are going to use GLSL to:
1. instance the model,
2. have the ability to offset the animation per instance and most important,
3. keep a steady 60 fps framerate!
It's a rather technical tutorial but if you follow along, set it up once, you have the ability and benefit for future projects to instance quite heavy animated geometry files and control the playback per instance at real time speed!
Part 1 of this tutorial series: • Instance and offset an...
Please like and subscribe to stay up to date!
Instagram: / daily.typo
Facebook: / factory-sett. .
For our workfiles:
/ factorysettings - Krátké a kreslené filmy
Thank you very much for sharing. Now I can finally implement the ideas that had waited for the technique.
Thank you, very much appreciated, curious to see what you'll bring up!
Great tutorial, thank you !
I've been so close to figuring this out and this video has just helped me finally get there, thanks so much!
Thank you, great I could help!
@@FactorySettings i was just wondering, is there a need to update the normals as you displace the vertices?
@@fizzypopvfx I see what you mean. I don't think so, a normal is usually calculated by taking the cross product of two vectors, and since every point is already connected, the normals should follow along. I've recently experimented with rebuilding a model from one point, then you have to recalculate from scratch. But if you're not sure or experiencing glitches in your lighting, you could use the exact same approach with the normals in the shader (P would be N instead)
@@FactorySettings I’m yet to try this properly, I was just thinking when I usually do vertex displacement, I redo the normals, and really just wondered if it applied to this method or not :)
Great Tutorial, is there a way to interpolate or blend between the "flipbook" frames this would be like sub frame interpolation from the original texture3D to blend between those frames?
Thank you! Yes could work in theory, but I'm not sure if it's of much use. Your exporting the alembic based on a certain framerate, personally, if I would like to add a frame in between I'll just export it at 60fps instead of 30fps. You could experimenting with a crossTOP and sample two frames from the flipbook and see how that affects the movement.
@@FactorySettings I thought about using a different method instead of texelFetch with the tex3D top, but more like a rows and columns texture, where the rows (x-axis) pixels would be the position of the point value of the point geometry and the columns would be time/frame index of the alembic... that way you might be able to sample a point in-between the columns as a floating point value rather than a hard integer (on y-axis) and use the built in interpolation of a pixel to do it. We actually need this function because we want to dramatically slow the motion of an alembic down by quite a lot, linear interpolation is fine, but we want the animation to be very very slow, but interpolated.
@@bradonwebb2318I see what you're trying to do, if you'd like to have float accuracy sampling from a texture make sure you use texture() instead of texelFetch(), but you have to use normalized values instead of pixel coordinates. Another thing to be aware of is that depending on how many points you're going to use, your resolution can get pretty wide. Non commercial is already clamped at 1280, but there is also a maximum depending on your graphics card.
@@FactorySettings thanks we've got no issue with wide textures, our point counts are not too large and i think it can work, will look into texture()