Houdini - UE4 VAT mesh particles normals

Hello there,

I’m having problems with the normals in the vertex animation texture workflow from houdini to UE4. I’m more or less following this tutorial :

I’ve already had trouble with the exported normals for a mesh actor, the ones packed in the position texture alpha were just not useable.
To fix it, I used a separate normal texture instead and modified the provided material. I added a transform from local to world space node + a constant bias scale of (-0.5 | 2) for it to work properly. I also changed the normal texture sampler to linear color. That fixed it.
However it doesn’t work properly with particle meshes. The normals don’t move with the particle mesh orientation.

As you can see the meshes actor are shaded correctly (white) but the particle meshes (colored) are all lit as if they all had the same orientation.

Any ideas how to fix it?


Try transforming the normal texture like this?


-_- OMG I don’t know how I missed that. Thank you, it’s working properly now.

May I ask how you went about getting your separate normal texture for your mesh anim? Did you just use the Simple Baker SOP?

I would be curious to know if anyone has been able to get this workflow to work in Houdini 18, period.

I’ve tried running through the tutorial in H18 and the cut-and-paste shader code seems well broken. After wasting more than an hour trying to fix it, I’ve had to abandon it in favor of other tasks.

I got the VAT workflow to work in Houdini 18. I think one of the changes is that you now have to paste the code into a Material Function instead of directly into a material.

1 Like

Yep, that did the trick - thanks @James_Littlejohn! It took a bit of tinkering as the realtime side is still very new to me, but I was able to get it there in the end thanks to your tip. Cheers!

Hey whilst this thread has been really useful, I was wondering if anyone could help on the time and speed inputs. Whilst I can sort of get it working I’d have thought I should be tying that into the particle update somehow (what I think I am seeing is a discrepancy between particle life/loop/speed and the speed/time I have plugged into the material function. In this case a Time Node and a Scalar Parameter.


Did you try the setup in the tutorial?

Ah, this one. I deleted my attempt after I got stuck trying to figure out how to make a dynamic parameter work with the Material Function instead of a regular Material that things had changed to since the tutorial was published - it sounds like you got farther along than I did with it, sorry I can’t be of more help