Input System 기반으로 포인터(마우스/터치)의 위치, 클릭 상태를 한 곳에서 관리합니다. UI/2D/3D 레이캐스트 판정도 함께 제공합니다.
- Input System
GameObject / Input / Pointer Manager
Inspector에서 Click Reference, Position Reference에 사용할 Input Action을 연결합니다.
PointerManager.Position; // 현재 위치
PointerManager.Delta; // 이전 프레임 대비 이동량
if (PointerManager.IsDown)
{
// 클릭 시작
}
if (PointerManager.IsHold)
{
// 클릭 유지중
}
if (PointerManager.IsUp)
{
// 클릭 종료
}if (PointerManager.IsOverUI())
{
return;
}
var results = PointerManager.HitUI();var hit2D = PointerManager.Hit2D(camera, mask);
var hit3D = PointerManager.Hit3D(camera, mask);Position : 현재 포인터 위치입니다.
Delta : 이전 프레임 대비 이동량입니다.
IsDown : 클릭이 시작된 프레임이라면 true를 반환합니다.
IsHold : 클릭이 유지중이라면 true를 반환합니다.
IsUp : 클릭이 종료된 프레임이라면 true를 반환합니다.
IsOverUI() : 포인터가 UI 위에 있는지 반환합니다.
HitUI() : 현재 포인터 위치 기준 UI 레이캐스트 결과를 반환합니다.
Hit2D(cam, mask) : 2D 레이캐스트 결과를 반환합니다.
Hit3D(cam, mask) : 3D 레이캐스트 결과를 반환합니다.
