这个泡沫效果来自远古时代的Unity官方海岛Demo, 原效果直接复制3个材质球在js脚本中做UV动画偏移,这里尝试在shader中做动画并且一个pass中完成:

// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
//岸边浪花泡沫
//CloudLty 2016-9-6
Shader "Custom/foams2"
{
Properties//标记所以外部变量,让该变量按标记显示在编辑器中
{
_TintColor ("Tint Color (RGBA)", Color) = (1,1,1,1)
_MainTex ("Texture (RGB)", 2D) = "white" {}
_Mask ("Mask", 2D) = "white" {}
_AlphaDelay ("Alpha Delay", Range(-1,1)) = 0
_Speed ("Time Scale", Range(0,1)) = 0.25
_WaveRange ("Wave Range", Range(-1,1)) = 0.6
_Layer1OffsetX ("Layer1 Offset X", Range(-2,2)) = 0
_Layer2OffsetX ("Layer2 Offset X", Range(-2,2)) =

这篇博客记录了如何使用Unity Shader来创建沙滩上的泡沫效果,原灵感来源于Unity官方海岛Demo。作者通过Shader在单个pass中实现UV动画偏移,替代了原先用JS脚本对多个材质球进行的动画处理。
最低0.47元/天 解锁文章
3195





