using UnityEngine; namespace Colosseum.Debugging { /// /// 씬 뷰에서 캐릭터의 정면 방향을 화살표로 표시하는 Gizmo 유틸리티입니다. /// public static class FacingDirectionGizmoUtility { /// /// 지정한 Transform의 정면 방향 화살표를 그립니다. /// public static void DrawFacingArrow(Transform targetTransform, Color color, float length = 1.6f, float headLength = 0.35f, float headWidth = 0.22f, float heightOffset = 0.1f, float shaftThickness = 0.08f) { if (targetTransform == null) return; Vector3 origin = targetTransform.position + Vector3.up * heightOffset; Vector3 forward = targetTransform.forward.normalized; if (forward.sqrMagnitude <= 0.0001f) return; Vector3 tip = origin + forward * length; Vector3 right = targetTransform.right.normalized; Vector3 up = targetTransform.up.normalized; Vector3 headBase = tip - forward * headLength; Vector3 rightOffset = right * shaftThickness; Vector3 upOffset = up * shaftThickness; Gizmos.color = color; Gizmos.DrawLine(origin, tip); Gizmos.DrawLine(origin + rightOffset, tip + rightOffset); Gizmos.DrawLine(origin - rightOffset, tip - rightOffset); Gizmos.DrawLine(origin + upOffset, tip + upOffset); Gizmos.DrawLine(origin - upOffset, tip - upOffset); Gizmos.DrawLine(tip, headBase + right * headWidth); Gizmos.DrawLine(tip, headBase - right * headWidth); Gizmos.DrawLine(tip, headBase + up * headWidth * 0.7f); Gizmos.DrawLine(tip, headBase - up * headWidth * 0.7f); Gizmos.DrawSphere(origin, shaftThickness * 0.55f); Gizmos.DrawSphere(tip, shaftThickness * 0.65f); } } }