Vertex Animation Textures ROP 2.0 Released
64495 107 16- Katten_VFX
- Member
- 5 posts
- Joined: April 2020
- Offline
- mikelyndon-sesi
- Member
- 394 posts
- Joined: May 2017
- Offline
seth_ro18
Sure thing, here it is attached. Thank you again.
Hey Seth. Turns out you discovered a bug in the debug view. Good find! I've submitted the fix and it should be available in tomorrow's labs daily build. The good news is it doesn't effect the mesh and texture that's created. I tested those in UE4 and they're fine. Just make sure you've set the various attributes on the mesh, texture and material instance and it should be all good.
Mike
- mikelyndon-sesi
- Member
- 394 posts
- Joined: May 2017
- Offline
- maxecrow
- Member
- 13 posts
- Joined: Oct. 2018
- Online
- Katten_VFX
- Member
- 5 posts
- Joined: April 2020
- Offline
- mikelyndon-sesi
- Member
- 394 posts
- Joined: May 2017
- Offline
maxecrow
Would it be possible to have a simple Unity example file of the Vertex animation working with the URP or even HDRP, please. I'm still not quite sure where I'm going wrong or why I can't get it to work.
Hey. I've been meaning to update the shaders but keep moving it down the list. Essentially what you need to do is go through each of the shader files and replace the paths to point to URP or HDRP.
If you want a quick fix, you can change the #include paths from ‘lightweight’ to ‘universal’.
“RenderPipeline” = “UniversalPipeline”
“LightMode” = “UniversalForward”
- Arvan
- Member
- 22 posts
- Joined: Feb. 2020
- Offline
Hello,
I'm having trouble getting the VAT 2.0 export to work correctly in UE 4.23 with a simple RBD shatter case out of Houdini Indie 18.0.287. The debug view from the VAT ROP looks fine and I've ensured settings on textures (vector displacement and nearest filter) and meshes (full precision UVs) in UE4 are correct, but the “inside” faces of the shatter always remain static and visible in UE4. I attempted creating new UVs post-shatter thinking they were being left out of the export, but that simply broke the pivots on the pieces in UE4 while the inside faces still remain static as before.
It's always been fairly straightforward in the demos, but it's not working for me - am I doing something wrong in my export process? Test file attached.
Cheers,
Arvan
I'm having trouble getting the VAT 2.0 export to work correctly in UE 4.23 with a simple RBD shatter case out of Houdini Indie 18.0.287. The debug view from the VAT ROP looks fine and I've ensured settings on textures (vector displacement and nearest filter) and meshes (full precision UVs) in UE4 are correct, but the “inside” faces of the shatter always remain static and visible in UE4. I attempted creating new UVs post-shatter thinking they were being left out of the export, but that simply broke the pivots on the pieces in UE4 while the inside faces still remain static as before.
It's always been fairly straightforward in the demos, but it's not working for me - am I doing something wrong in my export process? Test file attached.
Cheers,
Arvan
Image Not Found
Edited by Arvan - April 6, 2020 16:00:07
- Matt Vitalone
- Member
- 18 posts
- Joined: March 2015
- Offline
mikelyndon-sesi
Hey Matt. The latest material function should have logic to deal with rotations. It's in the upper right corner of the nodes.
I updated to 424 but don't see this in the latest material function shader code. Maybe I wasn't clear with my earlier post though. I'm using the Soft Deform version of the shader. I'm talking about rotating the object in Unreal, not handling rotating objects in a rigid body simulation in Houdini.
Edit: Okay I found the fix for this. If you transform the normals from Object Space to World Space after the material function it will correct for object rotation. Might be worth integrating this into the Material Function (at least as an option) to make this usable in more cases.
Thanks for all the hard work Mike!
Edited by Matt Vitalone - April 2, 2020 14:41:31
- vinz
- Member
- 113 posts
- Joined: Dec. 2007
- Offline
Hello Mike,
Thank you for this tool, it's working well for me so far for fluids in UE4, I wonder if you could explain the “Target Prim Count” and “Target Texture Size” params?
Also what the margin means? The check polycount button doesn't seem to be working.
I'm getting “warning : target texture is too low” though it seems to work fine.
Also as a side note most of the time Houdini crashes (actually shuts itself down without a crash) when I try to enter the VAT network. Not sure if there's a work around.
edit : it's the fluid_vertex_shader attribute wrangle in objects/debug that causes the crash.
Thank you!
Thank you for this tool, it's working well for me so far for fluids in UE4, I wonder if you could explain the “Target Prim Count” and “Target Texture Size” params?
Also what the margin means? The check polycount button doesn't seem to be working.
I'm getting “warning : target texture is too low” though it seems to work fine.
Also as a side note most of the time Houdini crashes (actually shuts itself down without a crash) when I try to enter the VAT network. Not sure if there's a work around.
Image Not Found
edit : it's the fluid_vertex_shader attribute wrangle in objects/debug that causes the crash.
Thank you!
Edited by vinz - April 2, 2020 19:14:11
- maxecrow
- Member
- 13 posts
- Joined: Oct. 2018
- Online
Thanks Mike,
I think there's more to it than that as I have I've tried replacing those bits and also replacing lightweight with universal eg>
#include “Packages/com.unity.render-pipelines.universal/Shaders/DepthOnlyPass.hlsl”
but to no avail. The shader also isn't importing any of the pivot, position settings etc either.
However, I can get these examples which use the shader graph, to work in Unity so it is possible (https://github.com/keijiro/HdrpVatExample) but cannot replicate the process from Houdini to Unity with the rop. When I replace the example with my textures and shader settings, like pivot and position, the movement is in the wrong direction and also then does that wierd explosion/dance at the end.
His method also uses the timeline to play the animation,but you have to set the frame rate in the timeline properties.
Cheers.
I think there's more to it than that as I have I've tried replacing those bits and also replacing lightweight with universal eg>
#include “Packages/com.unity.render-pipelines.universal/Shaders/DepthOnlyPass.hlsl”
but to no avail. The shader also isn't importing any of the pivot, position settings etc either.
However, I can get these examples which use the shader graph, to work in Unity so it is possible (https://github.com/keijiro/HdrpVatExample) but cannot replicate the process from Houdini to Unity with the rop. When I replace the example with my textures and shader settings, like pivot and position, the movement is in the wrong direction and also then does that wierd explosion/dance at the end.
His method also uses the timeline to play the animation,but you have to set the frame rate in the timeline properties.
Cheers.
Edited by maxecrow - April 2, 2020 20:03:03
- Katten_VFX
- Member
- 5 posts
- Joined: April 2020
- Offline
- mikelyndon-sesi
- Member
- 394 posts
- Joined: May 2017
- Offline
- mikelyndon-sesi
- Member
- 394 posts
- Joined: May 2017
- Offline
vinzHi.
I wonder if you could explain the “Target Prim Count” and “Target Texture Size” params?
Target Texture Size is the width in pixels of the texture being created. You generally want this to be power of 2 - 512, 1024, 2048, etc.
Target Prim Count is the maximum number of triangles for the exported mesh. Ideally this is less than your input mesh. So if your input mesh is 10000 poly's and your Target Prim Count is 2000, it will polyreduce the mesh before export to 2000 triangles.
Now, each triangle is 3 vertices which requires 3 pixels to store position. So a target prim count of 2000 requires 6000 pixels per frame. The VAT ROP will automatically wrap that to the target texture size.
You can ignore the warning, margin and check polycount button. That's legacy stuff that I need to remove.
If Houdini is crashing on that wrangle, it's specific to your setup. Try lowering the target prim count to 1364 (4096/3)
- mikelyndon-sesi
- Member
- 394 posts
- Joined: May 2017
- Offline
Katten_VFXThe VAT ROP will check for uv and uv2. If uv2 does not exist, uv2 will be used for the vertex animation texture uv layout. If the mesh input has uv and uv2, it will use uv3 for the VAT uv layout.
the first was how to change the vertex UV information, such as from the second vertex UV information to the third UV.
Second, if the model is put into the particle in unreal, it will make a mistake if the size is enlarged. How to solve this problem?
I'm not too sure what the scale problem is. I setup a simple cascade emitter and set the initial scale. In 4.24 it correctly changes the scale of the mesh.
- seth_ro18
- Member
- 81 posts
- Joined: July 2010
- Offline
- Artantat
- Member
- 1 posts
- Joined: Jan. 2017
- Offline
Something that I ran into doing some soft body work with this similar to:
I found my mesh crinkling and it turned out It was because i was using VectorDisplacementMap which was compressing and causing artifacts. Switching to HDR or another FloatRGBA format solved the issue for me. Thought i'd mention this in case anyone else was running into a similar issue.
zhujing
Hi Mike,
I found the material in mesh have a strange shadow,just like some triangle in the mesh always been flikering.
I found my mesh crinkling and it turned out It was because i was using VectorDisplacementMap which was compressing and causing artifacts. Switching to HDR or another FloatRGBA format solved the issue for me. Thought i'd mention this in case anyone else was running into a similar issue.
- Katten_VFX
- Member
- 5 posts
- Joined: April 2020
- Offline
mikelyndon-sesiKatten_VFXThe VAT ROP will check for uv and uv2. If uv2 does not exist, uv2 will be used for the vertex animation texture uv layout. If the mesh input has uv and uv2, it will use uv3 for the VAT uv layout.
the first was how to change the vertex UV information, such as from the second vertex UV information to the third UV.
Second, if the model is put into the particle in unreal, it will make a mistake if the size is enlarged. How to solve this problem?
I'm not too sure what the scale problem is. I setup a simple cascade emitter and set the initial scale. In 4.24 it correctly changes the scale of the mesh.
Thanks!dude!Waiting for your good news!
- vinz
- Member
- 113 posts
- Joined: Dec. 2007
- Offline
mikelyndon-sesivinzHi.
I wonder if you could explain the “Target Prim Count” and “Target Texture Size” params?
Target Texture Size is the width in pixels of the texture being created. You generally want this to be power of 2 - 512, 1024, 2048, etc.
Target Prim Count is the maximum number of triangles for the exported mesh. Ideally this is less than your input mesh. So if your input mesh is 10000 poly's and your Target Prim Count is 2000, it will polyreduce the mesh before export to 2000 triangles.
Now, each triangle is 3 vertices which requires 3 pixels to store position. So a target prim count of 2000 requires 6000 pixels per frame. The VAT ROP will automatically wrap that to the target texture size.
You can ignore the warning, margin and check polycount button. That's legacy stuff that I need to remove.
If Houdini is crashing on that wrangle, it's specific to your setup. Try lowering the target prim count to 1364 (4096/3)
Thanks for the quick answer Mike, glad the things I was confused about are legacy/not needed.
Regarding the crash, the export works, it's the preview in Houdini that crashes, so I don't really want to lower the target prim count, but anyway, will give it a shot on another computer and try to narrow down when it crashes (otherwise currently running on win 10 with an i7 and a 2080ti)
- Arvan
- Member
- 22 posts
- Joined: Feb. 2020
- Offline
Hi, my first post from the 1st of April was finally approved but missing the images (EDIT: Images re-uploaded). I since tried updating to Houdini Indie 18.0.416 and redid the simple fracture workflow but I still have static inside faces and now broken pivots even without messing with the UVs. Scene file is same as was posted previously re-run with 18.0.416. The debug view in Houdini still looks fine, but I have yet to have even this simple fracture case work correctly in UE4.23 which is preventing me from committing resources to anything more complex. Any help would be greatly appreciated.
Cheers
Cheers
Edited by Arvan - April 6, 2020 16:00:42
- mikelyndon-sesi
- Member
- 394 posts
- Joined: May 2017
- Offline
ArvanIf you're using the pighead as a test, it has multiple materials assigned to it. Have you applied the VAT material in UE4 to all the material slots on the static mesh?
The debug view in Houdini still looks fine, but I have yet to have even this simple fracture case work correctly in UE4.23
Also, looking at your file the inside faces uvs haven't been laid out. All the uv values for the inside faces are the same. I'd suggest isolating the inside group and laying out the uvs. You could use the Labs Inside Face UV's for that.
-
- Quick Links