Skip to content

LineRenderer Component ​

点列や組み込み形状を線として描画します。

設定する手順 ​

  1. 点を追加し、幅・色・ワールド空間とMaterialを設定します。
  2. SceneViewまたはGameViewで結果を確認します。
  3. 編集中のSceneまたはPrefabを保存します。

項目の説明 ​

項目C#名型操作定義時の初期値意味
RenderingLayerMaskRenderingLayerMaskuint読取・変更1uこのRendererを表示するCameraのCullingMaskと照合するbit集合です。
マテリアルMaterialMaterial?読取・変更{}描画に使うMaterial参照です。既定MaterialはEngine側から解決されます。
始点と終点を閉じるLoopbool読取・変更false末尾に到達したら先頭へ戻って再生します。
2D描画Is2Dbool読取・変更false2D用の座標・描画処理を使います。
ワールド座標UseWorldSpacebool読取・変更true点などの入力をWorld座標として扱います。
親のスケールを無視IgnoreParentScalebool読取・変更false親の拡縮を継承しません。
親の回転を無視IgnoreParentRotationbool読取・変更false親の回転を継承しません。
LayerLayerint読取・変更0描画するLayer番号です。
OrderOrderint読取・変更0同じLayer内の並び順です。
表示Visiblebool読取・変更true通常描画に表示するかを指定します。
BlendModeBlendModeBlendMode読取・変更BlendMode::Normal背景への色の混ぜ方です。加算などの方式を選びます。
QueueQueueRenderPhase読取・変更RenderPhase::Transparent同じ描画区分内の並び順です。
ParentLocalFileIDParentLocalFileIDGameObject?読取・変更{}参照する親GameObjectの保存用IDです。

Inspectorの設定と使い方 ​

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

設定・操作編集場所C#の入口意味・使い方
表示レイヤーと描画順Editor / C#RenderingLayerMask / Layer / OrderRenderingLayerMaskはCameraのCullingMaskと照合する表示先のbitです。LayerとOrderは描画の並び順で、衝突タイプとは別です。
Material・個別パラメータEditor / C#Material / MaterialInstanceMaterialは共有Asset、MaterialInstanceはこのRendererの上書きです。色・Texture・発光などの公開Parameterを個別に変え、ほかの物体のMaterial設定を変えずに点滅や色違いを作れます。
ブレンドモード・キューEditor / C#BlendMode / Queue透明度をどう合成するかと、どの描画段階へ送るかを指定します。Alphaを下げるだけで透過描画になるとは限らないため、Materialの表面方式と合わせます。
2D・World座標・親Editor / C#Is2D / UseWorldSpace / ParentLocalFileID / IgnoreParentRotation / IgnoreParentScale点列を画面・Worldのどちらで扱うかと、基準になる親を指定します。ParentLocalFileIDへはGameObject参照を渡します。座標の基準が異なる点を同じ線へ混ぜないでください。
点の追加・削除・位置・色・太さEditor / C#Points / AddPoint / SetPoints / UpdatePoint / Clear点を並べた順番で線を接続します。C#でレーザーや照準線を動かす場合は、作成済みの点配列を更新してSetPointsへ渡せます。太さ0の点は見えなくなるため確認します。
始点と終点を閉じるEditor / C#Loop最後の点から最初の点へも線を引きます。輪郭や範囲表示には有効、レーザーや開いた経路には無効を使います。

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

C#から使う ​

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

実用例:2点をつないでレーザーを追従させる ​

LineRendererのあるGameObjectへ追加し、endPointへ照射先を設定します。World座標とRendererのMaterialを使います。

cs
using NEMEngine;

public sealed class LaserLine : MonoBehaviour {

    [SerializeField] private GameObject? endPoint;
    [SerializeField, Min(0.001f)] private float width = 0.03f;
    private LineRenderer? line;
    private readonly LinePoint[] points = new LinePoint[2];

    void Start() {
        // 両端をWorld座標で渡す線として設定
        line = GetComponent<LineRenderer>();
        if (line == null) return;
        line.Is2D = false;
        line.UseWorldSpace = true;
        line.Loop = false;
    }

    void Update() {
        // 配列を作り直さず、移動した両端の位置だけを更新
        if (line == null || endPoint == null) return;
        var color = new Color4(1.0f, 0.2f, 0.1f, 1.0f);
        points[0] = new LinePoint(transform.position, color, width);
        points[1] = new LinePoint(endPoint.transform.position, color, width);
        line.SetPoints(points);
    }
}

設定用・関連するC#型 ​

選択値(Enum) ​

型・各値の詳説使える値
BlendModeAdd / Multiply / Normal / Screen / Subtract
RenderPhaseEditorOverlay / Opaque / PostProcessUI / ScreenUI / Transparent

LineRenderer ​

宣言・詳説種類・操作役割
public LinePoint AddPoint(LinePoint point)関数末尾へ1点追加し、indexを採番したLinePointを返す。後でUpdatePointに渡して更新できる
public LinePoint AddPoint(Vector3 position, Color4 color, float thickness = 1)関数末尾へ1点追加し、indexを採番したLinePointを返す
public BlendMode BlendModeプロパティ(読取・変更)背景への色の混ぜ方です。加算などの方式を選びます。
public void Clear()関数点列をクリアする
public static LineRenderer FromEntity(GameObject gameObject)関数既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。
public Color4 GetColor()関数Rendererのベースカラーを取得します。
public bool IgnoreParentRotationプロパティ(読取・変更)親の回転を継承しません。
public bool IgnoreParentScaleプロパティ(読取・変更)親の拡縮を継承しません。
public bool Is2Dプロパティ(読取・変更)2D用の座標・描画処理を使います。
public int Layerプロパティ(読取・変更)描画するLayer番号です。
public bool Loopプロパティ(読取・変更)末尾に到達したら先頭へ戻って再生します。
public Material? Materialプロパティ(読取・変更)描画に使うMaterial参照です。既定MaterialはEngine側から解決されます。
public MaterialInstance MaterialInstanceプロパティ(読取専用)このRendererだけに適用するMaterial Parameterです。共有Materialの変更とは区別します。
public int Orderプロパティ(読取・変更)同じLayer内の並び順です。
public GameObject? ParentLocalFileIDプロパティ(読取・変更)参照する親GameObjectの保存用IDです。
public DynamicBuffer<LineRendererPoint> Pointsプロパティ(読取専用)LineRendererの点列Bufferです。
public RenderPhase Queueプロパティ(読取・変更)同じ描画区分内の並び順です。
public uint RenderingLayerMaskプロパティ(読取・変更)このRendererを表示するCameraのCullingMaskと照合するbit集合です。
public void SetColor(Color4 color)関数色Parameterを設定します。
public void SetPoints(ReadOnlySpan<LinePoint> points, bool loop = false)関数点列を差し替える。loopで始点と終点をつなぐ
public void UpdatePoint(LinePoint point)関数AddPointで得たLinePointのindexの点を、座標・色・太さごと更新する
public bool UseWorldSpaceプロパティ(読取・変更)点などの入力をWorld座標として扱います。
public bool Visibleプロパティ(読取・変更)通常描画に表示するかを指定します。
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)関数不等値比較を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。

使用時の注意 ​

点の順序が線の接続順です。2Dと3Dで座標の意味が異なります。

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

関連項目 ​

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