2023.04.13 TIL

조진호·2023년 4월 13일
0

TIL

Start()와 Awake() 차이

Awake()와 Start()는 Initalization 구역으로 스크립트의 초기화에 이용되고 호출의 순서는 Awake()->Start()순이다. 둘의 차이는 Awake()는 모든 오브젝트가 초기화되고 호출되고, Start()는 스크립트 인스턴스가 활성화된 경우에만 호출된다.

오브젝트 초기화 -> Awake()호출 -> Start() 호출 -> 첫 번째 프레임 업데이트

조금 더 공부가 필요한 분야인거 같다.

유니티의 네비게이션 시스템에 관하여

  1. NavMesh
    • Object
      All, MeshRenderer, Terrains와 관련한 Object를 보여준다.
    • Bake
      NavMesh를 만들어주는 역할이다. NavMesh란 캐릭터가 길을 찾아서 이동할 수 있는 영역을 뜻한다. 장애물을 설정하고 싶으면 Object 탭에서 Object를 Navigation static으로 설정하면 된다. Agent의 radius와 height를 조절하거나 MaxSlope와 StepHeight을 조절하여 NavMesh의 범위를 조절할 수 있다.
    • Area
      Area 탭에서는 사용자가 필요한 NavigationMesh를 설정하고 그 구역을 지나가는 cost를 설정할 수 있다. Agent는 목표를 향해 갈 때 더 낮은 cost가 요구되는 길을 택할 것이다.
    • Agents
      Agent는 수직으로 서 있는 실린더에 의해 정의되며 실린더의 크기는 Radius 과 Height 프로퍼티에 의해 특정된다. 실린더의 모양은 다른 에이전트와 장애물간의 충돌 감지와 대응에 사용된다. 일종의 네비게이션의 collider라 생각하면 될 듯하다.
  2. NavMeshAgent
    Agent는 내비게이션 메시 위에서 길을 찾아서 움직일 오브젝트를 의미한다.
    • Base Offset
      Base Offset은 길을 찾을 때 사용되는 충돌 실린더의 위치이다.
    • Steering
      Agent으 속도와 관련한 수치를 조절할 수 있다.
    • Obstacle avoidance
      NavMeshObstacle을 어떻게 회피할 것인지를 결정하는 내용의 프로퍼티들을 가지고 있다.
    • Path Finding
      NavMesh와 관련한 구체적인 설정이다.
  3. NavMeshObstacle
    장애물 역할을 하는 object와 관련한 프로퍼티들을 가지고 있다.
    중요한 property만 적어보겠다.
    • Carve
      carve를 통해 agent가 지나갈 수 없는 길을 만든다.
profile
코린이

0개의 댓글

관련 채용 정보