void ControllHandle() { Handles.color = Color.green; int[] triangles = myMeshCreator.GetMesh().triangles; Vector3[] vertices = myMeshCreator.GetMesh().vertices; Vector3 minVertPos = Vector3.zero; // Focus Index 계산 { minVert = myMeshCreator.FindMinDistanceVertex(); minMidVertPos = myMeshCreator.FindMinDistanceMidVertex(); if (Vector3.Distance(vertices[minVert] + myMeshCreator.transform.position, MouseInfo.Position) < Vector3.Distance(minMidVertPos + myMeshCreator.transform.position, MouseInfo.Position)) { minMidVertPos = Vector3.zero; } } // 기즈모 { // Vertex 점 찍기 for (int i = 0; i < vertices.Length; ++i) { Handles.color = Color.green; Handles.CubeHandleCap(0, vertices[i] + myMeshCreator.transform.position, Quaternion.identity, Camera.current.orthographicSize * 0.02f, EventType.Repaint); } Handles.color = Color.red; if (minMidVertPos == Vector3.zero) { minVertPos = vertices[minVert]; } else { minVertPos = minMidVertPos; } // 가장 가까운 Vertex에 점 찍기 if (HandleUtility.DistanceToRectangle( minVertPos + myMeshCreator.transform.position, Quaternion.identity, Camera.current.orthographicSize * 0.02f * 0.5f) < 50) { Handles.CubeHandleCap(0, minVertPos + myMeshCreator.transform.position, Quaternion.identity, Camera.current.orthographicSize * 0.02f, EventType.Repaint); } } }