MRが楽しい

MRやVRについて学習したことを書き残す

WindowsMRの3Dランチャで利用できる3Dモデルの制限事項を調べる

本日は WindowsMR の技術調査枠です。
前回 WindowsMR で3Dランチャを表示する方法をまとめました。
bluebirdofoz.hatenablog.com

3Dランチャで注意すべき点として、使用できる3Dモデルに制限があります。
条件を満たしていない3Dモデルを使用すると、以下のように×マークが表示されます。
f:id:bluebirdofoz:20171029005159j:plain

今回はその条件に付いて、以下の公式ページの記載から分かる限り、要点をまとめます。
Creating 3D models for use in the Windows Mixed Reality home

モデリングガイドライン

1. 上下軸は Y軸 であること。
2. Z軸の正方向が物体の前方であること。
3. 原点(0,0,0)のグラウンド上にモデルが構築されていること。
4. 軸単位はメートル単位を前提とすること。
5. 全てのメッシュを結合する必要はない。
  ただしリソースが制約されたデバイスをターゲットとする場合は結合した方が良い。
6. 全てのメッシュは1つのマテリアルを共有し、1つのテクスチャを利用する事。
7. UVは 0~1 の四角の範囲で配置する事。
8. マルチUVはサポートされていない。
9. 両面マテリアルはサポートされていない。

前回、Shpere オブジェクトを設定した後、以下のトランスフォーム設定を行ったのは 1,2,3 の条件を満たすためです。
・位置 X:0.0 Y:1.01 Z:0.0
・回転 X:-90 Y:0 Z:0
特に Y:1.01 の移動を行わないと、原点(0,0,0)のグラウンド上にモデルが生成されていないことになります。

また、マテリアルを設定したのは 6 の条件を満たすためです。
2つ以上のマテリアルを設定してもダメですし。マテリアルを一切設定していない状態でも表示できないようです。

三角面の数

Mixed Reality Homeでは 10,000以上の三角面を持つモデルをサポートしていません。
作成するモデルのポリゴン数は 10,000 未満に抑えるのが良いでしょう。

テクスチャの解像度

Mixed Reality では最大4096x4096の解像度でテクスチャをサポートします。
推奨サイズは 512x512 です。

その他条件?

色々試してみて気付きましたが、他にも三角面が少な過ぎると失敗するという条件がありそうです。
例えば以下のように 追加 -> メッシュ -> 立方体 で作成した 三角面:12 のモデルを利用します。
f:id:bluebirdofoz:20171029005237j:plain

すると Mixed Reality Home で本モデルは表示できません。
f:id:bluebirdofoz:20171029005248j:plain

ここでこのモデルをナイフツールを使って三角面数を増やします。
三角面:432 のモデルにしました。全体の形状や位置、マテリアルは変更していません。
f:id:bluebirdofoz:20171029005256j:plain

しかし Mixed Reality Home で本モデルが表示されるようになります。
f:id:bluebirdofoz:20171029005304j:plain

概ね三角面数 300 前後で表示可否が変わるようです。
3Dモデルの面数は 300 以上になるようにすると良いでしょう。


その他、自作の hololens モデルも試そうとしましたが失敗しました。
他にも制約がある可能性があります。
現状、3Dモデルは実際にビルドして配置するまで制限を満たしているかどうかを確認するすべがありません。
これは手間すぎる。。本調査は一旦ここで打ち切ります。