🐧 들어가기 앞서

개인 과제가 끝났다.

최대한 노력했지만 결과물이 영 만족스럽지 않아서 아쉽다.

객체와 스크립트 간 연결하는 부분을 더 연습해야겠다.

어떻게 하면 객체가 원하는 로직을 가지고 있을지 스크립트로 구현하는 연습이 필요한 것 같다.


🐧 오늘 배운 것

3D 강의를 완강했는데, 가장 신기한 부분은 AI Navigation이다!


🐧 기억할 것 & 진행

개인 과제

상점을 눌러서 돈을 빠지게 하고 싶었는데, 처리해야할 Null이 많아서, 시간에 쫒겨 포기했다.

처리해야할 문제가 많다는 것은 기능을 너무 많이 추가했음을 의미한다.(구성을 잘못함)

다음에는 로직을 우선 생각하고 제작하자.

https://github.com/Munch310/PersonalDungeon

강의

AI 네비게이션(AI Navigation)은 인공지능이 게임이나 시뮬레이션 등 가상 환경에서 이동하는 방법을 결정하는 기술이다.

주로 3D 게임에서 캐릭터나 NPC가 지능적으로 이동하도록 만들어진다.

이를 위해 AI 네비게이션 시스템은 지형, 장애물, 목표 지점 등을 고려하여 적절한 경로를 생성하고 이동하는데 사용된다.

AI 네비게이션을 구현하는 주요 기술과 개념은 다음과 같다:

  1. Navigation Mesh (네비게이션 매쉬):
    • 3D 공간을 그리드로 나누어 이동 가능한 지역과 장애물이 있는 지역을 구분하는 매쉬다.
    • 캐릭터가 이동할 수 있는 영역과 이동할 수 없는 영역을 정의하고, 이를 기반으로 경로를 계산한다.
  2. Pathfinding (경로 탐색):
    • 캐릭터의 현재 위치에서 목표 지점까지 가장 적절한 경로를 찾는 알고리즘이다.
    • 주로 A* 알고리즘 등이 사용되며, 지정된 목표 위치까지 최단 경로를 탐색한다.
  3. Steering Behavior (스티어링 동작):
    • 캐릭터나 NPC가 경로를 따라 이동할 때, 보다 자연스러운 동작을 구현하는데 사용된다.
    • 동적으로 캐릭터의 이동 방향과 속력을 조정하여 부드럽고 현실적인 이동을 시뮬레이션한다.
  4. Obstacle Avoidance (장애물 피하기):
    • 캐릭터가 이동 중에 장애물과 충돌하지 않도록 하는 기술.
    • 각종 센서나 알고리즘을 사용하여 장애물을 감지하고 피하는 동작을 수행한다.
  5. Local Avoidance (근접 회피):
    • 여러 캐릭터나 NPC가 서로 충돌하지 않도록 하는 기술.
    • 캐릭터들 사이의 거리를 유지하거나 회피 동작을 수행하여 서로 부딪히지 않도록 한다.

🐧 게임에 구현한다면?

Init

  • 패키지를 받아준다.

  • Window -> AI -> Navigation(Obsolete)를 누르면,

  • 설정할 수 있다.
    상황에 맞게 Walkable, NotWalkable로 설정하자.

  • Bake를 누르면,

  • 걸을 수 있는 부분이 만들어진다.

  • 나무와 같은 객체는 Obstacle를 이용할 수 있는데, 동적인 객체에 이용하면 복잡해지니 최대한 정적인 객체에 사용하자.

  • Carve눌러주면 범위가 생긴다.


🐧 내일 할 일

스크립트 공부하기!

0개의 댓글