シーン分析ツールは、Roblox Studio内において、クライアントおよびサーバーシーンの構成、使用されているリソース、およびそのリソース使用に責任があるインスタンスについて、一目で比較情報を提供します。シーン分析はプレイやテストセッション中に使用するために設計されており、クライアントおよびサーバーデータモデルの両方を検査できます。

シーン分析を有効にする
メニューバーで ウィンドウ > パフォーマンスの概要 > シーン分析 を選択します。
シーン分析を使用する
シーン分析は、プレイまたはテストセッション中に使用するために設計されています。シーン分析ウィンドウを開いて、利用可能なモードをブラウズします。モードがアクティブになると、リソースの相対的なサイズとそれに貢献しているインスタンスを示すボックスの表示―スクワリファイドツリーマップビュー―が表示されます。
- スクワリファイドツリーマップビューの下には、現在のビューにあるすべてのアイテムのリストがあります。
- シーン分析で選択したアイテムを右クリックすると、通常はExplorer内のそのアイテムに直接移動できます。
- 検索バーを使用して、現在の表示で名前でフィルタリングできます。
モード
シーン分析には多くの異なるモードがあり、それぞれ異なるユースケースに対応しています。
スクリプトメモリ
このビューでは、Luau VM内で各 Script、LocalScript、ModuleScript が使用しているメモリ量を表示します。これは、アセット(アニメーション、テクスチャ、サウンドなど)ではなく、テーブルやその他のスクリプト割り当てによって使用されるメモリです。このビューは、スクリプトが実行される一般的な場所と、Script 対 ModuleScript によってさらに細分化されています。
親がいないインスタンス
親がいないインスタンスビューは、インスタンスへの参照を保持しているスクリプトおよびモジュールを、種類別のカウントで表示します。
インスタンスへの参照を保持しているスクリプトは通常のことであり、それ自体がバグやメモリリークの兆候ではありません。しかし、メモリリークを調査している場合、このビューを使えば、スクリプトが予期しない動作をしているかどうかを簡単に発見できます。
メモリリークの根本原因を見つけるのにまだ困難を感じている場合、このツールは、個別の割り当てに関するさらなる情報を表示できる Luau heap ツールと互補的です。
このビュー内の任意のスクリプトを右クリックして、Explorer内で直接選択できます。
インスタンス構成
インスタンス構成ビューは、クライアントまたはサーバーに現在存在するインスタンスを表示します。これは、大規模で複雑なビルドに取り組む際に非常に貴重です。各インスタンスにはレプリケーションおよびメモリコストがあります。
キャラクター、ジオメトリ、テクスチャなどのカテゴリは、シーンがどのようにバランスを取るかを理解するのに役立ちます。たとえば、25,000のパーティクルエミッターを意図していなかった場合でも、このビューを使えばそれを把握できます。
このビューでは、特定のタイプのインスタンスをすべて選択するのも簡単です。
オーディオメモリ
オーディオメモリビューでは、各オーディオアセットが現在消費しているメモリ量を表示します。特定のオーディオトラックによって使用される実際のメモリは非常に複雑ですが、実際的な意味では、オーディオトラックを参照するすべてのインスタンスを削除することで、メモリをアンロードできます。
このビュー内で任意のオーディオアセットを右クリックすると、それを使用しているすべてのインスタンスを選択できます。
アニメーションメモリ
アニメーションアセットは、制作におけるメモリリークの最も一般的な原因の1つです。Robloxは未使用のアニメーションアセットをアンロードすることに対して積極的ですが、スクリプトが親モデルが破棄された後にアニメーションを保持することがよくあります。
オーディオアセットと同様に、アニメーションアセットを参照するすべてのインスタンスを削除することで、それをアンロードできます。
このビューと親がいないインスタンスビューを利用することで、アニメーションのライフサイクルと実際にどれだけのメモリを使用しているかを追跡するのが簡単になります。
このビュー内の任意のアニメーションを右クリックすると、それを使用しているすべてのインスタンスを選択できます。
三角形構成
三角形構成ビューでは、メインビューポートで現在レンダリングされている三角形とドローコールの詳細な内訳を提供します。
この内訳には、影、オペーク、透明、地形、草、パーティクル、空、UIのカウントが含まれます。
この構成情報は、シーンのジオメトリがどのように構成されているかをよりよく理解し、シーンに予期しないジオメトリが含まれているケースを特定するのに役立ちます。
エンジンAPI
Scene Analysisデータにプログラム的にアクセスするには、SceneAnalysisServiceを介して行います。これは MCPサーバー を介して公開されています。各メソッドは、視覚表示が使用しているのと同じデータを含むネストされた子を持つテーブルを返します。
| メソッド | 説明 |
| GetInstanceCompositionAsync | カテゴリおよびクラスごとのインスタンスカウントを DataModel ツリーから返します。 |
| GetScriptMemoryAsync | バイト単位のスクリプトごとのLuau VMヒープメモリ使用量を返します。 |
| GetUnparentedInstancesAsync | DataModel にもはや存在しないがLuauによって保持されているインスタンスを、ホストスクリプト別にグループ化して返します。 |
| GetTriangleCompositionAsync | レンダーパスごとの三角形およびドローコールのカウントを返します。 |
| GetAnimationMemoryAsync | クリップごとに重複を排除して、ロードされたアニメーションクリップのメモリを返します。 |
| GetAudioMemoryAsync | アセットIDごとに重複を排除して、ロードされたオーディオアセットのメモリを返します。 |