Possible Vertex Animation Texture Tool Normal Bug under UE4.

   1176   1   1
User Avatar
3 posts
Joined: Jan. 2015
I'm wondering if we found out a possible bug under UE4 when using the Vertex Animation Texture tool. It might also be simply related to the fact I missed something when watching the videos you guys made to explains the process.

In the current example, I simply did a looping animated flag of 128 frames that I exported to UE4 using the Vertex Animation Texture Tool. Once Imported into UE4.18, I simply made a comparison of the Mesh with a simple twosided Material and the same mesh using the Material Nodes copy/pasted from the Vertex Animation Texture Tool into UE4. When I force this material to use it's first frame and that I display the world normals we can see that there is an important difference between the completely static reference and the freezed to first frame example.

When I unplug the Normal Input the Flag world normals looks exactly like the static reference.

Here is a video (edited and accelerated) that shows the step by step process to reproduce the bug:

Some details here:

- Using Houdini 16.5 Indy and latest Game Development Toolset from 16.5 Branch on GitHUB
- Houdini Hip File preference Unit is set to Default Meters.
- Using Y Axis as Up Axis
- Triangulated and UVs under Houdini to prevent any possible mismatching between generated textures.
- I used the Loop node from the Game Dev Toolset.
- Export mesh and textures without using Pack Normal Into Alpha and Normalize using the Soft preset.
- Under UE 4.18, I import the mesh and both textures using defaults import settings.
- Textures are in hdr format. SRGB is cheked Off. No Mimaps is also selected by default.
- I copy/Paste the text from the Soft preset into a new material.
- Uncheck Tangent Space Normal
- Check TwoSided.
- Add Custom Uvs
- I then Plug all function outputs into proper Material inputs.
- I use the Mesh with a simple two sided material as reference.
- I copy the mesh and apply a material instance with proper Normal and Position textures applied. Unchecked Normal Pack and LDR
- By forcing this material to use only the first frame and comparing it to the static mesh with Buffer Visualization set to World Normal we can see an important difference between the two meshes.

Am I missing anything in the process by any chances?

Files contains UE4.18 files as well as Houdini 16.5 hiplc file.

Thanks in advance for any support on this!
Edited by Gabriel_Charest - Nov. 13, 2017 01:48:37

HoudiniToUE4FlagNormalBug.jpg (222.2 KB)
Files.zip (1.7 MB)

User Avatar
3 posts
Joined: Jan. 2015

My coworker and I realized that combined with a manual remapping of the normal map from -1 to 1 (which is usually done by the Normal Map Compression Settings) and using SRGB on the normal was fixing all issues.

Since using SRGB is not possible on Normal Map compression settings under UE4 and that it's better to work in RGB Mode, I made the Vertex Animation Texture Tool editable and changed the Colorspace Output Gamma settings to 1.

We can now have reliable results out of any Linear Color texture type.

RenderNormalFormatColorSpace.png (76.2 KB)
MatSamplerCOnstantBiasScale.png (171.5 KB)
CompressionSettings.png (813.1 KB)
HoudiniToUE4FlagNormalBugFixed.jpg (249.3 KB)

  • Quick Links