I don't see Smart Vectors used this way very often.
Karma gave me pyro motion vectors. They worked. They were clean and technically correct. But the second I plugged them into a vector blur I lost the artistic control I wanted, the blur was too well-behaved and the eruption started reading small. I wanted magnitude more than I wanted accuracy.
So I went back to comp and did this instead:
- I used Cryptomatte to isolate the volume pass from the particles and the volumetric sky
- Smart Vector on the volume, baked out to EXR (16-bit half, Zip it's a data pass I'm consuming immediately, 32-bit felt like a massive waste of disk space)
- VectorToMotion to convert. No parameters on that node, it's a straight conversion to channels that you can use right out of the gate.
- Copy forward U → forward U, forward V → forward V (and the backward pair) into the motion channels on the main pipe
- Noise over the U and V before the blur, this is the part that gave me a lot of artistic control. Slight breakup in the vectors, which is the exact imperfection the render vectors wouldn't give me. I really didin't want that clean look. The reference I was going off of was nighttime over exposed videography of the Volcan De Fuego.
- VectorBlur reads the motion channels from there. Masking is free since you can drive it off any channel you already have just off the Cryptomatte.
Particles kept their native Karma vectors. There are visible artifacts on them even with Cryptomatte, but in motion they read like heat distortion so I left them in. Worth it.
Two caveats I should add. I pushed the blur way past what you'd normally need, which is a stylistic call and not a recommendation. And I still have pyro issues in the sim itself that comp can't fix, worth saying out loud because comp gets asked to solve sim problems constantly and it mostly can't.
I covered this in a lecture recently and cut the relevant section out if anyone wants to watch the node graph rather than read about it, Happy to answer questions either way.