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

    lsonic

    Joined:
    Apr 15, 2013
    Posts:
    2
    Hello!

    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!