본문 바로가기

TIL(Today I Learned)/오늘 무엇을 배웠을까

TIL(Today I Learned) - 49

📘 오늘의 TIL (Today I Learned)

  1. ScriptableObject를 활용한 데이터 관리
    • SkillSO, WeaponDataSO, AccessoryDataSO와 같은 아이템 데이터를 ScriptableObject로 관리하면, 데이터의 재사용성과 유지보수성이 높아진다.
    • 공통 속성은 BaseItemSO로 추출하여 상속 구조를 통해 효율적으로 관리할 수 있다.
  2. Resources.Load의 사용법과 대안
    • Resources.Load를 통해 런타임에 ScriptableObject를 로드하려면 반드시 Resources 폴더에 해당 파일이 위치해야 한다.
    • 하지만 유지보수와 최적화를 위해 ScriptableObject 데이터베이스를 활용하거나 Unity Addressables를 사용하는 것이 더 나은 대안이다.
  3. 인벤토리 시스템 설계
    • 스킬, 무기, 악세사리를 각각의 인벤토리(SkillInventory, WeaponInventory, AccessoryInventory)로 나누고, 이를 통합 관리하는 PlayerInventory를 설계하면 유연성과 확장성이 높아진다.
    • IInventory 인터페이스를 도입해 공통적인 아이템 관리 로직을 재사용할 수 있다.
  4. 애니메이션과 애니메이터의 선택
    • 스킬 효과를 구현할 때, 단일 애니메이션 클립은 AnimationClip을 사용하고, 복잡한 상태 전환이 필요하면 Animator를 활용한다.

오늘 배운 내용으로 프로젝트 설계를 더 체계적이고 확장 가능하게 만들 수 있습니다. ScriptableObject 기반의 데이터 관리와 인벤토리 시스템 설계는 앞으로 다른 프로젝트에도 유용하게 활용될 것입니다.

'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글

TIL(Today I Learned) - 51  (0) 2024.12.02
TIL(Today I Learned) - 50  (0) 2024.11.29
TIL(Today I Learned) - 48  (0) 2024.11.27
TIL(Today I Learned) - 47  (0) 2024.11.27
TIL(Today I Learned) - 46  (1) 2024.11.25