Shader "Hwanggoon/2Textures SemiTrans"
{
Properties
{
_Color ("Main Color", COLOR) = (1,1,1,1)
_MainTex("Texture", 2D) = "white" {}
_SubTex ("Texture", 2D) = "white" {}
}
SubShader
{
Tags { "Queue" = "Transparent" }
// Queue 태그는 렌더링 순서를 결정하는 데에 사용하는 태그
// 반투명은 랜더링 순서에 따라 정상적으로 보이지 않을 수 있음
// 랜더링 순서
// 1) Background 1000
// 2) Geometry (디폴트) 2000
// 3) AlphaTest 2450
// 4) Transparent 3000
// 5) Overlay 4000
// Queue 는 임의 수로도 적용 가능
// Tags { "Queue" = "Geometry+1" }
// 이렇게 정의하면 오브젝트는 2001번 랜더 Queue 에 속하게 됨
// 랜더링 순서를 마음대로 조절가능
// Pass에도 Tags가 있으니 주의
Pass
{
Blend SrcAlpha OneMinusSrcAlpha
// Blend 기본 구문 : Blend SrcFactor DstFactor
// (이제 나올 결과 색상값 x SrcFactor) + (이미 스크린(버퍼)에 존재하는 색상값 x DstFactor)
// SrcFactor DstFactor 외에 들어 올 수 있는 속성들
// One, Zero,
// SrcColor, SrcAlpha,
// DstColor, DstAlpha,
// OneMinusSrcColor, OneMinusSrcAlpha,
// OneMinusDstColor, OneMinusDstAlpha
// 알파값이 0.6 이라고 한다면, SrcAlpha = 0.6 이고 OneMinusSrcAlpha = 0.4 이므로
// 오브젝트 색상과 배경 색상은 60% 대 40% 비율로 섞여서 반투명 처리됨
SetTexture [_MainTex]
{
Combine texture
}
SetTexture [_SubTex]
{
ConstantColor[_Color]
// ConstantColor : 색을 상수로 받음
Combine texture lerp(texture) previous, constant
// , : 색상과 알파를 각기 적용하하기 위함
// constant : ConstantColor로 받은 상수를 의미함
// , 뒤에 오는 상수는 알파만을 의미 해서 ConstantColor의 알파만을 사용
}
}
}
}
{
Properties
{
_Color ("Main Color", COLOR) = (1,1,1,1)
_MainTex("Texture", 2D) = "white" {}
_SubTex ("Texture", 2D) = "white" {}
}
SubShader
{
Tags { "Queue" = "Transparent" }
// Queue 태그는 렌더링 순서를 결정하는 데에 사용하는 태그
// 반투명은 랜더링 순서에 따라 정상적으로 보이지 않을 수 있음
// 랜더링 순서
// 1) Background 1000
// 2) Geometry (디폴트) 2000
// 3) AlphaTest 2450
// 4) Transparent 3000
// 5) Overlay 4000
// Queue 는 임의 수로도 적용 가능
// Tags { "Queue" = "Geometry+1" }
// 이렇게 정의하면 오브젝트는 2001번 랜더 Queue 에 속하게 됨
// 랜더링 순서를 마음대로 조절가능
// Pass에도 Tags가 있으니 주의
Pass
{
Blend SrcAlpha OneMinusSrcAlpha
// Blend 기본 구문 : Blend SrcFactor DstFactor
// (이제 나올 결과 색상값 x SrcFactor) + (이미 스크린(버퍼)에 존재하는 색상값 x DstFactor)
// SrcFactor DstFactor 외에 들어 올 수 있는 속성들
// One, Zero,
// SrcColor, SrcAlpha,
// DstColor, DstAlpha,
// OneMinusSrcColor, OneMinusSrcAlpha,
// OneMinusDstColor, OneMinusDstAlpha
// 알파값이 0.6 이라고 한다면, SrcAlpha = 0.6 이고 OneMinusSrcAlpha = 0.4 이므로
// 오브젝트 색상과 배경 색상은 60% 대 40% 비율로 섞여서 반투명 처리됨
SetTexture [_MainTex]
{
Combine texture
}
SetTexture [_SubTex]
{
ConstantColor[_Color]
// ConstantColor : 색을 상수로 받음
Combine texture lerp(texture) previous, constant
// , : 색상과 알파를 각기 적용하하기 위함
// constant : ConstantColor로 받은 상수를 의미함
// , 뒤에 오는 상수는 알파만을 의미 해서 ConstantColor의 알파만을 사용
}
}
}
}
'Shader > Unity Shader 공부' 카테고리의 다른 글
Unity Shader) 07_CG_ex (0) | 2014.04.30 |
---|---|
Unity Shader) 05_2Textures_Alpha (0) | 2014.04.23 |
Unity Shader) 04_2Textures (0) | 2014.04.23 |
Unity Shader) 03_VertexLit_Simple (0) | 2014.04.23 |
Unity Shader) 02_VertexLit_White (0) | 2014.04.23 |