ゲーム内UIコンテナは、ゲームの3Dワールド内に表示したい GuiObjects を保持します。
- SurfaceGui は、3Dワールド内のパーツの表面にUIオブジェクトをレンダリングすることを可能にし、基本的なユーザーインタラクションを行うこともできます。
- BillboardGui は、3D空間にUIオブジェクトを表示するためのコンテナですが、常にカメラの方向を向いています。
サーフェスUI
Decals や Textures と同様に、SurfaceGui に親子関係を持つ TextLabels や ImageLabels などのUIオブジェクトは、それらが配置されている表面と同じ方向を向き、SurfaceGui.Face プロパティを通じて編集可能です。

ゲーム内の BasePart に SurfaceGui を適用するには、そのパーツに親子関係を持たせ、SurfaceGui.Face プロパティを設定します。子UIオブジェクトは、その親パーツのその面に表示されます。


また、SurfaceGui を StarterGui のようなコンテナ内に配置し、その Adornee プロパティを任意の BasePart に設定することもできます。これにより、スクリプトから実行時に設定できるため、配置の柔軟性が向上します。


サイズと位置
SurfaceGui の「キャンバス」は、親または Adornee パーツの Face 全体を占めます。ベストプラクティスとして、ImageLabels のような子UIオブジェクトの サイズ と 位置 には スケール 値を使用することをお勧めします。また、SurfaceGui の子要素に UIAspectRatioConstraint を適用して、面のサイズに関係なく希望のアスペクト比を維持することもできます。
障害モード
AlwaysOnTop プロパティは、SurfaceGui が3Dコンテンツの上にレンダリングされるか、またはそれに隠されるかを決定します。false(デフォルト)に設定されている場合、SurfaceGui は他の3Dコンテンツのようにレンダリングされ、他の3Dオブジェクトに隠されます。true に設定すると、常に3Dコンテンツの上にレンダリングされ、3D環境の 明るさ/光 に影響されません。
明るさと光の影響
Brightness と LightInfluence は、環境光が SurfaceGui のUIコンテンツにどのように影響するかを決定するために連携して機能します。
Brightness は、放出された光が 0 から 1000 の範囲でスケーリングされる係数を決定し、SurfaceGui をその環境に合わせることができます。たとえば、ビデオビルボードは、Brightness を 10 に増加させることで、暗い部屋の中で明るくすることができます。
LightInfluence は、場所の照明が SurfaceGui にどの程度影響を与えるかを制御し、0 から 1 の範囲で設定されます。これを 1 に設定すると、周囲の照明が外観に完全に影響を与え、0 に設定すると照明は影響を与えません。

距離の可視性
MaxDistance は、カメラからどれだけ離れた位置で SurfaceGui が表示されるかを制御し、それを超えるとレンダリングが停止します。値が 0 の場合、制限はなく、無限に遠くまでレンダリングされます。デフォルト値の 1000 はほとんどのケースで問題ありません。
屋外に表示される SurfaceGuis については、コンテナのUIが表示または非表示になるときに画面上で十分に小さくなるように、MaxDistance を高く設定することをお勧めします。これにより、突然のポップイン/アウト効果を最小限に抑えることができます。
表示順序
同じ面に複数の SurfaceGui コンテナが存在する場合、ZOffset プロパティを通じてZインデックスでレイヤーを重ねることができます(これを変更しても、視覚的にコンテナが表面から「持ち上がった」り「沈んだ」りすることはありません)。
ビルボードUI
BillboardGui コンテナは、3D空間にUIオブジェクトを表示しますが、SurfaceGui とは異なり、BillboardGui の子要素は常にカメラを向いています。このコンテナは、ゲーム内のオブジェクトの上に健康メーターやプレイヤーキャラクターの名前を表示したり、3Dワールド内のオブジェクトへのプレイヤーを誘導するマーカーを表示したりするのに便利です。

ゲーム内の BasePart または Attachment に BillboardGui をリンクするには、そのパーツまたはアタッチメントに親子関係を持たせ、必要に応じて サイズ/位置 を調整します。


また、BillboardGui を StarterGui のようなコンテナ内に配置し、その Adornee プロパティを任意の BasePart または Attachment に設定することもできます。この方法は、Adornee を実行時にスクリプトから設定できるため、配置の柔軟性が向上します。たとえば、実行時にプレイヤーキャラクターの頭上に BillboardGui を配置することができます。
サイズと位置
ビルボードのサイズ設定では、Size プロパティの スケール コンポーネントが、3D空間におけるビルボードのスタッドサイズを設定します。たとえば、設定が {10, 0},{2, 0} (UDim2.fromScale(10, 2)) の場合、カメラからの距離に応じて大きくなったり小さくなったりする10:2のアスペクト比のビルボードが形成されます。
位置設定では、StudsOffset プロパティが、カメラに対してビルボードキャンバスを X 軸(左/右)、Y 軸(上/下)、Z 軸(前/後)にシフトします。
障害モード
AlwaysOnTop プロパティは、BillboardGui が3Dコンテンツの上にレンダリングされるか、またはそれに隠されるかを決定します。false(デフォルト)に設定されている場合、BillboardGui は他の3Dコンテンツのようにレンダリングされ、他の3Dオブジェクトに隠されます。true に設定すると、常に3Dコンテンツの上にレンダリングされ、3D環境の 明るさ/光 に影響されません。
明るさと光の影響
Brightness と LightInfluence は、環境光が BillboardGui のUIコンテンツにどのように影響するかを決定するために連携して機能します。
Brightness は、放出された光が 0 から 1000 の範囲でスケーリングされる係数を決定し、BillboardGui をその環境に合わせることができます。たとえば、ビデオビルボードは、暗い部屋の中で Brightness を 10 に増加させることで明るくすることができます。
LightInfluence は、場所の照明が BillboardGui にどの程度影響を与えるかを制御し、0 から 1 の範囲で設定されます。これを 1 に設定すると、周囲の照明が外観に完全に影響を与え、0 に設定すると照明は影響を与えません。

距離の可視性
MaxDistance は、カメラからどれだけ離れた位置で BillboardGui が表示されるかを制御し、それを超えるとレンダリングが停止します。値が 0 または inf(デフォルト)の場合、制限はなく、無限に遠くまでレンダリングされます。