2024/12 14

내일배움캠프 60일차 TIL 최종 프로젝트 - Projectile Data 작성

20241206 / Unity_6차  13주차 금요일  NPC에 이어서 투사체 관련하여 DataSheet를 작성하게 되었다. 이번에는 AI랑 달리 기능적인 부분을 오로지 Data로만 구분 가능하도록 만들고자 했다.(대신에 Collider나 RigidBody는 개별 프리팹에 달아 두고 값을 조절한다.) 그러려다 보니 모든 종류의 투사체에 대해 Data에서 대응이 가능해야 했다. 일단 Kingdom : New Lands에서 몇가지 예를 들자면화살 - 단일 적에게 적중 시 피해를 입히고 사라짐 or 땅에 떨어지면 사라짐투석기 - 경로 상의 모든 적에게 피해, 땅에 떨어져도 사라지지 않고 일정 시간 후 사라짐근접공격 - 범위 내의 모든 적에게 피해, 잠깐 생겼다 사라짐 현 프로젝트 컨셉인 SF에 맞게 예를 들자..

카테고리 없음 2024.12.07

내일배움캠프 59일차 TIL 최종 프로젝트 - NPC Data 작성

20241205 / Unity_6차  13주차 목요일  개발에 앞서 데이터 시트부터 작성하라는 말을 들었을 땐데이터 시트에 어떤 값이 들어가야 하는 지 감이 오지 않았는데 이제는 알 것 같다. NPC를 만든다고 하면 기본적인 스텟부터 행동양식까지 수치화할 수 있는 부분이 있을 것이다. 근데 NPC마다 필요한 스텟이나 행동양식이 많이 다를 텐데어떻게 일관성을 가지게끔 데이터를 짤 것인가가 고민이었다. 답은 간단했다. 그냥 전부 포함하면 된다.  NPC에 따라서 쓸모 없는 데이터가 많아진다고 해도기껏해야 float형 변수 몇백 개쯤 나오는 건 성능에 전혀 문제가 되지 않기 때문이다. 데이터로 조절할 수 없는 부분을 최소화하기만 하면 된다.

카테고리 없음 2024.12.05

내일배움캠프 58일차 TIL 최종 프로젝트 - Kingdom:NewLand 의 NPC AI

20241204 / Unity_6차  13주차 수요일  프로젝트 시작부터 갈팡질팡하던 NPC AI의 윤곽이 드디어 좀 잡힌 것 같다. 핵심은 NPC 직업(혹은 클래스)별 AI 스크립트인데,아군의 경우 부랑자, 시민, 궁수 등의 AI, 그리고 몬스터의 경우 아직까지는 기본 몬스터의 AI 밖에 없다. 코드를 재활용하고는 싶은데(특히 State Machine), 직업마다 미묘한 차이 때문에 공통 부분을 만들기 쉽지 않다. 예를 들어 아군은 벽을 통과하는데 몬스터는 통과하지 못한다거나,똑같이 달리는 상태더라도 목표 지점에 도착할 때까지 멈추지 말아야 하거나중간에 타겟을 발견하면 멈춰야 한다거나 하는 상황 차이 등이 있다. 결국 직업 별 AI에 많은 기능이 집중되게 되었다. 그래도 시간은 많지 않으니 고급스럽게 ..

카테고리 없음 2024.12.04