분류 전체보기(17)
-
🎓 Unity CustomEditor TIL (Today I Learned)
날짜: 2025년 5월 14일 주제: Unity에서 CustomEditor를 사용하여 사용자 정의 인스펙터를 구현하는 법, 그 작동 원리, 확장 및 최적화 기법에 대해 학습하고 정리하였다. 1. CustomEditor란 무엇인가? CustomEditor는 Unity의 Editor 스크립팅 기능 중 하나로, 컴포넌트 또는 ScriptableObject의 인스펙터(Inspector) UI를 커스터마이징 할 수 있게 해주는 클래스이다. 일반적으로 MonoBehaviour나 ScriptableObject를 상속받은 클래스 위에 작동한다. 1.1 기본 구조 using UnityEngine;using UnityEditor;[CustomEditor(typeof(MyComponent))]public cla..
2025.05.14 -
TIL(Today I Learned) Addressables와 FishNet으로 구현하는 비동기 씬 로딩 흐름
Addressables와 FishNet으로 구현하는 비동기 씬 로딩 흐름Unity의 Addressables 시스템과 FishNet의 네트워크 기능을 결합하여 씬 전환을 구현할 때, Addressables를 활용한 리소스 로딩과 FishNet의 LoadGlobalScenes/LoadConnectionScenes 호출을 연계할 수 있습니다. Addressables는 비동기 방식으로 에셋을 로드하여 런타임 메모리 사용량을 줄이고 빌드 관리를 단순화해 주는 시스템입니다. 이 문서에서는 로비 씬에서 시작 버튼을 눌러 로딩 UI를 띄우고, Addressables로 타겟 씬의 데이터들을 미리 로드한 뒤 FishNet으로 씬을 전환하는 전체 흐름과 유의 사항을 코드 예제와 함께 상세히 설명합니다.Addressables..
2025.05.09 -
TIL(Today I Learned) 행동 트리(Behaviour Tree)
Unity 기반 게임 AI: 행동 트리(Behaviour Tree)1. 행동 트리 개요 및 등장 배경 (FSM과의 비교 포함)행동 트리(Behaviour Tree, BT)는 게임 AI에서 에이전트의 결정 및 행동 구조를 정의하기 위해 2000년대 초반 비디오 게임 업계에서 처음 고안되었다. BT는 계층적 트리 구조로 구성되며, 루트 노드에서 시작하여 조건에 따라 자식 노드를 순차적으로 탐색함으로써 캐릭터의 행동을 결정한다. FSM(유한 상태 머신)과 달리 BT는 **모듈화(modularity)**와 재사용성이 뛰어나며, 복잡도가 커져도 유지보수가 비교적 용이하다는 장점이 있다. 예를 들어, BT는 트리의 각 노드가 서로 독립적으로 추가·삭제될 수 있어 행동을 빠르게 조정할 수 있는 반면, FSM은 상태가..
2025.05.08 -
TIL(Today I Learned) 병행 상태 머신
병행 상태 머신 – Unity 게임 개발을 중심으로1. 병행 상태 머신의 이론적 개념2. Unity에서의 병행 상태 머신 구현 방법3. 국내외 사례 연구 및 오픈소스 활용4. 결론 및 느낀점✍️ 오늘 학습할 내용병행 상태 머신(Parallel State Machine)의 개념과 이론을 알아보고, Unity 엔진을 활용한 게임 개발 맥락에서 병행 상태 머신을 어떻게 구현하고 활용할 수 있는지 살펴보겠습니다. 먼저 UML 및 컴퓨터 과학 측면에서 병행 상태 머신의 이론적 정의를 깊이 있게 설명한 후, Unity 엔진을 이용한 실무 구현 방법들(예: ScriptableObject 기반 FSM, Behaviour Tree, 계층형 FSM 등)을 구조도, 코드 예시, 장단점 비교와 함께 다룹니다. 마지막으로 한국..
2025.05.02 -
TIL: Unity Addressable Asset System 정복하기
1. 어드레서블이란 무엇인가? 왜 필요한가? Unity의 어드레서블 에셋 시스템(Addressable Asset System)은 프로젝트의 에셋(프리팹, 텍스처, 오디오 클립, 씬 등)을 관리하고 로드하는 방식을 혁신하는 강력한 프레임워크입니다. 기존의 Resources 폴더나 에셋 번들(AssetBundle) 방식의 단점을 보완하고, 더 유연하고 효율적인 에셋 관리를 가능하게 합니다. 기존 방식의 문제점: Resources 폴더: 빌드 시 모든 에셋이 포함되어 앱 크기가 불필요하게 커집니다. 에셋 이..
2025.04.30 -
TIL : 유니티 게임 시스템 구현
1. 개요 오늘은 유니티 게임 프로젝트에서 핵심 시스템인 공격 시스템, 상호작용 시스템, 전투 상태 관리, 리소스 관리 등을 구현했습니다. 이러한 시스템들은 상태 머신 패턴과 이벤트 기반 통신을 활용하여 구조화되었으며, 코드의 재사용성과 확장성을 고려하여 설계되었습니다. 전체 시스템은 상태 머신 아키텍처를 중심으로, Entity-Component 디자인을 따르고 있으며, 각 기능들이 적절히 분리되어 있습니다. 이는 유지보수성을 향상시키고, 새로운 기능 추가가 용이하게 만들어줍니다. ..
2025.04.29