/// <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); }
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; }
private static void DrawSphereCollider(SphereCollider collider, Color color, DrawColliderMode drawMode) { DrawSphere(collider.transform, collider.radius, collider.center, color, drawMode); }
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; }
private static void DrawBoxCollider(BoxCollider collider, Color color, DrawColliderMode drawMode) { DrawBox(collider.transform, collider.size, collider.center, color, drawMode); }