Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

모바일 게임 실무 3주차 정리 (NavMesh) 본문

2-2/모바일 게임 실무

모바일 게임 실무 3주차 정리 (NavMesh)

김브래 2023. 9. 21. 20:16

Navigation 활용하기


NavMesh(네브메쉬)

 

- 유니티에서 제공하는 네비게이션 시스템

- 플레이어를 따라와 공격하는 AI에 사용

- 가는 경로를 찾을 수 있는 데이터 구조를 Bake 해서 지정

using UnityEngine.AI; 필수

 

NavMeshAgent

목표를 향해 움직이는 물체에 지정해서 사용

설정에 따라 쫓아가면서 장애물 회피, 점프, 서로를 피하기 등을 설정

 

타겟 대상의 위치설정, 위치 설정시 바로 추적 시작

  =>NavMeshAgent.destination = 캡슐.position;

 

Agent Radius - 객체의 접근막의 반지름의 길이(값만큼 외각 여백 결정)

Agent Height -  허용할 최대 높이(최대 등산각도,계단 높이에 영향을 줌)

MaxSlope - 허용할 최대 경사

Step height - 올라갈 수 있는 계단높이

private Transform targetTr; //목표지점

private NavMeshAgent nma; //자율주행자동차

void Start()

    {   //최종목적지

        targetTr = GameObject.Find("Cylinder").GetComponent<Transform>();

        nma = GetComponent<NavMeshAgent>();//자율주행 장착

    }

void Update()

    {

        nma.destination = targetTr.position;//목표지점을 향해 출발

    }

 

void OnTriggerEnter(Collider col) // 객체가 누군가(col)과 충돌하면

{

}

 

new Vector3(x, y, z); // 새로운 위치 좌표