本日は 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 の描画が切り替わるようにできました。