如何在Unity3D 5.x中添加简单的水效果

如何在Unity3D 5.x中添加简单的水效果,第1张

代码如下:

struct Input {

float2 uv_MainTex

float2 uv_NoiseTex

}

void vert(inout appdata_full v,Input o)

{

UNITY_INITIALIZE_OUTPUT(Input o)

o.vertcolor=v.color

}

void surf(Input IN, inout SurfaceOutput o) {

float2 speed=float2(xscroll,yscroll)*_Time.x+IN.uv_NoiseTex

fixed4 noise1 = tex2D(_NoiseTex,speed)

fixed4 noise2 = tex2D(_NoiseTex,speed)

half4 c=tex2D(_MainTex,float2(noise1,x+noise2,y,noise1.y+noise2.x))

o.Albedo = c.rgb * N.vertex.color.rgb + _MainColor.rgb

o.Alpha = d.a*IN.vertex.color.a*_MainColor.a

}

其中核心的部分就是使用noisetex贴图对maintex进行UV采样从而实现模拟的流水折射扭曲效果

注:

UNITY_INITIALIZE_OUTPUT(type,name)这个函数的作用就是吧name类型 转成type类型;

启动unity3d软件,unity3d中提供了两个水资源包,分贝是water(basic)与water(pro),即专业版与免费版。我就打开一个之前随便创建的项目了,随便见了几个立方体。

在菜单栏中找到Asset,单击它asset,再单击import package ,最后单击water(basic)。d出对话框,直接单击import,导入资源包。

这时在项目窗口,会出现导入的资源。可以看到其中有两个水体,通过名字,我们知道它们分别是模拟白天的水,与夜晚的水效果。

以其中一个为例,用鼠标直接将水体拖动到场景窗口中,就可以看到水效果了。

一个是在场景窗口中的显示,一个是在游戏窗口中的显示。

选择水体,在检视窗口,可以看到水体的细节调解,由于是简单水体,调解的东西不是很多。

下面介绍一下专业版水体的加入,在菜单栏中找到Asset,单击它asset,再单击import package ,最后单击water(pro)。d出对话框,直接单击import,导入资源包。

这时在项目窗口,会出现导入的资源。可以看到其中有两个水体,通过名字,我们知道它们分别是模拟白天的水,与夜晚的水效果。只不过是专业版的水体。

以其中一个为例,用鼠标直接将水体拖动到场景窗口中,就可以看到水效果了。

专业水体较一般水体而言,增加了水的折射与反射效果,看起来更加逼真。可以明显看到,水下的物体透过水面的效果与阳光在水面反射的效果。一个是在场景窗口中的显示,一个是在游戏窗口中的显示。

首先,在Project面板中的Assets文件夹单击右键。

在d出的菜单中选择【Import Package】——【Environment】,即导入环境资源包。

单击【Import】导入。

然后我们为场景中添加地形,如下图所示,我们要为下面地形的其中地方添加水资源。

在Project面板中的Assets文件夹选择【Standard Assets】——【Environment】——【Water】——【Prefabs】中其中一个文件,拖动到场景中。

拖动完成后在场景面板或Inspector面板中调整水适合的位置及其他参数。

最后完成添加。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11441516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存