3Dモデルの入手

3DモデルはすべてFBX、glTF、OBJのいずれかのフォーマットで、Vircadiaがサポートするマテリアルを持つ必要があります。

3Dコンテンツストアから3Dモデルを入手する

オンライン3Dコンテンツのウェブサイトには、購入したり無料で入手できるモデルが多数掲載されています。このようなサイトから3Dモデルを調達する際には、以下の点に注意してください。

  • ライセンス条項を確認する 使用する前に、モデルのライセンス条項を必ず確認してください。コンテンツを使用するための十分な権利を有しているかどうかは、お客様の責任においてご確認ください。

    Vircadiaサーバーで3Dモデルを利用できるようにすると、訪問者はウェブサイト上で画像を見るときと同じように、それらのファイルへのリンクを取得することになります。3Dコンテンツを再配布する権利を持っていることを認識する必要があります。

  • マテリアルを確認する モデルのテクスチャが欠落している場合があります。そのような場合は、まずテクスチャが含まれているかどうかを確認します。

    モデルがVircadiaにロードされ、正しく表示されない場合、インターフェースログにエラー情報を見つけることができるかもしれません。こちらを参照ください インターフェイスログファイルはどこにありますか?

3Dモデルを作成する

BlenderやMayaなどの3Dモデリングソフトを使用して、ご自身の3Dモデルを作成することができます。お好きなソフトをお使いください。

  • 3Dモデルは、FBX、glTF、OBJのいずれかの形式です。

  • 3DモデルマテリアルはVircadiaでサポートされています。 マテリアルガイド を使用して、マテリアルが正しく読み込まれることを確認してください。

ベストプラクティス

Vircadia(およびVR)用の3Dモデルを作ることは、映画やビデオ、ゲーム用のモデルを作ることとは異なります。

  • VR用の3Dモデルは2回レンダリングされます(右目用と左目用の両方)。つまり、モデルのポリゴン数や使用するマテリアルの数がパフォーマンスに影響します。

  • ほとんどのVRヘッドセットは90Hz以上で動作します。フレームレートを90fpsに保ち、モデルのサイズに注意する必要があります。大きすぎるモデルや非常に複雑なモデルは、フレームレートを低下させ、不自然な動きになる可能性があります。

Vircadia(およびVR)用の3Dモデルを作成するためのベストプラクティスをリストアップしました。

プロパティ

ベストプラクティス

ポリカウント

タブレットゲーム用のモデルのように、多すぎず少なすぎずでお願いします。例えば、5万ポリゴンは、詳細なアバターには十分すぎるほどの精度があります。

エッジループ

不要なエッジループを削除する。

メッシュ

メッシュをきれいにして、Nゴンやコプレーナーフェースがないことを確認します。優れた3Dモデリングソフトウェアであれば、エクスポート時にこの作業を行うはずです。

マテリアル

常にアトラスマップを作成するようにしましょう。コンテンツのすべてのピースが同じマテリアルとUV空間を共有している場合、それはアトラスマップです。例えば、ロボットを作成する場合、その手、足、または顔に別々のマテリアルとUVマップを与えるのではなく、すべてのピースが1つのUVマップを共有する必要があります。

マテリアル

Vircadiaのエンジンは、1つのマテリアルにつき1つのUVマッピングしかサポートしていません。

テクスチャ

PNG、JPEG、JPGファイルを推奨しますが、TGA、TIF、TIFFフォーマットにも対応します。

テクスチャ

色の種類を賢く選んで、最終的なファイルサイズを最小にしましょう。

テクスチャ

PNG-8は、透明度がON/OFFのみで、色のパレット(GIFと同じ256色)を持ち、透明度のマスクが可能です。

テクスチャ

色の解像度を上げたい場合は、PNG-24を使用します。半透明のマスクや透明なテクスチャを使用する場合は、PNG-32を使用してください。

テクスチャ

PNG-48、PNG-64はVircadiaではサポートされていませんので、使用しないでください。

テクスチャ

エンジンにロードされると、テクスチャは自動的に 128x128 のグリッドにリサイズされます。128の倍数のサイズを選ぶと、メモリの無駄遣いになりません。

テクスチャ

テクスチャは、テクスチャメモリに収まらない場合は自動的にダウンスケールされますが、ファイルサイズを小さくし、テクスチャのダウンスケールと再圧縮によるローエンドマシンの負担を軽減するために、できるだけ低い解像度を使用することは理にかなっています。例えば、4096x4096のテクスチャは、詳細なアバターには十分でしょう。ノーマルマップやエミッションマップなどは、メインカラーテクスチャほど高解像度である必要はありません。

DrawCall

Draw callは、何かが画面にレンダリングされる前に発生します。

1 model w/ 1 material = 1 draw call

望ましいPoly Countの決定的な尺度はありません。Draw callとポリゴン数の間でバランスをとる必要があります。Draw callが少なければ、ポリゴン数に余裕があります。テクスチャが小さいと、High-Polyモデルのための領域が広くなります。

Baking(ベイク)

アセットをベイクすることは、読み込み時間を短縮し、対象のCPUへの負担を軽減するのに非常に有効です。ベイクされたテクスチャは、CPUが事前に読み込んで圧縮することなく、ビデオメモリに直接読み込むことができます。(ダウンスケールする必要がない限り)ベイクされたモデルは、ファイルサイズを少し小さくすることで利益を得られるかもしれません。 コンテンツをベイクする を参照してください。