코딩초보 유니티 플레이어 스크립트 구조화 안녕하세요~요즘 원신 같은 액션 RPG 게임을 연습 삼아 작게 만들어보고
업계 뉴비가 찾아오니 흥분을 감출수가 없네요
제가 작성한 글이 미흡할 수 있으니, 댓글로 추가적인 질문을 달아주세요(늦을 수 있다는 점 양해 부탁드립니다)
[저는 게임 개발자는 아니지만, 한때 개발자이고 현재 devops로 활동하는 사람입니다. 미흡하여도 도움이 되길 바랍니다]
scriptableobject로 캐릭터 스텟을 관리하는것은 좋은 방식입니다.
장단점을 읊자면,
- 런타임에 복제 없이 데이터 공유가 가능합니다(메모리 효율 증가)
- inspector에서 바로 편집 가능하기도 하구여
- 스텟, 성장 곡선, 레벨, 전용 능력 등을 정리하기 나쁴는 않습니다.
조금 더 추가하자면,
>> 스텟은SO + Mono 조합으로 분리하시는것을 추천드립니다.
- ScriptableObject는 “원본 데이터”
- MonoBehaviour는 “런타임 상태” (HP, 버프 등)
두번쨰로 넘어가죠
이거는 게임사마다 다르고, 또 개발자마다 다릅니다
하지만 지금에 와서는 크게 세가지로 개발되고 있는데여
1. 무기 타입별 scriptableobject + 공격모션 animationclip 바인딩
캐릭터에 WeaponData를 장착하면 그에 맞는 공격 모션을 Animator에 적용하거나, AnimatorOverrideController로 덮어씌우는 형식? 정도
2. 캐릭터별 animatot override controller + 상태기반 무기 모션 관리
>> 무기를 바꾸면 해당 무기에 맞는 공격 모션(override controller)이 animator에 즉시 반영되는 형식
3. 무기랑 모션을 분리하는 Iweaponbehavior 인터페이스를 구조화시키는 방식
>> 캐릭터는 이제 무기 타입에 상관없이 인터페이스 명만 호출하는것이죠
>> 이걸 저는 추천드립니다(확장성은 이게 1등입니다, 업데이트와 패치에 강하져)
제가 추천드리는 조합은
캐릭터 스탯 ScriptableObject + 런타임 상태 분리
무기 데이터 ScriptableObject로 무기 속성, 모션, Prefab 통합
공격 모션 AnimatorOverrideController 또는 Interface 분리
스킬/공격 행동 IWeaponBehavior 또는 Command 패턴
무기/캐릭터 바인딩 런타임에 동적으로 장착/교체 구조 구현
이정도..? 가 될듯하네요
Character Stats & Abilities 구조 설계 가이드 << 이거 유니티 공식입니다
추가적인 자료는 깃헙에서 unity 관련 RPG 프로젝트 검색해보시면 너무너무 많습니다~
https://learn.unity.com/
Free tutorials, courses, and guided pathways for mastering real-time 3D development skills to make video games, VR, AR, and more.
learn.unity.com
-
창원대 수시 .. 창원대를 목표로 하고 있는 09년생입니다 지금 제 내신이 5등급제 기준으로
2025.12.01 -
아이폰 16, 16프로 케이스 호환 가능한가요? 16을 쓰고 있는데 일반형은 케이스가 많이 없고 프로형은 많아서
2025.12.01 -
임영웅 11월 브랜드평판 순위 알고싶어요 임영웅 11월 브랜드평판에서 스타부문에서의 임영웅 순위 알고싶어요
2025.11.30 -
전주 고등학교 다자녀 제가 2027학년도 고등학교 입학생인데요 지망하는 학교가 전주 한일고인데 1. 다자녀
2025.11.30 -
고속버스 예매 인천공항에서 대전으로 가는 버스를 이용하려하는데 버스 노선이 인천공항 2터미널에서 출발해
2025.11.30 -
어떤 야구선수 싸인일까요? 제가 옛날에 롯데 자이언츠 선수한테 싸인받은 싸인볼을 오늘 찾았네요. 어떤
2025.11.29