прикол в том что прямого доступа к геометрии в движке нет.
1. движок предлагает оригинальную модельку, обычный obj. я крашу ее шейдером в RGB, которые соответствуют XYZ вертексов, немного преобразовываая так, чтобы запихнуть и отрицательные и положительные значения. далее делаю UV unwrap чтобы получить это все в виде обычной текстуры.
2. трекер лица изменяет геометрию оригинальной модельку согласно реальному лицу юзера. я делаю с ней то же самое.
3. по триггеру замораживаю текстуру с пункта 2.
4. дальше остается просто вычесть одну из другой - мы получим разницу между оригинальной моделькой и лицом юзера.
5. и остается просто дисплейснуть оригинальную модельку на эту разницу, получив из нее лицо юзера с 99% точностью