Davide Mella

_wlvl_

About Me

Expertise
Not Specified
Location
Not Specified
Website

Connect

Recent Forum Posts

Vertex Animation Texture - RBD - Houdini to Unreal - active fragments position offset Dec. 19, 2018, 7:45 p.m.

Active pieces have a position offset on the y direction (up/down)
so they float above the ground. (see images)
Non-Active pieces are positioned correctly.

I suspect bbox max/min generated are incorrect.
maybe the P.y range is clamped for some reason?

It was working perfectly on my previous simulation iteration.
The only thing I change is adding a subfracture level on my geometry

I rebaked the textures and fbx, reimported them in Unreal, update the bbox min max values.


Any ideas on where this might come from?
Thank you!


Apologies, I can't share a hip at the moment.


Vertex Animation Texture - RBD - Houdini to Unreal - Checklist Dec. 19, 2018, 7:21 p.m.

Hey Houdinians,
I have made a check list gathering infos from the webinars/tuts done by the great Houdini GameDev Toolset Team.
Please let me know if something is missing or wrong, I hope this is helpful for some of you.

Rigid Body Dynamics - RBD VAT
optimal for high # of pieces.
alternatives (bones, straight fbx)

in HOUDINI:

1-
rbd material fracture SOP
proxy to rbd bullet sim

2A-
dopimportSOP(fetch geometry from DOP network)
OUT to VAT ROP



2B-
this step if you need to add edge/interior details or manipulate geo
static highres full geo
add uvs (autouvSOP)
limit number of poly, polyreduceSOP (precision errors in ENGINE if npoints/nprims is too high)
hou material: shop_materialpath prim attribute (unreal will replicate houdini's)
or assign unreal mat: unreal_material prim attr (in UNREAL/content menu//right click on material/copy ref path)

pack fragments (assemble SOP)
add rest point attribute (VAT ROP needs rest)

dopimportSOP (create point to represent objects)

use transform pieces to apply motion to high res geo
copy template attributes ON (VAT ROP needs orient + pivot)
OUT to VAT TOP


3-
VAT ROP
method to RBD
will export a mesh fbx, a pos texture, a rotation texture.
textures size min will be:


in UNREAL:

import VAT passes (pos.exr, rot.exr, mesh.fbx)

pos/rot texture:
details/compression_setting/vertex displacement (HDR default not needed, exr is normalized)
details/texture/filter/nearest

mesh:
details/import_setting/mesh/vertex_color_import_option/Replace (pivots are stored here)
details/import_setting/mesh/Remove Degenerates/OFF
details/LOD0/build_setting/Remove Degenerates/OFF
details/LOD0/build_setting/full precision uv/ON

create material
details/material/tangent space normal OFF (we write data in world space)
details/material/num_custom_UVs , set to 3.
copy/paste material code from houdini VAT ROP/Rigid Vertex Animation UE Code
connect outputs (base cd, normals, trans offset)
connect (uv1,2, …) (pass data from vertex shader to texture shader)


create material instance from material
copy bbox max, bbox min, n frames, from houdini VAT ROP
set playback speed (framerate fps / total number of frame animation)
assign pos and rot texture to translation and rotation textures
assign material instance to rbd mesh.fbx