47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using UnityEngine;
|
|
|
|
namespace KindRetargeting
|
|
{
|
|
/// <summary>
|
|
/// IK 타겟 위치를 시각적으로 표시하기 위한 Gizmo 클래스
|
|
/// </summary>
|
|
public class IKTargetGizmo : MonoBehaviour
|
|
{
|
|
[Header("Gizmo 설정")]
|
|
public float gizmoSize = 0.05f;
|
|
public Color gizmoColor = Color.yellow;
|
|
|
|
private void OnDrawGizmos()
|
|
{
|
|
// 기존 매트릭스 저장
|
|
Matrix4x4 originalMatrix = Gizmos.matrix;
|
|
Color originalColor = Gizmos.color;
|
|
|
|
// 현재 오브젝트의 위치와 회전 적용
|
|
Gizmos.matrix = Matrix4x4.TRS(transform.position, transform.rotation, Vector3.one);
|
|
|
|
// 기본 구체 그리기
|
|
Gizmos.color = gizmoColor;
|
|
Gizmos.DrawWireSphere(Vector3.zero, gizmoSize * 0.5f);
|
|
|
|
float axisLength = gizmoSize * 1.5f;
|
|
|
|
// X축 (Red)
|
|
Gizmos.color = Color.red;
|
|
Gizmos.DrawRay(Vector3.zero, Vector3.right * axisLength);
|
|
|
|
// Y축 (Green)
|
|
Gizmos.color = Color.green;
|
|
Gizmos.DrawRay(Vector3.zero, Vector3.up * axisLength);
|
|
|
|
// Z축 (Blue)
|
|
Gizmos.color = Color.blue;
|
|
Gizmos.DrawRay(Vector3.zero, Vector3.forward * axisLength);
|
|
|
|
// 원래 상태로 복원
|
|
Gizmos.matrix = originalMatrix;
|
|
Gizmos.color = originalColor;
|
|
}
|
|
}
|
|
}
|