表示テーマ
ScreenSpaceOutline Component
画面上のMaskから輪郭を作ります。
設定する手順
- 対象Rendererへ追加し、幅・色・Mask方式を指定します。
- SceneViewまたはGameViewで結果を確認します。
- 編集中のSceneまたはPrefabを保存します。
項目の説明
| 項目 | C#名 | 型 | 操作 | 定義時の初期値 | 意味 |
|---|---|---|---|---|---|
| 有効 | Enabled | bool | 読取・変更 | true | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
| 色 | Color | Color4 | 読取・変更 | Color4::FromHex(0xFF8A00FF) | 色を指定します。RGBAではAlphaも持ちます。 |
| Alpha閾値 | AlphaThreshold | float | 読取・変更 | 0.1f | 透明部分をMaskから除くAlpha閾値です。 |
| 幅(px) | WidthPixels | float | 読取・変更 | 3.0f | 画面上の輪郭幅です。単位はpixelです。 |
| VisibilityMode | VisibilityMode | ScreenSpaceOutlineVisibilityMode | 読取・変更 | ScreenSpaceOutlineVisibilityMode::VisibleOnly | 遮蔽に応じた輪郭の表示方式です。 |
| RegionMode | RegionMode | ScreenSpaceOutlineRegionMode | 読取・変更 | ScreenSpaceOutlineRegionMode::AllVisibleSilhouettes | 輪郭に含める領域です。 |
| AlphaSource | AlphaSource | ScreenSpaceOutlineAlphaSource | 読取・変更 | ScreenSpaceOutlineAlphaSource::OutputColor | 輪郭Maskに使うAlphaの取得元です。 |
| UiOcclusionMode | UiOcclusionMode | ScreenSpaceOutlineUIOcclusionMode | 読取・変更 | ScreenSpaceOutlineUIOcclusionMode::RespectRenderOrder | UIとの重なりで輪郭を隠す方式です。 |
| 優先順位 | Priority | int | 読取・変更 | 100 | 適用・合成・選択の優先順位です。 |
Inspectorの設定と使い方
「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。
| 設定・操作 | 編集場所 | C#の入口 | 意味・使い方 |
|---|---|---|---|
| 色・幅・優先順位 | Editor / C# | Enabled / Color / WidthPixels / Priority | 画面上のMaskを使って輪郭を作ります。幅はpxです。複数のOutlineが重なったときはPriorityと描画条件を確認します。 |
| 表示方式・領域方式 | Editor / C# | VisibilityMode / RegionMode | 現在の表示方式はVisibleOnlyです。領域は見えている輪郭全体か外周優先を選びます。壁の向こうへ透けるOutlineが自動で提供される設定ではありません。 |
| Alpha判定元・閾値・UI重なり | Editor / C# | AlphaSource / AlphaThreshold / UiOcclusionMode | 透明部分をMaskへ含める基準と、UIに重なるときの合成を調整します。InvertedHullOutlineとはMaskの作り方が異なるため、同じ閾値でも結果を比較してください。 |
初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。
C#から使う
操作型はScreenSpaceOutlineです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。
選択値(Enum)
| 型・各値の詳説 | 使える値 |
|---|---|
| ScreenSpaceOutlineAlphaSource | OutputColor / TextureColor |
| ScreenSpaceOutlineRegionMode | AllVisibleSilhouettes / ExteriorPreferred |
| ScreenSpaceOutlineUIOcclusionMode | AlwaysVisible / RespectRenderOrder |
| ScreenSpaceOutlineVisibilityMode | VisibleOnly |
ScreenSpaceOutline
| 宣言・詳説 | 種類・操作 | 役割 |
|---|---|---|
public ScreenSpaceOutlineAlphaSource AlphaSource | プロパティ(読取・変更) | 輪郭Maskに使うAlphaの取得元です。 |
public float AlphaThreshold | プロパティ(読取・変更) | 透明部分をMaskから除くAlpha閾値です。 |
public Color4 Color | プロパティ(読取・変更) | 色を指定します。RGBAではAlphaも持ちます。 |
public bool Enabled | プロパティ(読取・変更) | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
public static ScreenSpaceOutline FromEntity(GameObject gameObject) | 関数 | 既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。 |
public int Priority | プロパティ(読取・変更) | 適用・合成・選択の優先順位です。 |
public ScreenSpaceOutlineRegionMode RegionMode | プロパティ(読取・変更) | 輪郭に含める領域です。 |
public ScreenSpaceOutlineUIOcclusionMode UiOcclusionMode | プロパティ(読取・変更) | UIとの重なりで輪郭を隠す方式です。 |
public ScreenSpaceOutlineVisibilityMode VisibilityMode | プロパティ(読取・変更) | 遮蔽に応じた輪郭の表示方式です。 |
public float WidthPixels | プロパティ(読取・変更) | 画面上の輪郭幅です。単位はpixelです。 |
public static int componentTypeID | プロパティ(読取専用) | 組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。 |
継承する共通操作:Component
継承する共通操作:Object
使用時の注意
InvertedHullOutlineとは幅と遮蔽の判定方法が異なります。Editorの選択Outlineとは別設定です。
Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。