- 마우스 타겟 고정 하기
- Lock on 락온 기능
-
- 적에 Enemy 레이어를 설정하고, 비어있는 Target 스크립트를 추가해서 레이캐스트로 마우스로 이 오브젝트에 닿으면 Target 스크립트가 있는지 확인후 있으면 총알이 날아가는 목표인 Aim.position을 Target.position으로 바꾼다.
public RaycastHit GetMouseHitInfo()
{
Ray ray = Camera.main.ScreenPointToRay(aimInput);
if(Physics.Raycast(ray, out var hitInfo, Mathf.Infinity, aimLayerMask))
{
//Debug.Log("Raycast hit: " + hitInfo.point); // 레이캐스트로 맞춘 위치 확인
lastKnownMouseHit = hitInfo;
return hitInfo;
}
return lastKnownMouseHit;
}
private void UpdateAimPosition()
{
Transform target = Target();
if( target != null && isLockingToTarget )
{
aim.position = target.position;
return;
}
aim.position = GetMouseHitInfo().point;
if (!isAimingPrecisely)
{
aim.position = new Vector3(aim.position.x, transform.position.y + 1, aim.position.z);
}
//aim.position = new Vector3(GetMousePosition().x, transform.position.y + 1, GetMousePosition().z);
}
public Transform Target()
{
Transform target = null;
if(GetMouseHitInfo().transform.GetComponent<Target>() != null)
{
target = GetMouseHitInfo().transform;
}
return target;
}
유니티 오브젝트에 레이어 이름 추가하기(스크립트로 추가) (0) | 2024.10.15 |
---|---|
유니티 피봇, 고정 타게팅 위치 조절하기 (0) | 2024.10.14 |
유니티 탑다운 게임 개발 Version.1 (1) | 2024.10.10 |
유니티 애니메이터 레이어(Animator layer) 껐다 키기 (1) | 2024.10.08 |
유니티 new input system 뉴 인풋 시스템 이동,애니메이션 구현 (0) | 2024.10.07 |