Vertex Color(메쉬의 버텍스 컬러를 이용한 텍스쳐 겹치기 방법:배경 바닥에서 주로 사용된다.)

View Direction - 카메라가 보는 방향

Gradient - 컬러를 그라디언트로(fixed로 하면 끊어진 컬러가 된다.)

Sample gradient - 시간을 넣을수 있다.(이외에 다른것도..)

Ambient - 하늘, 적도, 바닥 컬러를 정해준다. 라이트맵(환경광)의 컬러를 가져오는걸 알수있다.

Baked GI - 베이킹된 맵을 텍스쳐로 사용할수있다.(diffuse로 사용할수 있다는 뜻인데, 용도는 모르겠음.)

 

Refraction Probe - 반사 효과를 넣을수 있다.

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

툰 쉐이더 Amplify shader set  (0) 2020.11.02
Shader graph-input03  (0) 2020.07.12
Shader graph -input01  (0) 2020.06.11
Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10

Boolean- 참, 거짓...(스위치이다.)

Color- 뭔말이 필요한가...

 

상수라고함.(어디에 쓰임있는지 아직모름..)

PI- 파이임..(3.1415926)

TAU- 파이에 2를 곱한 값.(6.28318530)

PHI- 황금비율(1.618034)

E- 지속적으로 무한으로 다가가는 (고라니TV 참고)
SQRT- 2의 제곱근 . 루트2

 

Integer -정수

Slider - float값을 기반으로 하는 최소최대치를 만든다.

Time-

Time- 1초마다 증가

SineTime- 싸인 그래프로 증가(1.6초면 1이 되고, 3.14초면 0이되고... -1)

CosineTime - 코싸인 그래프로 증가(1.6초면 0되고, 3.14초면 1이되고....-1)

DeltaTime - 프레임간에 시간차이를 매번 다르기 때문에 이를 보완하여 일정하게 만드는것.

SmoothDelta - 델타타임을 좀더 부드러운 간격으로 만든것.

 

Vector(float, uv, vertex...)

vector를 통하여 빼거나 더할수도 있다.

 

Bitangent Vector

출처: http://rapapa.net/?p=2419

object 좌표계:  각 오브젝트의 local로 본 좌표계

world 좌표계: 월드를 중심으로 본 좌표계

view 좌표계: 카메라의 로컬에서 x,y는 그대로이나 z가 반대인 좌표계

tangent 좌표계: 탄젠트벡터(U=x), 비탄젠트(V=y), 노멀벡터(z) 오브젝트이 각 정점마다 탄젠트 좌표계가 존재.

 

Positon

 

Screen Position

(잘안되서 헤멤: UniversalRenderPipelineAsset에 OpaqueTexture가 체크되어야 하며, 가능하면 DepthTexture까지 둘다 체크하고 개발.)

 

Tangent vector

어디에 쓰임있는지 모르겠음..

 

 

UV

 

고라니TV  외에 여러 사이트에서 참고하였습니다.

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph-input03  (0) 2020.07.12
Shader graph-input02  (0) 2020.06.29
Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30

그레이 컬러를 더했을때와 vector3를 더했을때 달라지는 이유는

 

color Sapce를 gamma로 바꾸면 똑같아진다.

요렇게 하면 똑같아진다.

 

split- 쪼개고, combine- 묶고

Flip- RGBA를 뒤집는다.(마이너스로 변환)

Swizzle- RGBA채널을 바꿀수 있다.

고라니TV  외에 여러 사이트에서 참고하였습니다.

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph-input02  (0) 2020.06.29
Shader graph -input01  (0) 2020.06.11
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30
Shader graph -Artistic02  (0) 2020.05.29

Normal From Texture - 일반텍스쳐에서 노멀추출

Normal Blend - 노멀끼리 블랜딩 시킴

voronoi-세포처럼 이미지를 만든다.

Normal From Height - 노멀이 높이값을 만든다.

