VRMにフォトグラ飯を持たせる方法
この記事はclusterユーザーと創造する非公式 Advent Calendar 2022の20日目の記事です。
こんにちは~!ちりめんです。今回はVRMのアバターにフォトグラ飯を持たせる方法について解説していきます!
フォトグラ飯とは
メシグラメトリ、フォトグラご飯など、様々な呼び方がされていますが、今回紹介していくのは、現実世界の食材や料理をスマホのスキャンアプリなどで撮影したものです。
主にNeosVRやVRChatなどで盛んに投稿、共有されているフォトグラ飯ですが、clusterではあまりアバターに持たせている方を見かけないので、今回はフォトグラメトリの方法から、アバターにつけるまでの一連の流れを紹介していきます!
フォトグラ飯の作り方
使用するもの
フォトグラメトリアプリ
Blender
Unity
撮影する料理を用意する
まずはじめに、撮影したい料理を用意します。今回は、せっかくなので夕食に作ったしらす丼を使いました!
フォトグラメトリアプリで撮影する
フォトグラメトリができるアプリはLiDARスキャンを用いるものから、ARでスキャンするもの、複数枚写真を撮影してスキャンするものなど、多くのアプリがあるので、自分のデバイスに合いそうなものを調べてみると良いかもしれません。 今回私はiPhone12を使用し、Trnioといアプリでスキャンしています。
(610円の買い切り型のアプリなのでLiDAR機能の付いていない機種のiPhoneユーザーの方にはおすすめです)
撮影データを編集する(アプリ内)
撮影し3Dに変換されたばかりのデータは、周りの背景などのデータも一緒に3Dにしているため、アプリ内のEDITツールで消したり、モデルの角度などを調節します。
データをエクスポートしPCに移す
大まかに周りの背景の削除や位置調整ができたら、モデルをエクスポートします。
今回は、左から2番目のOBJ-OBJファイルでエクスポートしました。
エクスポートしたファイルはGoogleDriveなどにアップロードし、PC側に共有します。
モデルデータの調整
Blenderでモデルデータを調整する
ここからは、PC側での操作になります。まずは、Blenderに先ほどのOBJファイルをインポートします。
ここで改めて、しらす丼以外の背景などを消していきます。
上の画像のようにしらす丼だけの状態になったら次にポリゴン数の削減を行っていきます。
このままだとポリゴン数が多すぎてアバターに持っていくときに重くなってしまうので、Blenderのモディファイヤーの一つであるデメシートを使ってポリゴン数を削減してきます。
デメシートはかけすぎると、モデルがぐちゃぐちゃになってしまうので、微調整を行いつつモデルのポリゴン数を削減していきます。
デメシートを一度かけ、その後も細かく調整していった結果…
14万ポリゴン→1.5万ポリゴンまで減らせました!
おまけ: アバターに持たせるときに、出し入れをしたい場合
軽量化が終わったら、そのままFBXでエクスポートしてUnityに移すのですが、アバターにフォトグラ飯を持たせるときに出し入れができるようにしたい場合は、このタイミングでシェイプキーを設定します。
少し手順がややこしいので画像と一緒にまとめます。
データをエクスポートする
モデルの調整が終わったら、データをFBX形式でエクスポートします。
(エクスポートの設定について、私はclusterで紹介されている設定を使用しています)
Unityにデータを読み込む
FBX形式でのエクスポートが終わったら、そのデータとテクスチャデータをUnityのファイルの中に追加します。
マテリアルのシェーダーをMToonに変更する
次に抽出したマテリアルをStandardシェーダからMToonシェーダーに切り替えます。この際MToonシェーダーのEmissionの項目にテクスチャを設定し、色を白に設定すると、clusterの中でよりくっきり料理が表示されるようになります。
アバターにフォトグラ飯を持たせる
モデルデータをヒエラルキーに追加する
いよいよ、フォトグラ飯をヒエラルキーに追加します。
この際、先ほどの”おまけ”部分の工程でシェイプキーを追加した方はシェイプキーの値を100にするとフォトグラ飯が表示されます。
サイズや位置を調整する
次に、モデルのサイズと位置を、自分の好きなように調節します。今回は左手に持っているようにしたかったので裏返して、手のひらに位置を合わせました。
もしもアバターの特定の部位に追従させたい、という場合はArmature以下のボーンの子の位置にモデルデータを移動させます。(今回は左手で持たせたかったのでLeft Hand下に配置しました)
一度VRMでエクスポートする
フォトグラ飯データをアバターの階層下に配置できたら、一度VRM形式でエクスポートを行います。
おまけ:BlendShapeにモデルの出し入れを設定する
一度エクスポートしたVRMファイルをもう一度Unityに読み込んだ後、BlendShapeのファイルを選択します。
その状態で、好きな表情に出し入れのシェイプキーを割り当てます。
(私はよく、普通に使用する機会が少ないAngryに設定しています)
もう一度VRMでエクスポートする
(おまけの操作をしていない方は)先ほどエクスポートしたVRMファイルを再度読み込み、BlendShapeなどの設定を行った後、もう一度VRMでエクスポートします。これで、フォトグラ飯アバターは完成です!!!
clusterで遊ぶ
アバターファイルを追加する
エクスポートしたファイルをclusterに登録します。
実際に入ってみる
うまく表示されました!
おわりに
いかがでしたでしょうか?フォトグラ飯をclusterに持ち込むことで、話の話題を作れたり、みんなに料理を振舞えたりなど、色々な面白い体験ができると思います!この機会にぜひ、たくさんのフォトグラ飯を作ってみてはいかがでしょうか?
明日は、今回の制作にも使ったBlenderについての、はらさんの記事です!Blenderはともだち、こわくない!
この記事が気に入ったらサポートをしてみませんか?