[ShaderGraph] Node 반전(One Minus)
Node를 반전시키는 방법은 (1-node) 이다. 가령 파란색(0,0,1)을 RGB 색상에서 반대되는 색인 노란색(1,1,0)으로 만드려면 (1-(0,0,1))을 해야 하는 것이다. (1,1,1) - (0,0,1) = (1,1,0) 이 된다는 것을 생각하자. Subtract Node를 통해 해당 기능을 구현할 수도 있지만 해당 기능을 위한 'One Minus' 라는 node가 별도로 준비되어 있다. 아주 간단하게 그냥 one minus 노드를 생성하고 반전시키고자 하는 값을 input으로 넣어 주면 끝이다.
2024. 7. 4.
[ShaderGraph] Swizzling
Swizzling이란 node의 각 자리를 서로 바꾸는 작업을 의미한다. 1. Split node와 Combine node를 이용한 Swizzling먼저 (1,0,0) 의 값을 가진 Vector3 node를 Color에 연결해 준다. Split node를 통해 Vector3의 값을 각각 1, 0, 0으로 분해해 준 후, Combine node에 해당 값들의 위치를 재조정하여 연결한다. 이 방식을 통해 (1,0,0)의 값을 (0,1,0)으로 swizzle 하였다. 해당 Shader가 적용된 material의 색상 역시 (1,0,0) -> (0,1,0)이 되었으므로 초록색으로 변한다. 2. Swizzle node를 직접 이용한 Swizzlingswizzle node의 Mask 값을 조정하여 위와 완전히 ..
2024. 7. 4.
[Unity] ScriptableObject
공식 홈페이지에 따르면, ScriptableObject는 클래스 인스턴스와는 별도로 데이터를 저장할 수 있는 데이터 컨테이너이며, 그 목적은 사본이 생성되는 것을 방지하여 메모리 낭비를 줄이는 것이다. 처음 이런 설명을 들었을 때는 잘 와닿지 않았는데, 다음 예시를 생각해 보자. 가령, 과일 아이템들을 만드려 하고, 과일 아이템은 각자 이름, 색깔, 가격, 아이템 등급 등의 정보를 지닌다고 하자. 이 때, 같은 종류의 과일 아이템끼리는 이 값들을 모두 동일하게 공유할 것이다. 이 값들을 ScriptableObject로 만들어 모든 사과 아이템들이 참조할 수 있는 reference로 삼는 것이다. 예시를 통해 살펴보도록 한다. 먼저, ScriptableObject를 생성한다.[CreateAssetMenu..
2024. 6. 9.