見出し画像

ARKitのフェイストラッキングで顔の頂点をいじる

きARKitのフェイストラッキングはめちゃくちゃ簡単に実現できる。こういうのはゼロからつくっても5分ぐらいでできると思う。

画像1

ではこういうのはどうか。

北千住デザインという屋号で活動されている方の作品。シンプルな指針でいうと、ARKitによって顔のジオメトリは取れているので、

画像2

このジオメトリの頂点を動かしてやればいい。SCNGeometryの頂点をいじるだけなら、Metalシェーダを書かなくても、こんな感じで取り出して変化させて、というのをSwiftコードで(※CPU側の処理になる)書ける。

・・・のだが、それだけだとこうなる。

(おでこのあたりの頂点を引っ張っている)

画像3

当たり前の話だが、ここに映っている僕の顔はただの2Dの写真であって、ARKitが提供してくれている3Dの顔のジオメトリの上にテクスチャとして貼られているものではない。ので、顔のジオメトリの頂点を動かしても僕の顔は変形しない。

実現方法

顔のジオメトリの頂点をいじって顔を変形させるには、そのジオメトリの上に顔のテクスチャを貼る必要がある。

自分はこの処理を次のように実装した。

ここから先は

1,811字 / 2画像

¥ 200

最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/