[Unity] ScriptableObject
공식 홈페이지에 따르면, ScriptableObject는 클래스 인스턴스와는 별도로 데이터를 저장할 수 있는 데이터 컨테이너이며, 그 목적은 사본이 생성되는 것을 방지하여 메모리 낭비를 줄이는 것이다. 처음 이런 설명을 들었을 때는 잘 와닿지 않았는데, 다음 예시를 생각해 보자. 가령, 과일 아이템들을 만드려 하고, 과일 아이템은 각자 이름, 색깔, 가격, 아이템 등급 등의 정보를 지닌다고 하자. 이 때, 같은 종류의 과일 아이템끼리는 이 값들을 모두 동일하게 공유할 것이다. 이 값들을 ScriptableObject로 만들어 모든 사과 아이템들이 참조할 수 있는 reference로 삼는 것이다. 예시를 통해 살펴보도록 한다. 먼저, ScriptableObject를 생성한다.[CreateAssetMenu..
2024. 6. 9.
[ShaderGraph] 자릿 수 변환
Shader Graph에서는 자릿수가 다른 노드들끼리도 연결할 수 있다. 자릿수가 다른 노드끼리의 연결은 다음 규칙을 따른다.1. 한 자리 수(float)을 여러 자리 수(Vector2, Vector3, Vector4)에 연결: float의 값으로 모든 자릿수가 채워짐2. 여러 자리 수를 자릿수가 다른 여러 자리 수에 연결2-1: 모자란 경우, 앞에서부터 차례대로 채우고 남는 자릿수는 비워 둠2-2: 더 많은 경우, 앞에서부터 차례대로 채우고 남는 자릿수는 버림. 예) 값이 1인 float 노드를 Vector3 노드에 연결하면 그 값은 (1,1,1)이다.예) 값이 (1,1) 인 Vector2 노드를 Vector3 노드에 연결하면 그 값은 (1,1,0)이다.예) 값이 (1,1,1,1)인 Vector4 노드..
2024. 6. 7.