表示テーマ
SpotLight Component
円錐状に届く照明を設定します。
設定する手順
- Direction・距離・角度と減衰開始角を設定します。
- SceneViewまたはGameViewで結果を確認します。
- 編集中のSceneまたはPrefabを保存します。
項目の説明
| 項目 | C#名 | 型 | 操作 | 定義時の初期値 | 意味 |
|---|---|---|---|---|---|
| 色 | Color | Color4 | 読取・変更 | Color4::White() | 色を指定します。RGBAではAlphaも持ちます。 |
| 方向 | Direction | Vector3 | 読取・変更 | Vector3(0.0f, 0.0f, 1.0f) | 光などが進む方向です。長さより向きを指定します。 |
| 強度 | Intensity | float | 読取・変更 | 1.0f | 光や効果の強度倍率です。 |
| 距離 | Distance | float | 読取・変更 | 10.0f | 光が届く距離などの上限です。 |
| 減衰 | Decay | float | 読取・変更 | 1.0f | 距離に応じた減衰の強さです。 |
| 角度余弦 | CosAngle | float | 読取・変更 | std::cos(Math::pi / 3.0f) | SpotLightの外側半角の余弦値です。Inspectorの角度表示とAPIの値を区別します。 |
| 減衰開始余弦 | CosFalloffStart | float | 読取・変更 | std::cos(Math::pi / 6.0f) | SpotLightの角度減衰が始まる半角の余弦値です。 |
| 影の強さ | ShadowStrength | float | 読取・変更 | 0.92f | 影による減光の強さです。0で影の影響がなくなります。 |
| 光源半径 | ShadowRadius | float | 読取・変更 | 0.05f | 光源の半径です。影のぼけ方に影響します。 |
| 有効 | Enabled | bool | 読取・変更 | true | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
Inspectorの設定と使い方
「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。
| 設定・操作 | 編集場所 | C#の入口 | 意味・使い方 |
|---|---|---|---|
| 色・方向・強度・有効 | Editor / C# | Color / Direction / Intensity / Enabled | Transformの位置から指定方向の円錐へ照らします。懐中電灯や舞台照明に向いています。 |
| 距離・減衰・角度余弦・減衰開始余弦 | Editor / C# | Distance / Decay / CosAngle / CosFalloffStart | 照射距離と円錐の端の弱まり方を指定します。角度欄の値は角度そのものではなくcos値です。度数をそのまま代入しないでください。 |
| 光源半径・影の強さ | Editor / C# | ShadowRadius / ShadowStrength | 光源の大きさによる影の柔らかさと、影の濃さを調整します。照射距離とは別の値です。 |
初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。
C#から使う
操作型はSpotLightです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。
SpotLight
| 宣言・詳説 | 種類・操作 | 役割 |
|---|---|---|
public Color4 Color | プロパティ(読取・変更) | 色を指定します。RGBAではAlphaも持ちます。 |
public float CosAngle | プロパティ(読取・変更) | SpotLightの外側半角の余弦値です。Inspectorの角度表示とAPIの値を区別します。 |
public float CosFalloffStart | プロパティ(読取・変更) | SpotLightの角度減衰が始まる半角の余弦値です。 |
public float Decay | プロパティ(読取・変更) | 距離に応じた減衰の強さです。 |
public Vector3 Direction | プロパティ(読取・変更) | 光などが進む方向です。長さより向きを指定します。 |
public float Distance | プロパティ(読取・変更) | 光が届く距離などの上限です。 |
public bool Enabled | プロパティ(読取・変更) | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
public static SpotLight FromEntity(GameObject gameObject) | 関数 | 既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。 |
public float Intensity | プロパティ(読取・変更) | 光や効果の強度倍率です。 |
public float ShadowRadius | プロパティ(読取・変更) | 光源の半径です。影のぼけ方に影響します。 |
public float ShadowStrength | プロパティ(読取・変更) | 影による減光の強さです。0で影の影響がなくなります。 |
public static int componentTypeID | プロパティ(読取専用) | 組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。 |
継承する共通操作:Component
継承する共通操作:Object
使用時の注意
APIのCosAngle/CosFalloffStartは角度そのものではなく余弦値です。
Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。