【UnityC#】オブジェクトの法線を可視化する方法
オブジェクトの法線を可視化する方法をメモ。
[ 方法 ]
以下のコードを法線を可視化したいオブジェクトにアタッチします。
using UnityEngine; [ExecuteInEditMode] public class script : MonoBehaviour { private float length = 1; private void Update() { MeshFilter meshFilt = GetComponent<MeshFilter>(); Mesh mesh = meshFilt.sharedMesh; Vector3[] localVerts = mesh.vertices; Vector3[] localNormals = mesh.normals; for (int i = 0; i < localVerts.Length; i++) { Vector3 localVert = localVerts[i]; Vector3 localNormal = localNormals[i]; Vector3 worldVert = transform.TransformPoint(localVert); Vector3 worldNormal = transform.TransformDirection(localNormal); Debug.DrawLine(worldVert, worldVert + worldNormal * length, Color.red); } } }