예제 #1
0
 /// <summary>
 /// Draw collider gizmo
 /// </summary>
 /// <param name="collider">Collider</param>
 /// <param name="color">Color</param>
 /// <param name="drawMode">Draw mode</param>
 public static void DrawCollider(Collider collider, Color color, DrawColliderMode drawMode)
 {
     if (collider == null)
     {
         return;
     }
     if (drawMode == DrawColliderMode.None)
     {
         return;
     }
     if (collider is BoxCollider)
     {
         DrawBoxCollider((BoxCollider)collider, color, drawMode);
     }
     else if (collider is SphereCollider)
     {
         DrawSphereCollider((SphereCollider)collider, color, drawMode);
     }
     //else if (collider is CapsuleCollider)
     //    DrawCapsuleCollider((CapsuleCollider)collider, color, drawMode);
 }
예제 #2
0
        public static void DrawBox(Transform transform, Vector3 size, Vector3 center, Color color, DrawColliderMode drawMode)
        {
            Gizmos.color = color;
            Matrix4x4 savedMatrix = Gizmos.matrix;

            Gizmos.matrix = transform.localToWorldMatrix;
            if ((drawMode & DrawColliderMode.Solid) == DrawColliderMode.Solid)
            {
                Gizmos.DrawCube(center, size);
            }
            if ((drawMode & DrawColliderMode.Wire) == DrawColliderMode.Wire)
            {
                color.a = 1.0f;
                Gizmos.DrawWireCube(center, size);
            }
            Gizmos.matrix = savedMatrix;
        }
예제 #3
0
 private static void DrawSphereCollider(SphereCollider collider, Color color, DrawColliderMode drawMode)
 {
     DrawSphere(collider.transform, collider.radius, collider.center, color, drawMode);
 }
예제 #4
0
        public static void DrawSphere(Transform transform, float radius, Vector3 center, Color color, DrawColliderMode drawMode)
        {
            Gizmos.color = color;
            Matrix4x4 savedMatrix = Gizmos.matrix;

            Gizmos.matrix = transform.localToWorldMatrix;
            if ((drawMode & DrawColliderMode.Solid) == DrawColliderMode.Solid)
            {
                Gizmos.DrawSphere(center, radius);
            }
            if ((drawMode & DrawColliderMode.Wire) == DrawColliderMode.Wire)
            {
                color.a = 1.0f;
                Gizmos.DrawWireSphere(center, radius);
            }
            Gizmos.matrix = savedMatrix;
        }
예제 #5
0
 private static void DrawBoxCollider(BoxCollider collider, Color color, DrawColliderMode drawMode)
 {
     DrawBox(collider.transform, collider.size, collider.center, color, drawMode);
 }