
TopDownMovement가 TopDownController를 상속받지 않는 이유
각각의 클래스가 서로 다른 목적을 가지고 있기때문에 독립적으로 MonoBehaviour를 상속받는게 맞다.
상속의 경우는 모든 기능을 물려받아서 쓰기 위함인데, 이 두개는 본질적으로 다른 역할을 수행하기 때문에
MonoBehaviour를 상속받아야된다.
파일 옮길때 주의할 점
유니티 에디터를 사용해서 게임을 만들때 파일이나 폴더 생성은 유니티 에디터 안에서 하는게 좋다.
외부 파일 ( EX : 비쥬얼 스튜디오 ) 에서 옮길 경우에는 메타파일이 깨져 오류가 발생할 수 있다.
만약 오류가 발생했을때에는 해당 스크립트를 삭제 후 다시 Reimport 해서 다시 추가하면 해결된다.




**스크립터블 오브젝트(Scriptable Object)**를 사용하는 이유는 주로 데이터 관리와 성능 최적화 측면에서 매우 유용하기 때문입니다. Scriptable Object는 게임 개발에서 데이터 중심의 구조를 만들고, 오브젝트의 상태와 관계없이 독립적으로 데이터를 관리할 수 있는 방식입니다.
Scriptable Object를 사용하는 이유:
데이터 재사용 및 공유 가능: Scriptable Object는 여러 개의 오브젝트나 씬에서 같은 데이터를 공유할 수 있게 해줍니다. 예를 들어, 아이템 데이터, 캐릭터 스탯, 스킬 정보 등을 Scriptable Object로 관리하면 여러 씬에서 이를 공유하여 중복되는 데이터를 피할 수 있습니다.
메모리 절약: 같은 데이터가 여러 오브젝트에서 중복될 필요 없이 한 번만 메모리에 로드되기 때문에 메모리 사용량을 줄일 수 있습니다. 특히 많은 게임 오브젝트가 같은 데이터를 참조해야 할 때 매우 유용합니다.
데이터의 영속성: Scriptable Object는 씬에 종속되지 않고, 프로젝트 파일로 저장됩니다. 씬을 이동하거나 게임 오브젝트가 사라져도 데이터는 유지되므로, 게임 데이터를 관리하는 데 유리합니다. 예를 들어, 게임 내 캐릭터의 능력치나 레벨을 Scriptable Object로 저장하면, 씬 전환 후에도 데이터가 유지됩니다.
씬 간 데이터 공유: Scriptable Object는 씬 간에 데이터를 쉽게 공유할 수 있습니다. 씬 전환 시에 오브젝트 간 데이터를 전달할 필요 없이 Scriptable Object를 통해 데이터를 저장하고 참조하면 됩니다.
유니티 에디터와의 통합: Scriptable Object는 Unity 에디터에서 직접 데이터를 수정할 수 있는 구조를 제공하므로, 개발자나 디자이너가 쉽게 데이터를 조정하고 관리할 수 있습니다. 또한, Prefab처럼 에디터에서 드래그 앤 드롭으로 데이터와 오브젝트를 연결할 수 있습니다.
복잡한 데이터 구조 관리: 게임의 다양한 데이터, 예를 들어, 퀘스트 시스템, 인벤토리 시스템, 스킬 시스템 등 복잡한 데이터를 구조화해서 관리할 수 있습니다. Scriptable Object를 통해 이러한 데이터 구조를 쉽게 설계하고 확장할 수 있습니다.
예시:
아이템 데이터 관리: 여러 아이템의 이름, 설명, 가격, 능력치 등의 데이터를 Scriptable Object로 관리하고, 게임 오브젝트는 해당 데이터를 참조만 하면 됩니다.
적 AI의 행동 패턴: 여러 적 캐릭터들이 동일한 행동 패턴 데이터를 참조해서 동작하도록 할 수 있습니다.
요약: Scriptable Object는 게임 내 데이터를 효율적으로 관리하고, 씬 간 데이터 공유 및 재사용을 쉽게 할 수 있게 도와주는 유용한 도구입니다.

'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글
| TIL(Today I Learned) - 23 (0) | 2024.10.16 |
|---|---|
| TIL(Today I Learned) - 22 (0) | 2024.10.15 |
| TIL(Today I Learned) - 20 (1) | 2024.10.10 |
| TIL(Today I Learned) - 19 (0) | 2024.10.08 |
| TIL(Today I Learned) - 18 (0) | 2024.10.07 |