Search Unity

Question Tangent space vector displacement to create morphs for alembic caches

Discussion in 'General Graphics' started by lsonic, Aug 31, 2023.

  1. lsonic


    Apr 15, 2013

    I'm working with Daz characters in unity and the most disappointing part is the limitation of linear skinning. As unity doesn't support dual quaternion skinning, creating good looking correction blendshapes is a real pain, and very time consuming. I tried to repaint the weights and add helper bones I don't get acceptable results, I'm not good enough at skinning I know... Using alembic caches of course solves the problem, but I want my characters to be customizable, so I need morphs... Well I made my tools to bake the delta vectors of a morph in t-pose, sending them to unused uv-coords then use them in shader to modify the vertex positions. It's working perfectly in object space but once I change the animation to other than t-pose it obviously goes wrong. I learned about tangent space vector displacement maps, maybe converting the object space vectors to tangent space can work in my case as well? I lack a bit of math to figure it out by myself. Is it possible? If yes how can I convert them to tangent space and how to modify the vertex positions in shadergraph?

    Thanks for your help!