Skip to content

InvertedHullOutline Component ​

モデルを法線方向へ膨らませた背面で輪郭を描きます。

設定する手順 ​

  1. Rendererと同じGameObjectへ追加し、色と幅を指定します。
  2. SceneViewまたはGameViewで結果を確認します。
  3. 編集中のSceneまたはPrefabを保存します。

項目の説明 ​

項目C#名型操作定義時の初期値意味
有効Enabledbool読取・変更trueこのComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。
WidthWidthfloat読取・変更0.01f線または輪郭の幅です。幅の空間設定も確認します。
色ColorColor4読取・変更Color4::Black()色を指定します。RGBAではAlphaも持ちます。
ExpansionModeExpansionModeOutlineExpansionMode読取・変更OutlineExpansionMode::NormalDirection輪郭の膨らませ方を選びます。
WidthModeWidthModeOutlineWidthMode読取・変更OutlineWidthMode::ModelUnits幅を測る空間を選びます。
Camera Z OffsetCameraZOffsetfloat読取・変更0.0f輪郭をCameraの奥行き方向へずらす量です。
Baked Normalを使うUseBakedNormalbool読取・変更false輪郭用に保存した法線を利用します。
Baked Normal TextureBakedNormalTextureTexture?読取・変更{}輪郭生成用の法線Textureです。
部位別幅を使うUseOutlineSamplerbool読取・変更false輪郭用のTextureサンプルを利用します。
Outline SamplerOutlineSamplerTextureTexture?読取・変更{}輪郭Maskに使うTextureです。
Materialの透明度を反映RespectMaterialSurfacebool読取・変更true通常Materialの透明部分・AlphaClip・頂点変形に輪郭を合わせます。無効ならMesh形状を使います。
Alpha閾値AlphaThresholdfloat読取・変更0.1f透明部分をMaskから除くAlpha閾値です。
Stencil抑制UseStencilbool読取・変更falseStencilを使って輪郭の重なりを制御します。

Inspectorの設定と使い方 ​

「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。

設定・操作編集場所C#の入口意味・使い方
色・幅・幅モードEditor / C#Enabled / Color / Width / WidthModeモデルを膨張した背面で輪郭を描きます。ModelUnitsはモデルの大きさ、ScreenPixelsは画面上のpxを基準にするため、距離による太さの変化が異なります。
膨張方式・Camera Z OffsetEditor / C#ExpansionMode / CameraZOffset法線方向へ押し出すか、位置の拡大を使うかを選びます。Z Offsetは深度の重なりを調整するための値で、幅の代用ではありません。
Materialの透明度・Alpha閾値Editor / C#RespectMaterialSurface / AlphaThreshold透明度を反映すると、MaterialのAlphaClipなどを基準にします。無効時は形状を基準にするため、葉の画像の透明部分まで輪郭が出る場合があります。
Baked Normal・部位別幅・StencilEditor / C#UseBakedNormal / BakedNormalTexture / UseOutlineSampler / OutlineSamplerTexture / UseStencil専用Textureで膨張方向や部位別の幅を補助します。Stencil抑制は内側の重なりを抑える指定です。通常のBaseColor Textureをそのまま専用データの代用にはしません。

初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。

C#から使う ​

操作型はInvertedHullOutlineです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。

選択値(Enum) ​

型・各値の詳説使える値
OutlineExpansionModeNormalDirection / PositionScaling
OutlineWidthModeModelUnits / ScreenPixels

InvertedHullOutline ​

