예제 #1
0
        public override void OnDrawSpacedGizmo(TArcCircle arcCircle)
        {
            float radius = arcCircle.circle.radius;
            float arc    = arcCircle.arc * Mathf.Rad2Deg;

            using (new Handles.DrawingScope(Handles.matrix * arcCircle.circle.transform))
            {
                Handles.DrawWireArc(Vector3.zero, -Vector3.forward, Vector3.up, arc, radius);
                ArcGizmo(Vector3.zero, radius, arc, m_ArcProperty, Quaternion.Euler(-90.0f, 0.0f, 0.0f));
            }
            VFXCircleGizmo.DrawCircle(this, arcCircle.circle, m_CenterProperty, m_AnglesProperty, m_ScaleProperty, m_RadiusProperty, Mathf.CeilToInt(arc / 90));
        }
예제 #2
0
        public override void OnDrawSpacedGizmo(ArcCircle arcCircle)
        {
            Vector3 center = arcCircle.circle.center;
            float   radius = arcCircle.circle.radius;
            float   arc    = arcCircle.arc * Mathf.Rad2Deg;

            // Draw circle around the arc
            Handles.DrawWireArc(center, -Vector3.forward, Vector3.up, arc, radius);

            VFXCircleGizmo.DrawCircle(arcCircle.circle, this, m_CenterProperty, m_RadiusProperty, VFXCircleGizmo.radiusDirections, Mathf.CeilToInt(arc / 90));

            //Arc first line

            /*Handles.DrawLine(center, center + Vector3.up * radius);
             * Handles.DrawLine(center, center + Quaternion.AngleAxis(arc, -Vector3.forward) * Vector3.up * radius);*/

            ArcGizmo(center, radius, arc, m_ArcProperty, Quaternion.Euler(-90.0f, 0.0f, 0.0f), true);
        }
예제 #3
0
 public override Bounds OnGetSpacedGizmoBounds(TArcCircle value)
 {
     return(VFXCircleGizmo.GetBoundsFromCircle(value.circle));
 }