표준적인 면도기를 개조합시다!2장부터 3장까지 DecalShader
4452 단어 Unity
표준 면도기를 개조합시다
우선 Unity 다운로드 페이지 여기서 음영을 다운받습니다.
이번에 할 일
다운로드한 면도기 중의 큰 면도기를 개조해 보세요.
표준적인 큰 스크레이퍼를 만들 수 있어요.
• 기본 텍스쳐에 서로 다른 텍스쳐가 중첩됩니다.
하고 싶은 일
• 3단 텍스쳐를 겹치고 싶다
소재 사용보석 보호기의 소재.
여기 있는 세 가지 재료를
이렇게 하다
면도기를 개조하다
개조 전 면도기는 이거예요.
Shader "Decal" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB)", 2D) = "white" {}
_DecalTex ("Decal (RGBA)", 2D) = "black" {}
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 250
CGPROGRAM
\#pragma surface surf Lambert
sampler2D _MainTex;
sampler2D _DecalTex;
fixed4 _Color;
struct Input {
float2 uv_MainTex;
float2 uv_DecalTex;
};
void surf (Input IN, inout SurfaceOutput o) {
fixed4 c = tex2D(_MainTex, IN.uv_MainTex);
half4 decal = tex2D(_DecalTex, IN.uv_DecalTex);
c.rgb = lerp (c.rgb, decal.rgb, decal.a);
c *= _Color;
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
Fallback "Diffuse"
}
그리고 개조해서
Shader "CustamDecal" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB)", 2D) = "white" {}
_DecalTex ("Decal (RGBA)", 2D) = "black" {}
_FrameTex ("Frame (RGBA)", 2D) = "black" {}
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 250
CGPROGRAM
\#pragma surface surf Lambert
sampler2D _MainTex;
sampler2D _DecalTex;
sampler2D _FrameTex;
fixed4 _Color;
struct Input {
float2 uv_MainTex;
float2 uv_DecalTex;
float2 uv_FrameTex;
};
void surf (Input IN, inout SurfaceOutput o) {
fixed4 c = tex2D(_MainTex, IN.uv_MainTex);
half4 decal = tex2D(_DecalTex, IN.uv_DecalTex);
half4 frame = tex2D(_FrameTex, IN.uv_FrameTex);
c.rgb = lerp (c.rgb, decal.rgb, decal.a);
c.rgb = lerp (c.rgb, frame.rgb, frame.a);
c *= _Color;
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
Fallback "Diffuse"
}
결실
이런 느낌으로.
그렇군요!
해본 일
Leap 함수
fixed4 c = tex2D(_MainTex, IN.uv_MainTex);
half4 decal = tex2D(_DecalTex, IN.uv_DecalTex);
c.rgb = lerp (c.rgb, decal.rgb, decal.a);
c.rgb = lerp (c.rgb, decal.rgb, decal.a);이것이 바로
c에 decal 색상 처리 추가
예를 들면 이거.
c.rgb = lerp (c.rgb, decal.rgb, 0.5);
... 면
이렇게 됐어요.
여기 데칼에 여자 그림이 있어요.
뭐 해요?
leap(a,b,c)
a와 b의 삽입을 진행하다
c는 a->b의 어느 위치입니까?이런 일
c가 0이면 a의 무늬만 표시합니다
c가 1이면 b의 무늬만 표시합니다
만약 c가 0.5라면 a와 b의 색 중간에 있다.
leap의 c에 b의 α값을 첨가한 것은 α0에서 a의 무늬 색깔을 사용하고 싶어서이다.
끝말
면도기가 너무 재미있어요. 조금만 개조하면 여러 가지 일을 할 수 있으니까 다양한 사람들을 꼭 만나셨으면 좋겠어요.
같은 그림으로 희귀도가 다른 아이콘을 다 만드는 건 좀 아닌 것 같아서 한번 그려봤어요.
메뉴를 아시는 분과 메뉴를 모르시는 분과 함께 놀자!
끝!
이번 자료는 아래와 같다.
제목: [보석 보호기 FREE]
URL:[ http://www.jewel-s.jp/ ]
Reference
이 문제에 관하여(표준적인 면도기를 개조합시다!2장부터 3장까지 DecalShader), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/enpel/items/e88e8d97490ec618c630텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)