宣言・詳説種類・操作役割
public float AlphaThresholdプロパティ(読取・変更)透明部分をMaskから除くAlpha閾値です。
public Texture? BakedNormalTextureプロパティ(読取・変更)輪郭生成用の法線Textureです。
public float CameraZOffsetプロパティ(読取・変更)輪郭をCameraの奥行き方向へずらす量です。
public Color4 Colorプロパティ(読取・変更)色を指定します。RGBAではAlphaも持ちます。
public bool Enabledプロパティ(読取・変更)このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。
public OutlineExpansionMode ExpansionModeプロパティ(読取・変更)輪郭の膨らませ方を選びます。
public static InvertedHullOutline FromEntity(GameObject gameObject)関数既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。
public Texture? OutlineSamplerTextureプロパティ(読取・変更)輪郭Maskに使うTextureです。
public bool RespectMaterialSurfaceプロパティ(読取・変更)通常Materialの透明部分・AlphaClip・頂点変形に輪郭を合わせます。無効ならMesh形状を使います。
public bool UseBakedNormalプロパティ(読取・変更)輪郭用に保存した法線を利用します。
public bool UseOutlineSamplerプロパティ(読取・変更)輪郭用のTextureサンプルを利用します。
public bool UseStencilプロパティ(読取・変更)Stencilを使って輪郭の重なりを制御します。
public float Widthプロパティ(読取・変更)線または輪郭の幅です。幅の空間設定も確認します。
public OutlineWidthMode WidthModeプロパティ(読取・変更)幅を測る空間を選びます。
public static int componentTypeIDプロパティ(読取専用)組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。

継承する共通操作:Component ​

宣言・詳説種類・操作役割
public T AddComponent<T>() where T : Component関数ComponentまたはScriptを追加し、操作する参照を返します。
public T? GetComponent<T>() where T : class関数component access(owner GameObjectへの委譲)
public T? GetComponentInChildren<T>(bool includeInactive = false) where T : class関数子階層から指定型のComponentを探します。
public T? GetComponentInParent<T>(bool includeInactive = false) where T : class関数親階層から指定型のComponentを探します。
public T[] GetComponents<T>() where T : class関数同じGameObjectにある指定型のComponentをすべて取得します。
public void GetComponents<T>(List<T> results) where T : class関数同じGameObjectにある指定型のComponentをすべて取得します。
public T[] GetComponentsInChildren<T>(bool includeInactive = false) where T : class関数子階層にある指定型のComponentを収集します。
public void GetComponentsInChildren<T>(bool includeInactive, List<T> results) where T : class関数子階層にある指定型のComponentを収集します。
public void GetComponentsInChildren<T>(List<T> results) where T : class関数子階層にある指定型のComponentを収集します。
public T[] GetComponentsInParent<T>(bool includeInactive = false) where T : class関数親階層にある指定型のComponentを収集します。
public void GetComponentsInParent<T>(bool includeInactive, List<T> results) where T : class関数親階層にある指定型のComponentを収集します。
public override int GetHashCode()関数同じ値を検索Keyに使うためのHashを返します。
public bool HasComponent<T>() where T : class関数指定型のComponentを持つかを調べます。
public void RemoveComponent<T>() where T : Component関数指定型のComponentを取り除きます。
public bool TryGetComponent<T>(out T component) where T : class関数Componentを検索し、見つかったかをbool、結果をout引数で返します。
public GameObject gameObjectプロパティ(読取専用)このComponentを所有するGameObjectです。
public Transform transformプロパティ(読取専用)所有GameObjectのTransformです。

継承する共通操作:Object ​

宣言・詳説種類・操作役割
public static void Destroy(Object? target)関数参照先の個体だけを安全地点で破棄する
public override bool Equals(object? obj)関数2つの値が等しいかを調べます。
public override int GetHashCode()関数同じ値を検索Keyに使うためのHashを返します。
public static GameObject Instantiate(Prefab original)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, GameObject? parent)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, Vector3 position, Quaternion rotation)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, Vector3 position, Quaternion rotation, GameObject? parent)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, GameObject? parent) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, Vector3 position, Quaternion rotation) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, Vector3 position, Quaternion rotation, GameObject? parent) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static bool operator ==(Object? lhs, Object? rhs)関数等値比較を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。
public static implicit operator bool(Object? value)関数暗黙の型変換を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。
public static bool operator !=(Object? lhs, Object? rhs)関数不等値比較を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。

使用時の注意 ​

Material描画基準を使うとAlphaClipやMaterialの形状を考慮します。幅の空間とScaleの影響に注意します。

Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。

関連項目 ​

現行版マニュアル · 8ea58ba2 · 2026-10-28確認