Unity, Scriptable Object개념
|Scriptable Object
스크립터블 오브젝트(Scriptable Object)는 유니티에서 제공하는 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너이다. 스크립터블 오브젝트를 사용하면 값의 사본이 생성되는 것을 방지하여 프로젝트의 메모리 사용을 줄일 수 있으며 이것은 모노비헤이비어(MonoBehaviour) 스크립트에 변경되지 않는 데이터를 저장하는 프리팹을 사용하는 프로젝트에서 유용하다고 한다. 변경되지 않는 데이터를 사용하는 프리팹의 데이터를 일반 변수로 구현할 경우 인스턴스화 할때마다 프리펩에 이 데이터에 대한 자체 사본이 생성되는데, 스크립터블 오브젝트를 사용하면 메모리에 스크립터블 오브젝트의 데이터 사본만을 저장하고 이를 참조하는 방식으로 작동한다고 한다.
스크립터블 오브젝트 클래스는 유니티에서 기본적으로 제공하는 것으로 모노비헤이비어 클래스와 마찬가지로 기본 유니티 오브젝트(Unity Object)에서 파생되지만, 모노비헤이비어와 달리, 게임 오브젝트에 컴포넌트로 부착할 수 없고, 프로젝트에 에셋으로 저장된다.
즉 Scriptable Object을 이용하여 데이터 모델을 만들면, 비슷한 유형의 오브젝트들을 프리팹화 하여 생산할 때 하나의 데이터만 메모리에 올릴 수 있다는 점이다. 예를들어 A좀비, B좀비, C좀비가 있고 각각 능력치의 수치가 다르다면, 일반 프리팹을 이용하면 A,B,C좀비의 모든 데이터가 메모리에 올라오지만, Scriptable Object를 활용하면 한 개의 데이터 사본만 올라온다는 것이다. 실습과정은 아래 링크에 첨부해 두었다.
[유튜버 베르의 프로그래밍 노트 참고]
https://wergia.tistory.com/189
[Unity3D] Scriptable Object - 스크립터블 오브젝트(Scriptable Object) 기본 사용법
Scriptable Object - 스크립터블 오브젝트(Scriptable Object) 기본 사용법 작성 기준 버전 :: 2019.1 ~ 2019.2 [이 포스트의 내용은 유튜브 영상으로도 시청하실 수 있습니다] 스크립터블 오브젝트(Scriptable Object
wergia.tistory.com