2022.10.01 개인 학습 - 특강
남궁영빈 선배
과제
Enemy.cs
Player.cs
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
질문 :
현재 ScreenPointToRay로 마우스 포인트의 위치를 스크린 위 평면의 한 점에서 월드 좌표의 한 점 Vector3 수치로 변환한 후 카메라에서 그 점으로 잇는 Ray를 생성한다고 이해하고 있습니다. 다만 거기서 궁금한 것이 스크린은 월드를 사영한 것을 표시하는 것인데 스크린 위의 점 좌표는 2차원인데 3차원 수치로 어떻게 정확하게 변환하는 것인지 궁금합니다.
오브젝트 하나마다 각자의 영점이 존재하고, 이 영점을 기준으로 렌더링하는 것 -> 로컬 스페이스
카메라 공간으로의 전개
투영 (Projection)
마우스 포인트의 위치로 돌아가서, Input.mousePosition은 Vector3의 좌표를 갖고, x, y 좌표를 스크린 상에서 구한 후 z를 투영을 통해 왜곡된 공간 상에서 계산해 앞으로의 방향을 가리키고 어느 정도의 값을 할당하는 것으로 구현된다.
굳이 스포너를 넣을 필요가 있을까? => 몬스터는 안 늘어난다.
GetComponent보다 인스펙터를 통한 참조(드래그 앤 드롭) 쪽이 더 빠르다(연산이 들지 않는다)
코딩에서 중요한 것 : 시점을 아는 것
메타 데이터의 동작 원리