
shader graph의 마스터노드의 position input은 vertex shader 단계에 영향을 줍니다. vertex 단계에서는 당연히 fragment 단계에 영향을 주지 못합니다. (다만, 텍스쳐를 샘플링해서 vertex 단계에서 이용하려면 SampleTexture2DLOD를 사용할 수 있습니다.) vertex를 조작하기위해 object space로된 position 노드를 만들면 우리가 조작할 수 있는 vertex의 위치값 (vector3)가 반환됩니다. (object 공간의 위치값이므로 vertex를 제어하려면 Scale, Rotate, Postion 순으로 제어해야 의도한 결과가 나올 수 있습니다.) 쉐이더는 GPU에서 실행되기에 실제 mesh자체를 업데이트하거나 colider에 영향을 ..

Fresnel Effect는 시야각에 따라 표면의 반사율이 달라지는 효과로, 입사각에 접근하면 더 많은 빛이 반사됩니다. Fresnel Effect는 표면 법선과 뷰 방향 사이의 각도를 계산하여 이를 근사화합니다. 각도가 클 수록 반환값이 커집니다. 즉, 노드는 메시의 Normal과 View Dir (카메라에서 픽셀 위치까지의 벡터)을 기반으로 값을 출력합니다 . 그들 사이 의 각도 가 클 수록 반환되는 값이 커집니다. 90도 각도 차이에서 이것은 정확히 1 입니다. 카메라를 향하는 법선은 더 작은 값을 반환하거나 정확히 정렬 된 경우 0을 반환 하며 Power 값을 지정하여 이를 조정할 수 있습니다. (aka Rim Light) void Unity_FresnelEffect_float(float3 Nor..

Scene Color 노멀라이즈된 화면좌표(default설정)로 예상되는 입력 UV를 사용하여 현재 카메라의 색상버퍼의 값을 가져옵니다. URP에서는 _CameraOpaqueTexture의 값을 사용하며 (RenderPipeline에서의 Opaque Texture 옵션이 켜져있어야함.) 이 텍스쳐는 Transparent 설정에서만 작동합니다. (Master노드의 Surface를 Transparent로 설정) 입력의 UV는 화면좌표 (ScreenPositon)의 UV와 동일합니다. Opaque Texture 씬의 모든 카메라에 대한 기본값으로 _CameraOpaqueTexture를 생성하려면 활성화 합니다. 이것은 내장 렌더 파이프 라인의 GrabPass처럼 작동합니다. Opaque Texture는 URP..

일반적인 UV는 데카르트좌표계를 사용하여 표현을 합니다. X(또는 U)축은 0에서 시작해서 수평으로 1까지 증가합니다. Y(또는 V)축은 0에서 시작해서 수직으로 1까지 증가합니다. 하지만 극좌표계에서는 R(X,U)출력은 기준점으로부터의 거리를 알 수 있습니다. (0~1, 0은 검은색, 1로갈수록 하얀색) G(Y,V)출력은 기준점으로부터의 각도를 알 수 있습니다. (-0.5~0.5,음수를 표현할 수 없어 0.5를 add해서 표현) void Unity_PolarCoordinates_float(float2 UV, float2 Center, float RadialScale, float LengthScale, out float2 Out) { float2 delta = UV - Center; float radiu..
- Total
- Today
- Yesterday