Warning
このドキュメントは古くなっています。FIXME:Linuxに関する情報が欠落しているサンドボックスに言及(現在、オーブンはサーバーにのみ付属しており、AppImageは付属していません)、オーブンにはGUIアプリケーションがあると述べています(私にとってはニュースです)
コンテンツの最適化(ベイク処理)
Vircadiaのほとんどのコンテンツ(アバター、エンティティなど)は、テクスチャ、モデル、スクリプト、マテリアルなどの外部リソースを参照しています。ユーザーがドメイン内のコンテンツに遭遇した場合、コンテンツのリソースをダウンロードする必要があります。これらのリソースの多くは最適化されておらず、ダウンロードに時間がかかる場合があります。 ベイク処理 は、これらのリソースを最適化して、送信、保存、レンダリングを容易にし、ロード時間を大幅に短縮するプロセスです。
コンテンツ
オーブン
オーブンはVircadia Client + Sandbox <https://vircadia.com/deploy-a-server/>`のインストーラの一部としてパッケージされているスタンドアロンアプリケーションです。インストールしたパスから、 ``oven.exe` (Windows) または oven.app
(Mac)を探してください。
オーブンを使用すると、次の種類のコンテンツを最適化(ベイク)できます。
タイプ |
説明 |
---|---|
テクスチャ |
テクスチャをベイクすると、結果のフォルダには .texmeta.json ファイル、さまざまな .ktx イメージ、および元のテクスチャが含まれます。ベイクすると、圧縮によるデータの歪が発生する場合がありますが、通常は軽微なものです。テクスチャをベイクすると、メインデータに付随してそれを様々な大きさに縮小しフィルタリングしたデータ群が生成され、その結果が圧縮されます。スカイボックスのような大きなテクスチャのベイクには時間がかかりますが、スカイボックスイメージをロードするすべての人のランタイムでの利点は大きくなります。最高の体験を得るには、PNG または JPEG(JPG)テクスチャを使用することをお勧めします。サポートしているテクスチャファイルフォーマット:TGA、TIF、および TIFF。 |
マテリアル |
マテリアルをベイク処理すると、.baked.jsonファイルが生成され、マテリアル内のすべてのテクスチャもベイク処理されます。現在、 マテリアルエンティティJSONファイル<../../create/entities/material-entity.html#generate-a-material-entity> のベイク処理のみがサポートされています。 |
3Dモデル |
モデルをベイク処理すると、 Draco圧縮<https://github.com/google/draco> ジオメトリックメッシュが生成され、モデル内のすべてのマテリアルもベイク処理されます。メッシュ圧縮により、元のモデルのジオメトリがわずかに変更される可能性がありますが、通常は軽微です。出力フォルダーには、.baked.fstファイル、.baked.fbxファイル(モデルの元の形式は異なる場合があります)、および.baked.jsonファイル(マテリアル)が含まれます。ベイクされたマテリアルのJSONファイルはベイクされたテクスチャファイルを参照するため、すべてのテクスチャが.baked.fbxファイルから削除されます。このJSONファイルは、.baked.fstファイルの materialMap フィールドで参照されます。次の形式をサポートしています:FBX、OBJ、およびFST(サポートされているタイプを指します)。 |
アバター |
アバターは3Dモデルであるため、上記と同じ結果でアバターをベイク処理できます。結果の.baked.fstファイルを使用して、 ベイクしたアバターをホストして着用します <../../create/avatars/package-avatar.html#host-your-avatar> 。 |
オーブンには、アプリケーションとコマンドラインインターフェイスの2つの異なるインターフェイスがあります。ニーズに最適なものを使用してください。
オーブンアプリケーションの使用
オーブンアプリケーションには、次の3つのベーキングオプションがあります。
ドメイン内のすべてのアセットのベイク
個々の3Dモデルとアバターのベイク
スカイボックスファイルのベイク
ベイクするものを選択後、いくつかの情報を入力する必要があります。
分野 |
ベーキングオプション |
説明 |
---|---|---|
ドメイン名 |
ドメイン |
ドメイン名を入力します。 |
エンティティファイル |
ドメイン |
ドメイン内のアセットの.jsonまたは.json.gzをアップロードします。これは、 コンテンツをJSON<export-content.html#export-entities-to-json> にエクスポートすることで実行できます。 |
モデルファイル |
モデル |
モデルファイルのファイルまたはURLパスを入力します。 |
スカイボックスファイル |
スカイボックス |
スカイボックスファイルのファイルまたはURLパスを入力します。 |
出力ディレクトリ |
ドメイン、モデル、スカイボックス |
これは、ベイクされたコンテンツが保存される場所です。 |
宛先URLパス |
ドメイン |
ベイク後にリソースをアップロードする場所の絶対パスを入力します。例えば、カスタム3Dモデルをクラウドホスティングサービスに保存する場合、そのURLを入力します。 |
オリジナルをベイクし直す |
ドメイン |
オーブンがコンテンツアーカイブで見つけたベイク処理されたコンテンツを再ベイクするかどうかを確認します。 |
Note
ドメインをベイク処理した後、ベイク処理されたすべてのコンテンツ(3Dモデル、スカイボックスなど)を「宛先URLパス」に指定されたURLにアップロードすることを忘れないでください。これにより、 ベイクされたコンテンツセット をドメインにアップロードするときに、すべてのコンテンツが正しく読み込まれるようになります。
コマンドラインインターフェイスの使用
GUIの代わりにコマンドラインインターフェイスを使用して、(ドメインではなく)単一のアセットをベイク処理することもできます。次の属性をサポートします。
i: ベイクしたいファイルへのパス。
o: 出力ディレクトリとして使用されるフォルダへのパス。
t: アセットのタイプ。値は、「model」(任意のモデルタイプの場合)および「material」(マテリアルのJSON記述の場合)にすることができます。テクスチャの場合、値は、ベイク処理するテクスチャのタイプ(デフォルト、ストリクト、アルベド、ノーマル、バンプ、スペキュラー、メタリック、ラフネス、グロス、エミッション、キューブ(スカイボックスと同じ)、スカイボックス、アンビエント、オクルージョン、散乱、およびライトマップ。
disable-texture-compression:すべてのタイプのテクスチャ圧縮を無効にします。これは、テクスチャ圧縮によってアーティファクトが多すぎる場合にのみ使用してください。
オーブンのコマンドラインインターフェイスを介して3Dモデルをベイク処理するには:
>> oven.exe -i %path to model% -o %output directory% -t model
オーブンのコマンドラインインターフェイスを介してマテリアルをベイク処理するには:
>> oven.exe -i %path to material json% -o %output directory% -t material