public virtual void OnEditorSceneGUIDebug(SceneView _sceneView, GameObject _meshObject) { Handles.color = Color.red; Handles_Extend.DrawArrow(mouseRay.origin, mouseRay.direction, .2f, .01f); Handles.DrawLine(mouseRay.origin, mouseRay.direction * 10f + mouseRay.origin); Handles.matrix = _meshObject.transform.localToWorldMatrix; Handles.SphereHandleCap(0, collisionPoint, Quaternion.identity, .05f, EventType.Repaint); Handles.DrawLines(collisionTriangle.triangle.GetDrawLinesVerticies()); }
void OnDrawSceneHandles(SceneView _sceneView) { Handles.color = Color.white.SetAlpha(.5f); Handles.DrawWireCube(m_ModifingMesh.bounds.center, m_ModifingMesh.bounds.size * 1.2f); if (!m_SelectingPolygon) { return; } GMeshPolygon _mainPolygon = m_Polygons[m_SelectedPolygon]; foreach (var subPolygon in m_SubPolygons) { GDirectedTriangle directedTriangle = m_Polygons[subPolygon].GetDirectedTriangle(m_Verticies); if (Vector3.Dot(directedTriangle.normal, _sceneView.camera.transform.forward) > 0) { continue; } Handles.color = Color.yellow.SetAlpha(.1f); Handles.DrawAAConvexPolygon(directedTriangle.triangle.verticies); Handles.color = Color.yellow; Handles.DrawLines(directedTriangle.triangle.GetDrawLinesVerticies()); } GTriangle mainTriangle = _mainPolygon.GetTriangle(m_Verticies); Handles.color = Color.green.SetAlpha(.3f); Handles.DrawAAConvexPolygon(mainTriangle.verticies); Handles.color = Color.green; Handles.DrawLines(mainTriangle.GetDrawLinesVerticies()); if (!m_EditingVectors) { return; } Handles.color = Color.green; foreach (var indice in _mainPolygon.indices) { Handles_Extend.DrawArrow(m_Verticies[indice], m_VertexDatas[indice], .1f * m_GUISize, .01f * m_GUISize); if (m_SelectedVertexIndex == indice) { continue; } Handles_Extend.DrawWireSphere(m_Verticies[indice], m_VertexDatas[indice], C_VertexSphereRadius * m_GUISize); } Handles.color = Color.yellow; foreach (var subPolygon in m_SubPolygons) { foreach (var indice in m_Polygons[subPolygon].indices) { Handles.DrawLine(m_Verticies[indice], m_Verticies[indice] + m_VertexDatas[indice] * .03f * m_GUISize); } } }
public static void DrawArrow(Vector3 _pos, Quaternion _rot, float _length, float _radius) { Handles.color = Gizmos.color; Handles.matrix = Gizmos.matrix; Handles_Extend.DrawArrow(_pos, _rot, _length, _radius); }