Normal From Height Node는 들어오는 Height 값을 사용하여 대략적인 Normal을 생성합니다.좌측 Gradient Noise Node를 보면 0과 1의 값으로 이루어져 있으며, 이 값으로 Height 값을 결정하는 것 같습니다. 0이면 높이가 낮고, 1이면 높이가 큰? Normal From Height Node를 처리하는 과정은 단지 Height Input만을 사용하기 때문에 Normal From Texture 노드와 같이 3개 이상의 텍스처 샘플을 사용하는 것보다 더 저렴한 방법으로 Bump Mapping 작업을 수행합니다. 그러나, 필터링이 없기 때문에 결과는 매우 저품질이며 픽셀화된 외관을 가질 수 있다는 단점이 있습니다. The Basic에 대한 설명입니다.The Basic에..
샘플을 다운받으면 여러가지의 서브 그래프를 다운받을 수 있습니다.이때 주의하실 점은 쉐이더 그래프 버전에 따라 제공되는 샘플의 종류가 다르므로 본인의 쉐이더 그래프의 버전을 확인하시길 바랍니다. Procedural Patterns Procedural Patterns 예제에는 다양한 패턴들의 소개가 나와있습니다. Node Reference Node Reference 예제에는 각 노드에 대한 설명이 나와있습니다.쉐이더 그래프를 처음 다룰 때 참고하시면 매우 좋을 것 같습니다! Feature Examples Feature Examples 예제에는 실제로 사용할수 있는 쉐이더 기법에 대한 설명이 나와있습니다.본인이 만들고자 하는 쉐이더가 있다면 참고하시면 좋을 것 같습니다.
쉐이더 그래프를 이용해서 작업을 하다보면 Black Board에 프로퍼티 값들이 많아져서 본인이 원하는 값을 찾기가 어려워집니다. 아래 예시와 같이 말이죠. 그럴때 사용할 수 있는 게 카테고리 기능입니다.카테고리 기능을 이용해서 비슷한 프로퍼티들 끼리 묶어주면 나중에 해당 값을 찾을 때 더 쉽게 찾을 수 있습니다. 카테고리 만드는 방법은 [+]를 누른 후 Category를 선택하시면 됩니다. 그 후 카테고리를 더블클릭해서 이름을 바꿔줄 수 있습니다.
Heatmap Color Mode란? Unity 6(2023.3.0a10) 이상에서 도입된 Heatmap Color Mode는 Shader Graph의 노드들의 GPU 비용을 시각적으로 색을 통해 나타내는 기능입니다. Heatmap Color Mode는 각 노드의 색상이 해당 노드의 '상대적인 성능 비용'을 나타냅니다. 어두운 색상의 노드는 쉐이더의 전체 GPU 성능 비용이 적게 드는 것을 뜻하며, 밝은 색상의 노드는 GPU 계산을 더 많이 하는 것을 뜻합니. Heatmap Color Mode를 사용하면, 각 노드의 GPU 사이클 수를 측정하여 카테고리(위 사진 Name참고)를 할당하고, 이를 기반으로 그래디언트를 사용하여 노드의 색상을 표시합니다. Heatmap Color Mode를 사용하기 위해서는 ..
Step Node란? Step Node는 입력값 In이 Edge 값보다 크거나 같으면 1을 반환하고, 그렇지 않으면 0을 반환합니다.예를 들어, 특정 임계값을 기준으로 텍스처의 특정 부분을 강조하거나 숨기는 데 사용할 수 있습니다. 위 사진은 Step Node가 사용하는 함수입니다.두 개의 Value를 비교해서 Branch Node를 통해 1 or 0을 반환합니다.이때 기준은 A가 되며 A가 B보다 크거나 같은 경우에만 1, 그 외에는 0입니다. 프로그래머가 한 번에 이해하는 방법=> 입력 값 In(A) > Edge(B) ? 1: 0 대박슨ㅋㅋㅋㅋ
Saturate Node란? "Saturate Node"는 Shader Graph에서 사용되는 노드로, 입력 값을 0과 1 사이로 고정시키는 역할을 합니다. 어떤 값을 받아도 그 값이 0보다 작으면 0으로, 1보다 크면 1로 만드는 역할을 합니다. 입력 값의 범위를 제한하여 처리한다고 생각하시면 됩니다. Clamp Node와 차이는? 🔽 더보기 Clamp Node는 사용자가 지정한 최소값과 최대값 사이로 입력 값을 제한합니다. 예를 들어, 입력 값을 -1과 1 사이로 제한하거나, 10과 100 사이로 제한하는 것이 가능합니다.
Smoothstep Node란? Smooth Step Node는 특정 입력 값이 두 경계(Edge1, Edge2) 값 사이에 있을 때 0과 1 사이의 'Hermite 보간 결과'를 반환합니다. 'Smooth Step Node'는 'Lerp Node'와 비슷하지만 두 가지 차이점이 있습니다. Smooth Step Node를 사용하여 범위 (Edge1, Edge2) 를 지정하고, 0과 1 사이의 반환 값을 돌려 받습니다. Smooth Step Node는 'Linear 보간' 대신 'Hermite 보간'을 사용합니다. 보간이 처음에는 점진적으로 빨라졌다가 끝으로 갈수록 점차 느려집니다. 'Linear 보간'과 'Hermite 보간' 차이는? 🔽 더보기 Linear 보간법은 두 점 사이를 직선으로 연결하여 그 ..
Shader Graph의 Noise Node는 Simple Noise와 Gradient Noise 두 가지 유형이 있습니다. Simple Noise란? Simple Noise는 UV 입력을 기반으로 단순하거나 'Value Noise'를 생성합니다. Value Noise란? 🔽 더보기 Value Noise란 컴퓨터 그래픽에서 절차적(Procedual) Texture 생성에 사용되는 Noise Type입니다.Value Noise는 각 Grid Point에서 무작위 값을 생성하고, 이 값들 사이를 보간하여 Noise를 생성해냅니다. 보간하기에 부드러운 결과를 생성해냅니다. Value Noise는 자연스러운 텍스처, 지형 생성, 클라우드 렌더링 등에 사용될 수 있으나 덜 현실적인 결과를 생성해냅니다. Gradi..
Multiply Node란? Multiply Node는 두 개의 입력 값(A, B 2개의 채널)을 받아서 그 두 값을 곱한 결과를 내보내는 역할을 합니다. 예를 들어, 두 개의 색상을 입력으로 받는다면, Multiply Node는 두 색상을 섞은 결과를 출력합니다. 즉, Multiply Node는 두 입력 값을 '조합(섞는)’하는 역할을 한다고 생각하시면 됩니다. Multiply Node는 색상 뿐만 아니라 다른 벡터나 매트릭스 값들에도 사용할 수 있습니다. 예시 1 빨간색 바와 파란색 바를 각각 벡터로 표현할 때, 빨간색 바는 (1, 0, 0)으로, 파란색 바는 (0, 0, 1)로 표현할 수 있습니다. 이 두 벡터를 Multiply Node에 입력으로 주면, Multiply Node는 두 벡터를 곱한 ..
Split Node란? Split Node는 입력 벡터를 4개의 Float 출력인 R, G, B 및 A로 분할합니다. 출력 벡터( R, G, B, A)는 입력의 개별 채널 (R, G, B 및 A )에서 정의됩니다. 입력 벡터의 차원이 4(Vector 4)보다 작은 경우 입력에 없는 출력 값은 0이 됩니다. 활용 예시 Position Node에서 추출한 입력 벡터를 Split Node에서 활용할 수 있습니다. Position Node의 3차원 공간 위치 정보를 Split Node를 통해 x, y, z 좌표로 분리할 수 있습니다. 분리된 좌표들을 개별적으로 조작할 수 있습니다.
Position Node란? Position Node는 그래픽을 만드는 데 필요한 각각의 점(버텍스) 또는 색상의 단위(프래그먼트)의 위치를 알려주는 역할을 합니다. Position Node에는 5개의 space가 존재합니다. Space 설명 Object 객체 자체를 기준으로 한 위치를 나타냅니다. View 카메라 뷰를 기준으로 한 위치를 나타냅니다. World World를 기준으로 한 위치를 나타냅니다. Tangent 텍스처 좌표를 기준으로 한 위치를 나타냅니다. Absolute World 모든 Scriptable Render Pipeline에 대해 Scene의 객체의 절대적인 월드 위치를 항상 반환합니다. Object & World Space 차이 설명 연습 Position Node의 Object S..
가장 큰 특징으로는 UV와 Tangents좌표계의 의존성을 없애기 Generic Surface 접근을 돕는다 평면 투사(Projection)를 사용한다 3가지의 mapping을 Blend한다 Texturing Without UV Coordinates Texture mapping을 수행하기 위해 일반적으로 사용되는 방법은 Mesh에 각 Vertex가 저장된 UV-좌표계를 사용하곤 한다 그러나, 이렇게 하는 것이 유일한 방법은 아니다 때때로, 사용가능한 UV 좌표계가 없을 수도 있기 때문이다 예를 들어, 임의의 Shpae의 절차적 Geometry 과정일 때 런타임에서 Terrain이나 Cave를 생성할 때, 적절한 텍스쳐 UnWrap를 위한 UV 좌표계를 생성할 수 없다 이러한 경우, 우리는 대안적인 방법으..
먼저 4개의 Quad로 둘러싸인 방을 하나 만들어준다 이때 카메라가 바라보는 정면에는 Quad를 설치하지 않는다 따로 Stencil Mask를 설치할 예정이기 때문이다 이제 Quad를 설치하는 Rotation의 값도 중요하다 3축의 바라보는 방향이 중요하다 Z축같은경우 Quad가 바깥쪽을 바라보게 해야한다 나머지 X, Y축은 상관없지만 Z축은 항상 바깥쪽을 바라봐야 한다 Stencil1 포함 자식 객체들의 Layer을 전부 Stencil1로 바꾸어준다 Quad하나를 생성한 후 Z축이 방안을 바라보도록 만든다 이때 Stencil Mask의 Layer는 default로 내비두면 된다 Stencil Mask의 Materials을 만들어줘야한다 Shader "Examples/Stencil" { Propertie..
툰 셰이더 임포트 하기 유니티 툰 셰이더는 애니메이션, 영화, 게임 등 많은 곳에서 사용되는 기술입니다. UNITY-CHAN! OFFICIAL WEBSITE ユニティちゃん公式ウェブサイトです。ユニティちゃんの各種データダウンロードやイベント、最新情報などをお届けします。 unity-chan.com 유니티 Chan 공식홈페이지에 들어가서 위 사진에 보이는 친구를 찾아서 다운받으면 됩니다. 툰 셰이더 적용해보기 오른쪽이 Toon Shader가 적용된 예입니다. 아직 이상하므로 파라미터를 조정해주어야 합니다. 메테리얼을 눌러서 [Toon]- [UnityChanToonShader]항목에 있는 여러가지 툰 셰이더 중 하나를 선택해준다. 가끔 메테리얼이 보라색으로 뜨면 아래와 같은 방식으로 해결하시면 됩니다. 상단 [Wind..
첫 번째로 Scene Depth와 Camera 노드를 사용했고 Screen Position을 이용하였으며 두개의 노드를 Substract노드를 통해 뺐습니다. 두 번째로 파도의 타일링을 구현했습니다. Time노드와 각각 Tiling and Offset 노드를 통해 output을 Sample Texture 2D에 각각 넣어줬씁니다. 세 번째로 파도의 출렁임을 표현하기 위해 Position(Object)노드를 사용하였고 Split을 통해 R, B채널만 뽑아왔씁니다(파도의 높이를 뽑아오려면 G채널 뽑아와야 하는거 아닌가..?) 최종 Graph 결과물은 이러하다. 노말맵이 약간 이상하다. 파도의 출렁임이 좀더 자연스러웠으면 좋겠다 싶었다.