본문 바로가기

Unity 엔진 공부/project15

project1 개발일지 - 5 [scriptable object를 활용한 Base NPC ] 목표몬스터의 ai에는 크게 Idle, Attack, Chase, Die 상태가 존재한다.각 상태는 몬스터 별로 다양하게 존재할 것이다. 예를 들어 Chase 상태에서 일정 거리를 유지하며 Attack을 한다던가,Die에서 자폭을 하고 사라진다던가...따라서 각 상태에서 다양한 부품을 만들어 조립해 여러 종류의 몬스터를 만들 수 있다.이에 scriptable object를 활용한다. 1.scriptable object를 이용한 NPCStatehttps://docs.unity3d.com/kr/2022.3/Manual/class-ScriptableObject.html ScriptableObject - Unity 매뉴얼ScriptableObject는 클래스 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할.. 2025. 7. 29.
project1 개발일지 - 4 [nav mesh agent] 몬스터 이동 시스템 설계 및 구현목표몬스터가 플레이어를 자연스럽게 추적할 수 있도록 NavMeshAgent 기반 이동 시스템을 도입했다.이 과정에서 **이동 타입(지상/비행)**에 따른 차별 처리와, 기존 스탯 시스템과의 연동도 함께 반영했다. 1. NavMeshAgent 도입 – 플레이어 추적 시스템 기반 구축navMeshAgent, obstacle 등으로 유니티에서 제공하는 ai를 사용할 수 있다.몬스터의 플레이어를 향한 길을 찾는 기능을 간단히 구현하기 위해 사용한다. 2. 전체 맵 NavMesh 베이크NavMeshAgent가 정상 작동하기 위해서는 탐색 가능한 영역을 미리 베이크(Bake) 해야 한다.Unity Navigation 창에서 Bake 메뉴 사용Walkable 영역 설정 후 전체 맵을 .. 2025. 7. 15.
project1 개발일지 - 3 [몬스터 스탯 설계] 스탯 시스템 설계 및 몬스터 데이터 연동목표플레이어, NPC, 몬스터 등 다양한 오브젝트가 공유할 수 있는 스탯 시스템을 설계하고, 몬스터 데이터를 JSON 기반으로 관리 및 코드에 연동하는 것이 이번 작업의 핵심이다. 1. 스탯 상속 구조 설계플레이어, 몬스터, NPC 등 다양한 오브젝트가 공통적으로 가지는 전투/생존 관련 스탯을 공유하되, 객체마다 다른 스탯은 개별로 확장할 수 있게 하기 위함. BaseStat(모든 체력 관련 오브젝트가 공통으로 가지는 스탯)- id- hp- maxHp- attackDamage- armor- speed- attackSpeed- attackRangePlayer- maxJumpCount- jumpPower- exp- gold- reviveCount- hpRegen- s.. 2025. 7. 14.
project1 개발일지 - 2 [Unity version control system] 📅 개발일지 - Unity Version Control 도입오늘은 팀 프로젝트 버전 관리를 위해 Unity Version Control (UVCS) 을 도입하게 된 계기와 과정에 대해 기록해본다.처음 프로젝트를 시작했을 때는 대부분의 개발자들이 그렇듯, 우리도 Git과 GitHub를 이용해 버전 관리를 해왔다. 익숙한 커맨드라인, 풍부한 자료, 그리고 브랜치 관리의 유연함 덕분에 큰 불편 없이 초기 개발을 진행할 수 있었다.하지만 개발이 진행되면서 몇 가지 문제점이 눈에 띄기 시작했다.특히 Unity 특성상 발생하는 바이너리 파일 충돌, 대용량 에셋 파일 관리의 불편함, 그리고 충돌 해결 과정에서 생기는 번거로움은 Git의 한계를 체감하게 만들었다. 그런 와중에 Unity 공식 문서를 통해 Unity .. 2025. 7. 13.
project1 개발일지 - 1 [프로젝트 목표, 역할분배] 🎮 project1 개발일지 #1 — 프로젝트 시작과 역할 정리📌 프로젝트 목표이번에 시작한 Super 프로젝트는 Unity를 활용한 팀 프로젝트로, 우리가 초반에 설정한 목표는 "Risk of Rain"을 참고한 로그라이크 액션 게임 개발이다.Risk of Rain은 빠르게 전투가 확장되며 다양한 몬스터와 전투하는 재미가 중심인 게임이다. 이를 참고해 우리 팀도 빠르게 성장하는 난이도, 랜덤 요소, 협동 전투 시스템을 주요 기획 요소로 설정했다.👤 내가 맡은 역할이번 프로젝트에서 나는 주로 몬스터 AI와 UI 시스템을 담당하게 되었다.몬스터 AI적이 플레이어를 감지하고 추격하거나 공격하는 기본 행동을 구현하고, 이후에는 보스 AI와 특수 패턴도 구현할 예정이다.UI 개발게임 내 체력바, 경험치 U.. 2025. 7. 13.