バージョン
- Unity 2022.3.45f1
Unityで線を引く方法です。画像編集ソフトや描画系アプリで線を引くのは直感的で簡単ですが、Unityでは基本的に頂点を設定して繋げる形になります。
LineRendererの生成
最初に線を引くためのゲームオブジェクトを作成します。

これで線用のゲームオブジェクト(LineRenderer)が準備できました。

LineRendererの設定
作成したゲームオブジェクトにはLineRendererというコンポーネントが含まれているので、インスペクターで線の設定をしていきます。
よく使うものは以下の通りです。
コントロール | 説明 |
---|---|
Scene Tools | シーンビューでのビジュアル編集 |
Loop | 始点と終点を線で繋ぐ |
Positions | 線を繋ぐ頂点の設定 Size:頂点の数 Index:頂点番号 X:頂点の水平位置 Y:頂点の垂直位置 Z:頂点の奥行位置 |
Width | 線の幅設定 |
Color | 線の色設定 |
Corner Vertices | 曲がり角の丸み設定 |
End Cap Vertices | 線終端の丸み設定 |


画像右側のインスペクターのように設定すると青い線が引けます。
色の設定は始点と終点の2つ設定しています。(#0000FF)
スクリプトから操作
LineRendererの設定はC#スクリプトからも行えます。
以下のコードは新たに緑色の三角形を描画するサンプルです。
using UnityEngine;
public class CreateTriangle : MonoBehaviour
{
private LineRenderer lineRenderer;
void Start()
{
//LineRenderer追加
lineRenderer = gameObject.AddComponent<LineRenderer>();
//シェーダー取得
Shader lineShader = Shader.Find("Hidden/Internal-Colored");
//マテリアル作成
Material lineMaterial = new Material(lineShader);
//LineRendererにマテリアルを追加
lineRenderer.material = lineMaterial;
//LineRenderer設定
SetupLine();
}
private void SetupLine()
{
//ループ設定
lineRenderer.loop = true;
//頂点の初期設定
Vector3[] positions = new Vector3[3];
positions[0] = new Vector3(0, 3, 0);
positions[1] = new Vector3(-3, -3, 3);
positions[2] = new Vector3(3, -3, 0);
//頂点の数を設定
lineRenderer.positionCount = positions.Length;
//頂点の位置設定
lineRenderer.SetPositions(positions);
//幅の設定
lineRenderer.startWidth = 0.5f;
lineRenderer.endWidth = 0.5f;
//色の設定
lineRenderer.startColor = Color.green;
lineRenderer.endColor = Color.green;
//曲がり角の丸み設定
lineRenderer.numCornerVertices = 10;
//線終端の丸み設定
lineRenderer.numCapVertices = 0;
}
}
このようにスクリプトからも設定・制御することができます。
空のオブジェクトに上記スクリプトをアタッチして実行します。
最初に生成した青い線はそのままにしています。


Line Renderer コンポーネント - Unity マニュアル
Line Renderer (ラインレンダラー) コンポーネントは、3D 空間の 2 つ以上の点の配列をとり、それぞれの間に直線を描きます。1 つのラインレンダラーを使用して、単純な直線から複雑な螺旋まで、どんなものでも描画することができま...