如何在Unity3D中制作波浪效果
在游戏《超级路易吉银河》中,当玩家掉进冷水中时,屏幕会晃动。有没有一种可能的方法在统一中实现这种效果 效果如下所示:如何在Unity3D中制作波浪效果,unity3d,Unity3d,在游戏《超级路易吉银河》中,当玩家掉进冷水中时,屏幕会晃动。有没有一种可能的方法在统一中实现这种效果 效果如下所示: 我不知道这个效果的名称,很抱歉我没有提供详细信息。很抱歉我太愚蠢了 1) 添加新的着色器、材质和C#脚本 2) 脚本编写 着色器(添加到底部,并删除颜色反转): C#: 3) 将C#脚本附加到摄影机,将着色器附加到材质,然后将材质附加到C#脚本。将立方体添加到场景以查看效果。转到Unity上的播放模式,并调整脚本上的设置 4) 变量的作用是什么 a) 波数: 波浪的数量, 1=
我不知道这个效果的名称,很抱歉我没有提供详细信息。很抱歉我太愚蠢了 1) 添加新的着色器、材质和C#脚本 2) 脚本编写
着色器(添加到底部,并删除颜色反转):
C#: 3) 将C#脚本附加到摄影机,将着色器附加到材质,然后将材质附加到C#脚本。将立方体添加到场景以查看效果。转到Unity上的播放模式,并调整脚本上的设置 4) 变量的作用是什么 a) 波数: 波浪的数量, 1=大量波浪 30=非常少的波浪 b) 波长: 偏移波的x有多远, 1=非常宽的波 1000=非常短波
我建议波数为1,波长为100。后处理着色器。是的,正如@Draco18s所说,您可以在资产存储中找到更多信息。是一个自由的统一体。它有很多效果,如模糊、暗淡、颜色校正等@EmreE我安装了后期处理堆栈,但没有一个效果是我想要的。你可以尝试调整其中的一些,可能会得到你想要的效果,但不确定。还有付费资产,也许它们有你想要的效果。
uniform float _waveLength;
uniform float _waveNumber;
fixed4 frag (v2f IN) : SV_Target
{
fixed4 col = tex2D(_MainTex, IN.uv + float2(sin(IN.vertex.y / _waveLength + _Time[1]*50) / _waveNumber, 0));
return col;
}
using UnityEngine;
public class testscript : MonoBehaviour {
public Material mat;
public float waveNumber;
public float waveLength;
void Update()
{
Shader.SetGlobalFloat("_waveLength", waveNumber); // I know I switched the variables on accident. It still works though.
Shader.SetGlobalFloat("_waveNumber", waveLength);
}
void OnRenderImage( RenderTexture src, RenderTexture dest)
{
Graphics.Blit(src, dest, mat);
}
}