ScriptableObject는 클래스 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너이다.
https://docs.unity3d.com/kr/2022.3/Manual/class-ScriptableObject.html
ScriptableObject - Unity 매뉴얼
ScriptableObject는 클래스 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너입니다. ScriptableObject의 주요 사용 사례 중 하나는 값의 사본이 생성되는 것을 방지하
docs.unity3d.com
https://unity.com/kr/how-to/architect-game-code-scriptable-objects
스크립터블 오브젝트로 코드를 효율적으로 변경하고 디버깅할 수 있도록 설계 | Unity
스크립터블 오브젝트로 코드를 설계하면 코드를 유연하고 간편하며 디버깅에 용이한 상태로 유지할 수 있습니다.
unity.com
스크립터블 오브젝트를 사용하면 데이터를 재사용하기 용이하다. 때문에 메모리를 절약할 수 있다. 유니티 에디터 내에서도 데이터 수정이 가능하다.
스크립터블 오브젝트는 Monobehavior를 상속 받는게 아니라 ScriptableObject를 상속받는다.
CreateAssetMenu로 빠르게 에셋 생성이 가능하다. 이름을 정하고 메뉴에 표시될 이름도 정한다.
order = 로 메뉴에서의 순서를 정할 수 있다. int.MaxValue로 맨뒤에 오게 할 수 있다.
생성된 것을 볼 수 있다. 데이터도 수정한다.
오크 오브젝트에 스크립터블 오브젝트를 집어넣고 프리팹으로 만든다.
몬스터를 생성하는 스크립트를 만들고 monsterdata를 출력해보았다.
이걸로 여러 오브젝트들의 데이터를 조금 더 쉽게 관리할 수 있겠다.
'unity' 카테고리의 다른 글
디자인패턴(Template Method) (0) | 2024.09.25 |
---|---|
shader_3 (0) | 2024.08.28 |
Unity_Shader Graph 01 (0) | 2024.08.07 |
shader_2 (0) | 2024.07.31 |
유니티 생명주기 (0) | 2024.07.28 |