WisdomSoft - for your serial experiences.

スポットライトの大きさ

照明がスポットライトの場合、スポットライトが照らす円錐の大きさを変更できます。

スポットライトが照らす範囲

照明がスポットライトの場合、スポットライトが照らす範囲は照明の範囲と円錐の角度によって決まります。円錐の角度は spotAngle プロパティによって表されます。

Light クラス spotAngle プロパティ
public float spotAngle { get; set; }

このプロパティには照明がスポットライトの時にのみ作用し、それ以外の場合は無視されます。このプロパティの既定値は 30 (°単位)です。

コード1
using System;
using UnityEngine;

public sealed class Sample : MonoBehaviour
{
    private Light _light;
    void Start()
    {
        camera.transform.position = new Vector3(0, 0, -5);
        var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
        cube.transform.localScale = new Vector3(10, 10, 1);

        var lightObject = new GameObject("Light");
        lightObject.transform.position = new Vector3(0, 0, -5);
        _light = lightObject.AddComponent<Light>();
        _light.type = LightType.Spot;
    }

    void Update()
    {
        var angle = (float)(10 + Math.Abs(Math.Sin(Time.time) * 35));
        _light.spotAngle = angle;
    }
}
実行結果
コード1 実行結果

コード1は、Start() メソッドで照明を当てるオブジェクトと照明を生成し、照明の種類をスポットライトに変更しています。Update() メソッドで周期的にスポットライトの角度を増減させることで、スポットライトが照らしている円(円錐)の範囲が変化することを