경일게임아카데미 멀티 디바이스 메타버스 플랫폼 개발자 양성과정 20221001 개인 공부 2022/04/04~2022/12/14

Jinho Lee·2022년 10월 1일
0

2022.10.01 개인 학습 - 특강

남궁영빈 선배

오늘 강의 순서

  1. 예제 구현
    1-1. 렌더링 파이프 라인

1. 예제 구현

  • 과제

  • Enemy.cs

  • Player.cs

    	Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
  • 질문 :

    • 현재 ScreenPointToRay로 마우스 포인트의 위치를 스크린 위 평면의 한 점에서 월드 좌표의 한 점 Vector3 수치로 변환한 후 카메라에서 그 점으로 잇는 Ray를 생성한다고 이해하고 있습니다. 다만 거기서 궁금한 것이 스크린은 월드를 사영한 것을 표시하는 것인데 스크린 위의 점 좌표는 2차원인데 3차원 수치로 어떻게 정확하게 변환하는 것인지 궁금합니다.

      1-1. 렌더링 파이프 라인

    • 오브젝트 하나마다 각자의 영점이 존재하고, 이 영점을 기준으로 렌더링하는 것 -> 로컬 스페이스

    • 카메라 공간으로의 전개

      • 투영 (Projection)

        • 투영을 통해 원근감 등 공간의 왜곡을 행렬 계산을 통해 구현한다.
      • 마우스 포인트의 위치로 돌아가서, Input.mousePosition은 Vector3의 좌표를 갖고, x, y 좌표를 스크린 상에서 구한 후 z를 투영을 통해 왜곡된 공간 상에서 계산해 앞으로의 방향을 가리키고 어느 정도의 값을 할당하는 것으로 구현된다.

  • 굳이 스포너를 넣을 필요가 있을까? => 몬스터는 안 늘어난다.

    • 따라서 껐다가 2 ~ 4초 후 다시 돌아오게만 하면 된다.
  • GetComponent보다 인스펙터를 통한 참조(드래그 앤 드롭) 쪽이 더 빠르다(연산이 들지 않는다)

    • 이유 : 메타 데이터의 동작 원리 때문
  • 코딩에서 중요한 것 : 시점을 아는 것

    추가 공부 필요

  • 메타 데이터의 동작 원리

0개의 댓글