본문 바로가기

ETC/ETC

Unity에서의 Variants란?

Asset bundle을 공부하다보니 Variants라는 단어가 계속나왔다.


사전에 찾아보니 변종이라는데 보니 Asset bundle뿐만이 아니라 shader나 다른곳에서도 


Asset bundle variants, Shader variants, Prefab Variants 등 여러곳에서 사용되는 단어였다.


Prefab Variants는 우선


프리팹 변종 (Prefab Variants): 유연한 프로퍼티

프리팹 변종(Prefab Variants)은 특정 프리팹에 대한 미리 지정된 여러 개의 차이(variations)들을 발생시키는 용도로 적합하다.

기본적으로 프리팹 변종은 특정 Prefab의 오브젝트들과 프로퍼티들을 상속한다. 그러나 동시에, 사용자는 해당 프로퍼티를 오버라이드하고 신규 컴포넌트나 GameObject를 이 변종에 추가할 수 있다. 이는 객체 지향 프로그래밍(OOP)의 상속(inheritance) 개념과 비슷하다.


http://sungkukpark.github.io//unity/2018/12/24/unity-new-prefab-workflows.html

해당글에서 보면 Prefab에 등록된 객체를 Scene에 instance화 하고 해당 객체의 inpector에 있는 아무런 값이나 변경하게 되면

예를들어 Scale값을 x = 1, y = 1, z = 1이였던것을 x = 10, y = 1, z =1로 변경하게되면 해당 객체는 등록되있는 prefab과는 

다른 값을 가지고 있으니 해당 객체를 prefab variants라고 보는거같다.

그럼 shader variants도 위와 마찬가지로 instance화 된 shader 내부의 어떠한 값을 등록되있는 shader prefab과 다르게 설정해 주면

해당 객체는 shader variants라고 할 수 있는거같다.


그런데 문제는 이제 asset bundle variants이다.

기존에 다운받은, 혹은 저장한 asset bundle을 instnace화 시키고 prefab과 차이점을 주면 asset bundle variants가 되는거같은데

asset bundle에서 변화를주려면 asset bundle 안에 있는 asset들의 개수를 변화, 즉 asset bundle 내부 구성의 변화를 주면

asset bundle variants라고 칭하는건가?


좀더 찾아봐야겠다.






'ETC > ETC' 카테고리의 다른 글

OpenGL vs Metal  (0) 2019.04.23
Unity UnityAction과 Reference Count 궁금점  (0) 2019.02.26