関連:https://kitasenjudesign.hatenablog.com/entry/2021/11/13/133126
using System.Collections; using System.Collections.Generic; using UnityEngine; public class LineMesh : MonoBehaviour { [SerializeField] private MeshFilter _meshFilter; [SerializeField] private Vector3[] _positions; private Mesh _mesh; void Start() { _mesh = new Mesh(); var a1 = new Vector3(1,1,1); var b1 = new Vector3(-1,1,1); var c1 = new Vector3(-1,1,-1); var d1 = new Vector3(1,1,-1); var a0 = new Vector3(1,-1,1); var b0 = new Vector3(-1,-1,1); var c0 = new Vector3(-1,-1,-1); var d0 = new Vector3(1,-1,-1); var pos = new List<Vector3>(); pos.Add(a1); pos.Add(b1); pos.Add(b1); pos.Add(c1); pos.Add(c1); pos.Add(d1); pos.Add(d1); pos.Add(a1); pos.Add(a0); pos.Add(b0); pos.Add(b0); pos.Add(c0); pos.Add(c0); pos.Add(d0); pos.Add(d0); pos.Add(a0); pos.Add(a0); pos.Add(a1); pos.Add(b0); pos.Add(b1); pos.Add(c0); pos.Add(c1); pos.Add(d0); pos.Add(d1); _positions = pos.ToArray(); int[] indices = new int[_positions.Length]; for(int i=0;i<_positions.Length;i++){ indices[i] = i; } _mesh.vertices = _positions; _meshFilter.mesh = _mesh; _mesh.SetIndices(indices, MeshTopology.Lines, 0); } // Update is called once per frame void Update() { } }