MRが楽しい

MRやVRについて学習したことを書き残す

UnityのLineRendererを使って破線を表示する その2(スクリプトからラインの描画を変更する)

本日は Unity の小ネタ枠です。
Unity の LineRenderer を使って破線を表示する方法を記事にします。
今回はスクリプトからの変更方法についてです。

前回記事

以下の記事の続きです。
bluebirdofoz.hatenablog.com

スクリプトからラインの描画を変更する

LineRenderer コンポーネントにアクセスして Material の変数からマテリアルを直接差し替えることができます。
以下のサンプルスクリプトを作成しました。
・LineRendererContorl.cs

using UnityEngine;

public class LineRendererContorl : MonoBehaviour
{
    [SerializeField] private LineRenderer _targetLineRenederer;

    [SerializeField] private Material _normalMat;
    [SerializeField] private Material _dashMat;

    private bool isDash = false;

    private void Reset()
    {
        _targetLineRenederer = this.GetComponent<LineRenderer>();
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            isDash = !isDash;
            // LineRenderer のマテリアルを差し替える
            _targetLineRenederer.material = isDash ? _dashMat : _normalMat;
        }
    }
}

LineRenederer と同じオブジェクトにスクリプトを追加して参照を設定します。

シーンを再生して動作を確認します。
スペースキーを押したときに、LineRenderer の描画が切り替わるようにできました。