public override void OnDrawSpacedGizmo(TArcTorus arcTorus) { var arc = arcTorus.arc * Mathf.Rad2Deg; using (new Handles.DrawingScope(Handles.matrix * arcTorus.torus.transform)) { var excessAngle = arc % 360f; var angle = Mathf.Abs(arc) >= 360f ? 360f : excessAngle; Handles.DrawWireArc(Vector3.forward * arcTorus.torus.minorRadius, Vector3.back, Vector3.up, angle, arcTorus.torus.majorRadius); Handles.DrawWireArc(Vector3.back * arcTorus.torus.minorRadius, Vector3.back, Vector3.up, angle, arcTorus.torus.majorRadius); Handles.DrawWireArc(Vector3.zero, Vector3.back, Vector3.up, angle, arcTorus.torus.majorRadius + arcTorus.torus.minorRadius); Handles.DrawWireArc(Vector3.zero, Vector3.back, Vector3.up, angle, arcTorus.torus.majorRadius - arcTorus.torus.minorRadius); ArcGizmo(Vector3.zero, arcTorus.torus.majorRadius, arc, m_ArcProperty, Quaternion.Euler(-90.0f, 0.0f, 0.0f)); } VFXTorusGizmo.DrawTorus(this, arcTorus.torus, m_CenterProperty, m_AnglesProperty, m_ScaleProperty, m_ThicknessProperty, m_RadiusProperty, VFXTorusGizmo.s_Angles.Concat(new float[] { arc }), arc);; }
public override void OnDrawSpacedGizmo(ArcTorus arcTorus) { Vector3 center = arcTorus.center; float arc = arcTorus.arc * Mathf.Rad2Deg; float excessAngle = arc % 360f; float angle = Mathf.Abs(arc) >= 360f ? 360f : excessAngle; Handles.DrawWireArc(arcTorus.center + Vector3.forward * arcTorus.minorRadius, Vector3.back, Vector3.up, angle, arcTorus.majorRadius); Handles.DrawWireArc(arcTorus.center + Vector3.back * arcTorus.minorRadius, Vector3.back, Vector3.up, angle, arcTorus.majorRadius); Handles.DrawWireArc(arcTorus.center, Vector3.back, Vector3.up, angle, arcTorus.majorRadius + arcTorus.minorRadius); Handles.DrawWireArc(arcTorus.center, Vector3.back, Vector3.up, angle, arcTorus.majorRadius - arcTorus.minorRadius); Torus torus = new Torus() { center = arcTorus.center, minorRadius = arcTorus.minorRadius, majorRadius = arcTorus.majorRadius }; VFXTorusGizmo.DrawTorus(torus, this, m_CenterProperty, m_MinorRadiusProperty, m_MajorRadiusProperty, VFXTorusGizmo.angles.Concat(new float[] { arc }), arc); ArcGizmo(center, arcTorus.majorRadius, arc, m_ArcProperty, Quaternion.Euler(-90.0f, 0.0f, 0.0f), true); }