본문 바로가기
유니티 공부/Unity

Unity - NPC클릭하면 플레이어 쳐다보게 하는 법

by 코딩하는 돼징 2023. 7. 21.
반응형

NPC 클릭하면 플레이어 쳐다보게 하는 법

01 변수 설정

public Transform player;
private Camera mainCamera;
private Quaternion originalRotation;

02 메인카메라와 NPC의 초기 회전값 설정

void Start()
{
    mainCamera = Camera.main;
    originalRotation = transform.rotation;
}

03 마우스 왼쪽 버튼이 클릭 되었을때 Raycast를 통해 오브젝트 판별

void Update()
{
    if (Input.GetMouseButtonDown(0)) 
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out RaycastHit hit))
        {
            OnInteractablenpccontroller(hit);
        }
    }
    }

04 클릭한 오브젝트가 NPC인 경우 플레이어를 바라보게 하고 아닐 경우 원래 회전값의 초기값으로 설정

void OnInteractablenpccontroller(RaycastHit hit)
{
    Collider other = hit.collider;
    if (hit.collider.CompareTag("NPC"))
    {
        transform.LookAt(player.position);
    }
    else
    {
        transform.rotation = originalRotation;
    }
}

실행 영상

 

 

반응형

댓글