中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity3D使用Shader實現腐蝕消失

發布時間:2020-09-22 20:24:16 來源:腳本之家 閱讀:340 作者:星空不語 欄目:編程語言

本片shader實現的效果是模型腐蝕消失,且腐蝕的邊緣大小可以調、顏色可調。效果圖如下:

Unity3D使用Shader實現腐蝕消失

設置面板如下:

Unity3D使用Shader實現腐蝕消失

使用時需要給ClipMask參數給一張噪點圖,設置合適的cliplinesize和cliplinecolor,然后調整clipalpha就可以了。

原理是通過獲取噪點圖上對應的顏色,轉換成灰度,然后用灰度與clipalpha對比,如果大于則被剪裁掉。

shader實現如下:

Shader "XM/CorrosionEffect" {
 Properties {
 _Color ("Color", Color) = (1,1,1,1)
 _MainTex ("Albedo (RGB)", 2D) = "white" {}
 _Glossiness ("Smoothness", Range(0,1)) = 0.5
 _Metallic ("Metallic", Range(0,1)) = 0.0
 _ClipMaskTex ("Clip Mask", 2D) = "white" {}
 _ClipGray ("Clip Alpha", Range(0.0,1.0)) = 0.0
 _ClipLineSize ("Clip Line Size", Range(0,1)) = 0.0
 _ClipLineColor("Clip Line Color", Color) = (1,1,1,1)
 }
 SubShader {
 Tags { "RenderType"="Opaque" }
 LOD 200

 CGPROGRAM
 // Physically based Standard lighting model, and enable shadows on all light types
 #pragma surface surf Standard fullforwardshadows

 // Use shader model 3.0 target, to get nicer looking lighting
 #pragma target 3.0

 sampler2D _MainTex;
 sampler2D _ClipMaskTex;

 struct Input {
  float2 uv_MainTex;
 };

 half _Glossiness;
 half _Metallic;
 fixed4 _Color;
 fixed _ClipGray;
 fixed _ClipLineSize;
 fixed4 _ClipLineColor;

 void surf (Input IN, inout SurfaceOutputStandard o) {
  fixed4 m = tex2D (_ClipMaskTex, IN.uv_MainTex);
  fixed gray = Luminance(m.rgb);
  if(gray >= _ClipGray)
  {
  clip(-1);
  }

  fixed4 c;
  if(gray >= _ClipGray - _ClipLineSize)
  {
  c = _ClipLineColor;
  }
  else
  {
  // Albedo comes from a texture tinted by color
  c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
  }

  o.Albedo = c.rgb;

  // Metallic and smoothness come from slider variables
  o.Metallic = _Metallic;
  o.Smoothness = _Glossiness;
  o.Alpha = c.a;
 }
 ENDCG
 }
 FallBack "Diffuse"
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐城市| 宁德市| 应城市| 吐鲁番市| 大关县| 高安市| 辽宁省| 杨浦区| 江山市| 龙岩市| 江西省| 辽源市| 新绛县| 安宁市| 澄江县| 莆田市| 游戏| 开江县| 自贡市| 增城市| 和林格尔县| 泾阳县| 沙洋县| 新和县| 乐清市| 简阳市| 达日县| 峡江县| 定安县| 临邑县| 庆云县| 钟山县| 资兴市| 普兰县| 区。| 仲巴县| 大荔县| 澄城县| 营山县| 阳信县| 吉林市|