2024.08.25
Diary
lattice deformer ぽいやつをさらにいじって本来の複雜なモデルを食わしたらほぼほぼいけてるんだけど微妙におかしいところが発生するので詳しく調べてみると obj ファイルに記述されてる頂点の順番が Unity に読み込むと変わってしまってるってもーなんでやねん。
lattice deformer ぽいやつをさらにいじって本来の複雜なモデルを食わしたらほぼほぼいけてるんだけど微妙におかしいところが発生するので詳しく調べてみると obj ファイルに記述されてる頂点の順番が Unity に読み込むと変わってしまってるってもーなんでやねん。
MediaPipeForUnity に face geometry 出力機能がないらしいことに気づいて MediaPipe 側のソースコードを奥のほうまで読んでみたらもうあと一歩ってところだったのでちょちょいとコード追加したら Unity 側でも face geometry とれるようになったんだけど奥行推定のカメラパラメータを渡すのができなくてこれはたぶん FaceLandmarker クラスではなくて直接 graph を組み立てないといけなさそうということがわかるぐらいには MediaPipe の仕組みを理解したぞ。
きょうも MediaPipe のソースコードをあちこち読み漁って face landmarker が奥行き推定に使うカメラパラメータは Environment として side packet として渡すべしということがわかったんだが MediaPipeForUnity にはその機能がないということでビルド環境を整えたものの全部ビルドするのに 30 分ぐらいかかるし C++ 側いじるのやだなーと思ったけど Bazel のビルドファイルいじっていくつか足らない Protocol Buffer クラス生成して C# 側をちょいといじったら渡せるようになって歪みもへったのでよかったです。