SurfaceGui
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
基本的なユーザーインタラクションが発生することを許可しながら、3D 世界の表面に GUI 要素をレンダリングできます。SurfaceGuis は、PlayerGui の子孫である必要があります。表面Guis は、どのプレイヤーがそれと対話しているかを知るために PlayerGui の子孫でなければなりません。
性能の向上のために静的 UI をキャッシュする
次のイベントの 1 つが発生するまで、GUI の外観はキャッシュされます:
- 子がGUIに追加されます。
- 子孫は、GUIから削除されます。
- GUI の子孫のプロパティが変更される。
- GUI のプロパティが変更されます。
これらのイベントが発生すると、GUI の外観は次のフレームで再計算されます。
概要
プロパティ
SurfaceGui が常に他の 3D オブジェクトの上にレンダリングされるかどうかを決定します。
GUIのライトがスケールされるときの要素を決定します。 LightInfluence が 0 のとき、GUIのライトがスケールされる要素は次のとおりです。
「バーチャル画面」のサイズ、「バーチャルピクセル」で、SurfaceGuis のピクセル間の互換性をサポートします。
オンに設定すると、サーフェスギュイのキャンバスボーダーの外にある GuiObjects の一部は描画されません。
SurfaceGui がゲームワールドの照明にどれほど影響されるかを制御します。
表示する前に SurfaceGui の距離をコントロールします。
世界スペースのスクリーン空間ピクセルの数を決定します。これは、表面ギュイのコンテンツをレンダリングするために使用される世界スペースのスタッドプレットです。
SurfaceGui がスタッドでサイズを変更するか、固定サイズでレンダリングするかを決定します。
持続ツールではなく、表面GUI をクリックしたときに作動する距離を設定します。
接続されている表面のノーマルに対する SurfaceGui のオフセットをオフセットします。
この LayerCollector の透明度を切り替えます。
プレイヤーのキャラクターがリスポーンするたびに LayerCollector がリセットされるかどうかを決定します。
この GuiObject.ZIndex のすべての子孫で LayerCollector がどのように動作するかを制御します。
UI 要素の実際の画面位置をピクセルで説明します。
UI 要素の実際のスクリーン回転を、度数で説明します。
UI 要素の実際の画面サイズをピクセル単位で説明します。
設定を「真」に設定すると、ローカライズはこの GuiBase2d とその子孫に適用されます。
この GuiBase2d とその後の子孫に自動的にローカライズを適用するために使用される LocalizationTable の参照。
下向きにゲームパッドの選択動作をカスタマイズします。
左側のゲームパッド選択動作をカスタマイズします。
右方向のゲームパッド選択動作をカスタマイズします。
ゲームパッドの選択動作を上向きにカスタマイズします。
ゲームパッドの選択動作をカスタマイズできます。
イベント
GuiBase2d から継承した イベント- SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
ゲームパッドの選択が移動すると、退出します。または、接続された GuiBase2d または任意の子 GuiObjects 内で変更されます。
プロパティ
AlwaysOnTop
SurfaceGui が 3D コンテンツの上にレンダリングするか、または 3D コンテンツによって隠されるかを決定します。
フラグを偽に設定すると、SurfaceGui は他の 3D コンテンツと同じようにレンダリングされ、他の 3D オブジェクトによって隠されます。
設定を「真」にすると、3D コンテンツのトップに常にレンダリングされ、外観が大幅に変更されます:
- 色は、ScreenGui 内のどのように表示されるかに一致します。
- 高いDPIデバイスでテキストは鋭く表示される場合があります。
- SurfaceGui.LightInfluence は 0 として扱われます。
- SurfaceGui.Brightness にはエフェクトはありません。
Brightness
明るさ は、GUI のエミットされた光のスケールに使用される要素を決定します。デフォルトでは、このプロパティは 1 ですが、範囲 [0, 1000] に任意の値を設定できます。
このプロパティを変更することで、GUI の明るさは環境によくマッチできます。たとえば、タイムスクエアにあるビデオボードは、明るい日にはよく見えるように明るくすることができます。
このプロパティは、GUI が光を放出しない次のシナリオでは影響を与えません:
- Class.SurfaceGui.AlwaysOnTop|AlwaysOnTop が true の場合、各ピクセルの色は画面に表示されている色です。
- Class.SurfaceGui.LightInfluence|LightInfluence が 1 であると、GUI からのすべての光が環境から反射され、エミットされる代わりに発生します。
ClipsDescendants
オンに設定すると、サーフェスギュイのキャンバスボーダーの外にある GuiObjects の一部は描画されません。
このプロパティが偽であっても、SurfaceGui のキャンバスの外にあるオブジェクトはレンダリングされません。
MaxDistance
サーフェスギュイのレンダリングを停止する前に表示されることの距離を制御します。0の値は、制限がありません、そして、無限に遠くにレンダリングされます。
多くのサーフェスGUIでエクスペリエンスを持つ場合、これを各サーフェスGUIに対して適切な値に設定することをお勧めします。Studio でサーフェスGUIを挿入するときのデフォルト値は 1000です。これは、ほとんどのユースケースにとって問題ないでしょう。
屋外の UI の場合は、MaxDistance を遠くに設定して、UI が画面に表示されるときにスクリーンの小さなサイズを維持する必要があります。これにより、屋外に表示されるときに目立たなくなります。
サーフェスギュイの下に似たデカールを追加するか、UI の背景色と同じようにパーツの色を変更して、ポップをさらに減少させることができます。
室内の場合は、MaxDistance を Room のサイズより少し大きく設定して、プレイヤーが別の部屋にいるときに UI がレンダリングされないようにします。
PixelsPerStud
ピクセルパースタッド は、サーフェスギュイのコンテンツをレンダリングするために使用されるピクセルの密度を決定します。
より高い値は、GuiObject 内のさまざまなオブジェクトが同じサイズで表示される
SizingMode
Class.SurfaceGui.CanvasSize を使用して、サーフェスGUIを固定サイズに設定すると、SurfaceGui.CanvasSize を使用してサイズを設定したサイズのサーフェスをレンダリングします。
Class.SurfaceGui.PixelsPerStud に設定されると、SurfaceGui は、 SurfaceGui.PixelsPerStud とサーフェスギュイのサイズを基に変数サイズを持つようにレンダリングされます。
ToolPunchThroughDistance
持っているツールではなく、表面ギュイの開始時点で反応する距離を設定します。たとえば、キャラクターが表面ギュイのこの距離にある場合、ツールはクリックではなく、ツールを開始しません。