経験を最適化する

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。


経験を最適化することは、メモリとグラフィックス処理ユニット(GPU)の制限があるデバイスでフレームレートとパフォーマンスレベルを高く保つために、あなたの資産とStudioの設定を構成するプロセスです。このプロセスは、ほぼすべてのユーザーが環境を表示している間、同じゲームプレイと視覚体験を持つことを保証します。

Environment Art - Optimizing .rbxlファイルを参考にして、この環境アートカリキュラムのこのセクションでは、最適なグラフィックスのためにプレイスファイルをレビューおよび構成する方法を示します。以下のガイダンスが含まれています:

  • 各資産の物理およびレンダリングパラメータをレビューして、メモリおよびエンジン性能を維持することを確認します。
  • Robloxエンジンが資産をレンダリングする際に行わなければならない計算の量を不必要に増加させる、余分なテクスチャ、ジオメトリ、または透明度を排除します。

Robloxエンジンはほとんどの最適化作業を自動的に処理しますが、Microprofilerを活用することで、特定のフレームをレンダリングするのにどれくらいの時間がかかるかを確認し、これらの最適化作業を支援することができます。この情報を使用して、パラメータや余分なコンテンツに関して注意が必要な資産について情報に基づいた決定を下すことができます。Scene Analysisは、リソース使用状況をチェックするためのもう一つの強力なツールです。

物理およびレンダリングパラメータのレビュー

資産ライブラリを構成するの中で、資産がメモリとGPUの制限があるデバイス全体で高い視覚品質を維持できるように物理およびレンダリングパラメータを設定することの重要性を学びました。しかし、環境を構築しているときには、経験の中での資産の文脈的な位置や目的に応じて、これらのパラメータを調整することが一般的です。たとえば、最終サンプルのレーザータグ環境の多くの草木は、パフォーマンスコストにもかかわらず影を落とします。これは環境のリアリズムを増すからです。

物理およびレンダリングパラメータを変更するとき、開発プロセスの終わり近くで、すべてのパラメータをレビューして、特定のパラメータを最適化できる場所を確認することが役立ちます。例として、ゲームプレイエリアの端に近い草木のためにBasePart.CastShadowプロパティを無効にすることで、パフォーマンスを節約でき、ユーザーのゲームプレイや視覚体験には影響を与えません。

不要なコンテンツの排除

物理およびレンダリングパラメータをレビューした後、経験の中でゲームプレイに影響しない不要なコンテンツを排除できる場所を見るために資産自体をレビューできます。例えば、異なる資産IDを持つ同一のテクスチャ、頂点数が多い複雑なジオメトリ、またはカメラビューに応じて重なる透明度などです。以下のセクションでは、これらのコンテンツをレビューするためにできることと、なぜそれが最適化作業に役立つのかを詳述します。

重複するテクスチャの削除

資産を開発し、環境を構築する過程で、視覚的な目標やゲームプレイ要件に必要なものを見つけるためにメッシュやテクスチャを繰り返し検討することが一般的です。資産をパッケージに変換しない場合、これらの繰り返しをStudioにインポートすると、Robloxエンジンが環境内で資産をレンダリングするために参照する必要があるユニークな資産IDを作成します。

例えば、以下の2つの消火栓のメッシュを別々にStudioにインポートすると、見た目が全く同じであっても、Robloxエンジンはそれをユニークな資産IDを持つ2つのオブジェクトとみなします。エンジンが行う必要のあるユニークな呼び出しが多いほど、メモリとパフォーマンスに与える影響が大きくなります。そのため、資産を複数回再利用する際には、各インスタンスが同じ資産IDを使用することで、エンジンがそれを繰り返しレンダリングするために1回の呼び出しで済むようにすることが重要です。

ユニークな資産IDを持つ完全に同じ消火栓が2つ。視覚的な違いはありませんが、重複する資産IDはパフォーマンスに悪影響を及ぼします。

ジオメトリの最適化

異なるデバイスでフレームレートを向上させるためにさらに調整が必要な場合は、ジオメトリを最適化できる場所を確認するのが役立ちます。例えば:

  • メッシュのグループを単一の資産にまとめる。
  • ジオメトリの複雑さを持つ資産のポリゴン数を減少させる。

この最初の手法を詳しく説明すると、あなたの経験の中のそれぞれのユニークな資産は、Robloxエンジンが資産を正しくレンダリングするためにGPUに信号を送るドローコールを表しています。ユニークな資産が多ければ多いほど、システムが作成する必要のあるドローコールが増えます。そのため、あなたが経験の中でより大きなコンポーネントを構成するメッシュのグループを持っている場合、サードパーティのモデリングツールを使用してそれらをまとめることで、複数のドローコールの必要性を減少させることができます。

この点を説明すると、最終サンプルのレーザータグ環境では、建物の外にある大きなタワーを作成するために複数のパーツとメッシュが親子関係を持っています。これらの個々のコンポーネントをすべて組み合わせれば、1つの資産にして資産IDを1つにし、ドローコールの数を8から1に減少させることができます。ただし、この手法では各コンポーネントの視覚的および物理的特性(位置や材料など)を自由に変更する能力が失われることがありますので、注意が必要です。

以下の画像では、左側のタワーはModelオブジェクトの下に複数の資産を保持していますが、右側のタワーは単一の資産です。左のタワーの各コンポーネントは個別に変更できますが、右のタワーを変更する場合、例えばその色を黒に変更すると、そのオブジェクト全体に影響します。これが、視覚的な目標に影響を与えることなくパフォーマンスを向上させる可能性がある場所を知っている場合にのみ、この手法を環境の開発の終わり近くに検討することが重要な理由です。

2つの塔の正面図。左側の塔は単一のモデルの下に複数の資産を含み、右側の塔はすべてのテクスチャオブジェクトを削除することで資産を減少させています。

次の手法について補足すると、ジオメトリの複雑さを持つ資産はポリゴン数が多く、エンジンがその視覚的外観をレンダリングするために計算しなければならない頂点が多くなります。これは、複雑さや忠実度が低い資産の方がレンダリングコストが少ないことを意味し、パフォーマンスとメモリの両方が改善されます。

レイヤー化された透明度の削除

環境にリアリズムを持たせるために、最終サンプルのレーザータグ環境には、屋外スペースの草木や未来的な看板やプランターの手すりのガラスなど、異なる透明度のメッシュが多数含まれています。カメラが前後にある複数の半透明オブジェクトを表示する場合、Robloxエンジンは、透明な領域を考慮するために重なったピクセルを複数回レンダリングしなければなりません。このプロセスは高透明オーバードローと呼ばれ、パフォーマンスに大きな影響を与えます。

例えば、サンプル環境のプランターの以下のビューを考えてみましょう。エンジンはカメラに最も近い植物から屋外エリアに最も近い植物までの葉の透明な領域をレイヤーとしてレンダリングし、多くのオーバードローが発生する数十万のピクセルを計算する必要があります。この影響を軽減するために、環境内のすべての半透明オブジェクトのレイアウトをレビューし、多くの重なりがある場所があまりにも多くないことを確認することが重要です、特に画面の大きな領域では。

葉の間に透明性を持つ複数の植物を持つプランターに向かうRthroアバター。
複数の植物を持つプランターに向かうRthroアバターの側面図。オーバードローの例が示されており、環境におけるオーバードローが強調されています。

すべてのコンテンツをレビューして、さまざまなデバイスで最適化されていることを確認した後、あなたの経験は公開の準備が整いました!

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。