Normal Strength - 노멀의 강도를 만든다.

 

Normal Reconstruct- 노멀컬러 보정?,그다지 의미있는 기능은 아님..

Normal unpack-노멀안된것을 노멀로 만드는?, 그다지 의미있는 기능은 아님..

 

 

Colorspace Conversion - Linear, HSV로 바꾼다.

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph -input01  (0) 2020.06.11
Shader graph -channel01  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30
Shader graph -Artistic02  (0) 2020.05.29
Shader graph -Artistic01  (0) 2020.05.28

youtu.be/UsyvT36vqpU

많은 것이 좋아졌다고하는데 뚜렷이 무엇이 좋아졌는지 잘 알수가 없었는데, 이내용을 보면 개선된 방식이라는게 느껴지긴합니다.

 

제가 받아들인 요약은

1. 같은 프로젝트라도 드로우콜 800짜리가 500짜리대로 떨어짐.

2. 조명이 여러개 써도 괜찮을정도로 개선됨(여러 조명을 하나의 조명?으로 계산을 한다고 했나?) 하튼 실시간 라이트를 32개정도까지 써도 될정도로 효율이 좋아짐.

3. 이전 파이프라인 쉐이더는 여러개의 오브젝트가 있을때 오브젝트마다 드로우콜이 증가했지만, URP 기본 쉐이더를 여러 오브젝트가 같이 사용시 드로우콜을 1개로 바꿔버린다.(이건 획기적이긴한데... 커스텀은.....?)

4. 왜 이렇게 효율이 좋아지는가 하면 이전에는 배치가 메터리얼 단위로 일어나기 때문이었지만, SRP로 바뀌면서 쉐이더 단위로 바뀌어서 메터리얼이 많아져도 같은 쉐이더라면 효율이 좋아진다는것입니다.

(reder list에서 SRP Batcher를 키는것이 중요하다.)

 

https://forum.unity.com/threads/how-to-create-matcap-shaders-with-shader-graph.770285/

 

역시 찾아보니 방법이 있군요.

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Artistic02  (0) 2020.05.29
Shader graph -Artistic01  (0) 2020.05.28
URP Shader graph  (0) 2020.05.27

Blend, Dither

ChannelMask(원하는 채널을 선별하여 가릴수있다.)

 

ColorMask

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30
Shader graph -Artistic01  (0) 2020.05.28
URP Shader graph  (0) 2020.05.27

Adjustment

 

일종에...포토샵에서 컬러가지고 변화를 여러가지 주는 장치

 

 

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30
Shader graph -Artistic02  (0) 2020.05.29
URP Shader graph  (0) 2020.05.27
2D Renderer Sprite Lit Graph 스프라이트에서 빛에 반응하는 그래프  
  Sprite UnLit Graph

스파라이트에서 빛에 반응하지 않는 그래프

 
Unlit Graph  

3D에서 빛에 반응하지 않는 그래프

 
PBR Graph   물리기반 그래프  
VFX Shader Graph  

파트클에서 사용되는 그래프

 
Sub Graph  

그래프를 묶을수 있는 그래프

 

 

float 32비트
half 16비트 이미지 손실이 일어날수있다.

Metal Reflectance는 금속재질에 따른 컬러가 셋팅되어있어서 스페큘러에 적용하면된다.

 

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

Shader graph -channel01  (0) 2020.06.10
Shader graph -Artistic03  (0) 2020.06.10
Shader graph -Matcap  (0) 2020.05.30
Shader graph -Artistic02  (0) 2020.05.29
Shader graph -Artistic01  (0) 2020.05.28

       
 

유니티는 프레임 디버거를 이용하여 프레임마다 그려지는 게임오브젝트의 순서를 눈으로 확인할수 있다.

   
 

어떤것부터 그리는지 알수없다.

   
 

그려지는 순서에 따라 오브젝트가 가려질수 있다.

   
       
 

불투명 오브젝트를 먼저 그린다.

   
 

