코딩초보 유니티 플레이어 스크립트 구조화 안녕하세요~요즘 원신 같은 액션 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
-
프리텐더 뮤비나오는 여자이름좀 프리텐더 나오는 여자분 이름좀 가르쳐주세요##
2025.12.03 -
베이비 몬스터 아디다스 패딩 저 빨간 패딩 모델 명이 먼가요.?!
2025.11.27 -
호이안 리조트에서의 숙박 경험, 가족 여행자에게 적합한가요? 호이안의 리조트(예: 빈펄리조트, 알레그로 호이안)에서의 숙박 경험이 가족 여행자들에게 적합한지
2025.11.25 -
강릉 바다 여행지 중 소돌아들바위공원의 독특한 매력을 알려주세요 강릉의 소돌아들바위공원이 독특한 기암괴석과 전설로 유명하다고 들었습니다. 이곳의 자연경관과 함께
2025.11.25 -
7등급? 으로 국문학과 합격한 사람 시 찾아주세요ㅜ 전에 인스타에서 국어국문 7등급?으로 붙었는 사람 시를 봤는데 너무 인상깊게
2025.11.24 -
대만사전 입국 심사 작성중 다음 페이지로 넘어가지 않고 오류 메시지가 떠네요 해결법좀 알 해결 법 좀 알려 주세요
2025.11.24