概要
MR(複合現実)でろくろの再現を試みました。
長期的なコンセプト
子供がいて、その未来の日常を豊かにするMRを想像したことがきっかけで試作しました。
その時代に仕事が存在するかどうかも分かりませんが、自分たちで衣食住を作って楽しめるのは価値になるかもなと思っています。
その観点でXRにて自分で造形するイメージが湧く上に、QoLへの貢献も大きい茶碗を題材にしました。
将来的には作ったモデルを3Dプリント出来たらいいなと考えています。
開発環境・使用ライブラリ
- Unity 6000.2.8f1 (Android)
- Meta XR Core SDK 78.0.0
- Meta XR Interaction SDK Essentials 78.0.0
- OpenXR Plugin 1.15.1
- XR Interaction Toolkit 3.2.1
- XR Hands 1.6.2
処理の概要
諸事情あり、コードの詳細の共有が難しいため、概要のみ記します。
- ハンドトラッキングで指先の位置を取り、ろくろ中心に対する高さ・半径・角度に変換
- 指が粘土より内側にある量を押し込み量として毎フレーム計算
- 押し込み量を高さ×角度のマス目表(粘土の外半径マップ)に配分し、中心が強く・周囲は弱く削られるように更新
- 更新後、各マスを上下左右の値に少し寄せて平均化し、ギザギザや穴を防ぐ
- このマップを360度に展開して点を並べ、隣同士を三角で結ぶようにしてメッシュを生成
- 生成したメッシュを描画し、リアルタイムにろくろを表現
- エクスポートボタンでメッシュをSTLファイルとして端末に保存し、作品名などのメタ情報をJSONで一緒に記録
個人的に出来たらいいなと思っていること
- ろくろ中の形状の変わり方に幅を持たせたい
- 皿や壺など作れるものの幅を広げたい
- 色付け出来るようにしたい
- 参考例を画像生成し、表示したい
- Firebase AIのGemini APIで試していたが、ここ数か月で有料になった?詳細不明
- モデルを売れるマーケットサイトの開発
- 将来的にはモデルを出力して3Dプリント可能にしたり、脳波で操作できるようにしたい
おまけ
ろくろの表現力を向上させたくて、他パターンの実装を試しました。
ただ上手くいきませんでした。おまけとして残しておきます。
Obi Softbodyの使用
有名なアセットで、非常によく作られていましたが、上手くろくろ感を表現できず。
ちゃんと使いこなせば、ろくろっぽくなるかもしれません。
動画では固定も出来ていませんが、「そもそも土の感じ出せていないな」と悩みました。
指の座標を使い、VFX GraphのSDFをランタイムでへこませる
指の座標を基にVFX GraphのSDFを変えるような処理が出来ないかも試してみました。
Obi SoftbodyでParticleのような概念が導入されていて、いっそVFX Graphで表現してみるのはどうかと考えたのがきっかけです。茶碗を3Dプリントした後、VFXを重畳出来たら面白いのではないかという意図もありました。
しかし、SDFのデータをランタイムで変えようとすると、形状変化しないまま消えました。
カリングの問題なのか、原因は不明です。
この時点で複雑な実装となっており、
原因特定や修正に時間がかかりすぎると思って断念しました。
以上、ろくろMRの試作をした話でした。