반투명 오베즉트는 나중에 그린다.

   
 

반투명 오브젝트끼리는 뒤에서부터 그린다.

   
 

알파 소팅을 써봤자 완벽하게 앞뒤를 제대로 판정할수 없으니, 알파를 썼을때 문제는 일어난다.

   
 

알파 블렌딩을 사용하였을때에는 Zwrite 하지 않는다.

   
 

이문제를 해결하기 위하여 고민이 필요하다.

   
       
       

z Buffer

앞뒤 판정을 위해서 픽셀마다 기준으로 가장 가까운 오브젝트의 깊이값이 저장되어있는 데이터

   
       
       
       

OverDraw

그려진 이미지위에 덧그려지는

   
       
       

Alpha sorting

멀리 있는것부터 차례대로 그리는

   
       

Deferred Rendering

반투명을 처리할수 없다.(할수있지만 어렵다?)

   
       

Foward Rendering

     
       

Opaque

불투명

   
       

Transparent

반투명

   
       
       

알파 구현1

Shader "Custom/108_alpha"
{
Properties
{
_MainTex ("Albedo (RGB)", 2D) = "white" {}
}

이미지는 옵션을 clamp 두는것이 좋다.
그래야 반복되는 부분의 끝부분이 보인다던가 하는
문제를 해결할수 있다.

 
 

SubShader
{
Tags { "RenderType"="Transparent" "Queue"= "Transparent"}
cull off

CGPROGRAM
#pragma surface surf Lambert alpha:fade

cull off 양면구현

 
 

sampler2D _MainTex;

struct Input
{
float2 uv_MainTex;
};

   
 

void surf (Input IN, inout SurfaceOutput o)
{
fixed4 c = tex2D (_MainTex, IN.uv_MainTex);
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG

   
 

}
FallBack "Legacy Shaders/Transparent/VertexLit" //"Diffuse"
}

Diffuse 놓으면 폴리곤 형태 그대로의 그림자가 나오게 된다.
이부분은 그림자를 끄는것이고 이를 사실 완전한 구현이라 할수없다.
그래서 AlphaTest(Cutout) 쉐이더를 사용한다.

Legacy Shaders/Transparent/Diffuse
이렇게해도 결과는 같다.

 
       

알파 구현2
(
알파된 오브젝트 그림자 구현)

Shader "Custom/109_alpha_cutout"
{
Properties
{
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_Cutoff ("Alpha cutoff", Range(0,1))=0.5
}

 

하나는 알파테스트이고,
하나는 그냥 트랜스파렌트이다.
둘다 적용이 가능하다.

 

SubShader
{

Tags { "RenderType"="TransparentCutout" "Queue"= "AlphaTest"}
cull off

CGPROGRAM
#pragma surface surf Lambert alphatest:_Cutoff

SubShader
{
Tags { "RenderType"="Transparent" "Queue"= "Transparent"}

cull off

CGPROGRAM
#pragma surface surf Lambert alpha:fade

 
 

sampler2D _MainTex;

struct Input
{
float2 uv_MainTex;
};

   
 

void surf (Input IN, inout SurfaceOutput o)
{
fixed4 c = tex2D (_MainTex, IN.uv_MainTex);
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Legacy Shaders/Transparent/Cutout/VertexLit"

void surf (Input IN, inout SurfaceOutput o)
{
fixed4 c = tex2D (_MainTex, IN.uv_MainTex);
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Legacy Shaders/Transparent/Cutout/VertexLit"

 

 

유니티 쉐이더 스타트업 자료(정종필저)

'Unity > Surface Shader' 카테고리의 다른 글

가짜 리플렉션  (0) 2020.11.10
기본적인 일반텍스쳐+노멀+아웃라인 적용 쉐이더  (0) 2020.10.06
RampTexture  (0) 2020.05.21
OUTLINE  (0) 2020.05.17
프레넬 공식  (0) 2020.05.17