본문 바로가기

unity

스크립터블 오브젝트

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