오늘은 Unity에서 **SkillEffectManager**와 BaseSkill 클래스 간의 상호작용을 분석하고, 오브젝트 이름이 한글로 표시되는 문제를 디버깅했습니다. 주요 학습 내용은 다음과 같습니다:
- Prefab 이름과 생성된 오브젝트 이름:
- Unity에서 Instantiate로 생성된 오브젝트의 기본 이름은 프리팹 이름을 따릅니다.
- SkillDataSO의 effectPrefab 이름은 영어로 설정되어 있었으나, 다른 로직에서 이름이 한글로 변경될 가능성이 높았습니다.
- BaseSkill 클래스와 SkillEffect의 역할:
- BaseSkill의 GetSkillEffect는 SkillDataSO 데이터를 기반으로 SkillEffect 구조체를 생성하며, 이 구조체는 SkillEffectManager.TriggerEffect를 통해 오브젝트를 생성하는 데 사용됩니다.
- 디버깅 방법:
- effect.SkillPrefab.name과 Instantiate 이후의 오브젝트 이름(effectObj.name)을 출력하여, 이름이 어디서 변경되고 있는지 추적했습니다.
- 문제 해결 방안:
- 생성된 오브젝트 이름이 자동으로 한글로 설정되는 것을 방지하기 위해, Instantiate 후 명시적으로 이름을 영어로 설정하는 방식을 적용할 수 있습니다.
'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글
TIL(Today I Learned) - 68 (0) | 2024.12.26 |
---|---|
TIL(Today I Learned) - 67 (0) | 2024.12.24 |
TIL(Today I Learned) - 65 (0) | 2024.12.20 |
TIL(Today I Learned) - 64 (0) | 2024.12.19 |
TIL(Today I Learned) - 63 (0) | 2024.12.18 |