Weitere ähnliche Inhalte Ähnlich wie バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について (20) バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について2. 自己紹介
2
● ようてん
● WFLE こと Wright Flyer Live
Entertainment 3年生 ソフト
ウェアエンジニア
● REALITYをつくっています
● 主にUnityで3Dの組み立てまわ
りを担当
REALITY
インストールはこちら
13. 3Dアバターシステム
13
● F/M 2種類の体型と肌色10種・身長・バストサイズ(Fのみ)のベース選択
● 髪・目・カラコン・眉・口・ヒゲ・耳・チーク・ほくろ・トップス・ボトムス
・セット服(全身着ぐるみ等)・シューズ・帽子・イヤアクセサリ・眼鏡・ボ
ディアクサセリ(しっぽ・羽等)・フェイスシール・壁・床のカテゴリ別パー
ツ変更に対応
● 髪・眉・目のベース・シャドウ・ハイライトカラーのHSVパレット編集
● タッチ操作によるカメラのズーム・移動・胴捻り/アバター回転
● フェイストラッキングのアバターへの適用による、顔の位置・向き・瞬きや口
の開きなどの表情のリアルタイムトラッキングと、最大4人までのコラボ配信
でのモーション送受信に対応
● ジェスチャエモート:特定モーションの再生
● VRMエクスポートとcluster連携のサポート
21. 事例【2】テクスチャサイズ懸念によるシェーダ方針変更
tga 1024x1024 RGB ASTC 6x6
x 10枚
= 約4.5MB/1アイテム
10色分
の塗り
色情報
csv
tga 1024x1024 RGB ASTC 6x6
x 2-3枚
= 約1.0-1.5MB/1アイテム
● 最初の設計『全部のアイテムは原則カラバリを10色揃えます、テクス
チャ差し替えでやります』
● tga 1024x1024 RGB ASTC 6x6 10色/1アイテムで約4.5MB
● さすがにまずそう
● 途中からマスク+色情報設定シェーダに変更
25. フェイストラッキングとアバターへの適用
25
● 以下の情報がとれます
● 顔の位置
● 顔の向き
● 目や口の開閉・向きの値 または 顔のランドマーク(目や口など)の
位置・サイズ
● 前者は「JawOpen 0.0(口が閉じている)〜1.0(口がめいっぱい開いてい
る)」のように直接アバターのBlendShapeに適用すればよい値がとれます
● 後者は「唇の中心が座標(X,Y)にあって、上端から下端までがNピクセル」のよ
うな値がとれ、、ロジックによって開閉の具合を決める必要があります
26. フェイストラッキングライブラリ
26
プラットフォー
ム
ライブラリ名 特徴
iOS iPhone X系 ARKit Face Tracking ● ものすごく精度が高く、負荷も低め
● TrueDepthカメラを用いており、iPhone X系でしか使えない
○ iOS14のARKit 4に期待
iOS iPhone X系
以外
Vision Framework
Face Landmark
● それなりに精度が高い
● 元画像が大きいと、処理負荷が高い
● 現状、hyprfaceに移行済み
hyprface ● かなり精度が高い
● ARKitと同等に瞳の位置などが取得できる
Android firebase ML Kit Face
Detection
● それなりに精度が高い
● 元画像が大きいと、処理負荷が高い
● ARKitと同等の瞳の位置は取得できない
○ MediaPipe Irisに期待
hyprface ● iOSと同等
● 機種による安定性差が大きかったため、現状「新トラッキング
方式」として選択式でのアプリへの実装となっている
29. アバターへの適用:顔の向き(回転)
29
● 頭から腰に、Head, Neck, Spine1, Spine
ボーンの順番で角度制限をかけて按分
● 例えば60度の傾きを適用する際には、
Headに30度、余りのうち25度をNeck
に、最後に余った5度がSpine1に適用さ
れる
H
ead
Neck
Spine1
Hip
Spine
UpLeg
Leg
Foot
ToeBase
ForeArm
Shoulder
Arm
Hand
Base
トラッキングで
顔が60度回って
ると
Headに30度適
用して
余りの30度のう
ち25度Neckに
適用して
最後に余りの5
度をSpine1に適
用
36. REALITYの3Dアバターシステム(再掲)
36
● F/M 2種類の体型と肌色10種・身長・バストサイズ(Fのみ)のベース選択
● 髪・目・カラコン・眉・口・ヒゲ・耳・チーク・ほくろ・トップス・ボトムス
・セット服(全身着ぐるみ等)・シューズ・帽子・イヤアクセサリ・眼鏡・ボ
ディアクサセリ(しっぽ・羽等)・フェイスシール・壁・床のカテゴリ別パー
ツ変更に対応
● 髪・眉・目のベース・シャドウ・ハイライトカラーのHSVパレット編集
● タッチ操作によるカメラのズーム・移動・胴捻り/アバター回転
● フェイストラッキングのアバターへの適用による、顔の位置・向き・瞬きや口
の開きなどの表情のリアルタイムトラッキングと、最大4人までのコラボ配信
でのモーション送受信に対応
● ジェスチャエモート:特定モーションの再生
● VRMエクスポートとcluster連携のサポート
37. リリース当時のREALITYの3Dアバターシステム
37
● F/M 2種類の体型と肌色10種・身長・バストサイズ(Fのみ)のベース選択
● 髪・目・カラコン・眉・口・ヒゲ・耳・チーク・ほくろ・トップス・ボトムス
・セット服(全身着ぐるみ等)・シューズ・帽子・イヤアクセサリ・眼鏡・ボ
ディアクサセリ(しっぽ・羽等)・フェイスシール・壁・床のカテゴリ別パー
ツ変更に対応
● 髪・眉・目のベース・シャドウ・ハイライトカラーのHSVパレット編集
● タッチ操作によるカメラのズーム・移動・胴捻り/アバター回転
● フェイストラッキングのアバターへの適用による、顔の位置・向き・瞬きや口
の開きなどの表情のリアルタイムトラッキングと、最大4人までのコラボ配信
でのモーション送受信に対応
● ジェスチャエモート:特定モーションの再生
● VRMエクスポートとcluster連携のサポート
38. REALITYの3Dアバターシステム
38
● F/M 2種類の体型と肌色10種・身長・バストサイズ(Fのみ)のベース選択
● 髪・目・カラコン・眉・口・ヒゲ・耳・チーク・ほくろ・トップス・ボトムス
・セット服(全身着ぐるみ等)・シューズ・帽子・イヤアクセサリ・眼鏡・ボ
ディアクサセリ(しっぽ・羽等)・フェイスシール・壁・床のカテゴリ別パー
ツ変更に対応
● 髪・眉・目のベース・シャドウ・ハイライトカラーのHSVパレット編集
● タッチ操作によるカメラのズーム・移動・胴捻り/アバター回転
● フェイストラッキングのアバターへの適用による、顔の位置・向き・瞬きや口
の開きなどの表情のリアルタイムトラッキングと、最大4人までのコラボ配信
でのモーション送受信に対応
● ジェスチャエモート:特定モーションの再生
● VRMエクスポートとcluster連携のサポート
現在進行形で
パワーアップ中の
ナマモノです
54. 課題【2】gitのブランチツリーが深い
54
もう少しフラットにしたい
● develop
○ feature/開発中の新機能A
○ feature/開発中の新機能B
○ feature/来月でる開発中のギフトA
○ feature/来月でる開発中のガチャA
■ feature/来月直す予定のアセット群
● feature/Aの次の開発中のガチャB
○ feature/Bの次の開発中のガチャC
■ feature/C次の開発中のガチャD
● 開発環境で開発途中のものが全部入った全部入り
AssetBundleビルド用ブランチ
こんな感じでマージが必要
です
リリース済みのものでバグが
あったりして、developで直す
と
「開発項目毎に特定のバージョンをスマホ
にインストールし直すコスト」>「なんで
も確認できるAssetBundleを整備するコス
ト」なのでしょうがなさはあります