找回密码
 注册帐号

扫一扫,访问微社区

如何使用水?

2015-1-8 17:36| 发布者: 杨炎| 查看: 2375| 评论: 0|原作者: 蛮牛|来自: unity3d脚本manual

摘要: 如何使用水?注意:本页所述内容只适用于台式机编辑器模式。unity 的标准资源和专业版标准资源包 (standard assets and pro standard assets packages)中包含数种水预设(包括所需的着色器、脚本和艺术资源)。unity ...

如何使用水?

注意:本页所述内容只适用于台式机编辑器模式。

unity 的标准资源和专业版标准资源包 (standard assets and pro standard assets packages)中包含数种水预设(包括所需的着色器脚本和艺术资源)。unity 包含一个基本水效果,而 unity 专业版则包含带实时反射和折射的水,两者都提供有白天和晚上分开的水预设。

白天的水反射效果(unity 专业版)

白天的水反射/折射效果(unity 专业版)

水设置

在大多数情况下,只需将现有的一个预设 (prefab) 放入场景当中(确认已安装标准资源 (standard assets installed)):

unity 在标准资源 (standard assets)->水 (water)中有白天简单水 (daylight simple water)夜间简单水 (nighttime simple water)两种。

unity 专业版在专业版标准资源 (pro standard assets)->水 (water)中有白天水 (daylight water)夜间水 (nighttime water)两种,但是还需要标准资源 (standard assets)->水 (water)中的一些资源。水模式(简单、反射、折射)可在检视器 (inspector) 中设置。

预设使用椭圆形的网格表示水。如果需要使用一个不同的网格,最简单的方法是在水对象的网格过滤器 (mesh filter)中更改:

从头开始创建水(高级)

unity 中的简单水要求附加脚本到类似平面的网格中并使用水着色器:

拥有用于水的网格。应为平网格,水平方向。不需要 uv 坐标。水游戏对象应使用水 (water)层 (layer),可在检视器 (inspector)中设置。

从标准资源 (standard assets)/水 (water)/源 (sources)中将watersimple脚本附到对象中。

在材质中使用fx/water (simple)着色器,或调整提供的水材质之一(白天简单水 (daylight simple water)或夜间简单水 (nighttime simple water))。

unity 专业版中的反射/折射水要求用类似的步骤从头开始设置:

拥有用于水的网格。应为平网格,水平方向。不需要 uv 坐标。水游戏对象应使用水 (water)层 (layer),可在检视器 (inspector)中设置。

从专业版标准资源 (standard assets)/水 (water)/源 (sources)中将水 (water)脚本附到对象中。

水渲染模式可在检视器 (inspector)中设置:简单、反射或折射。

在材质中使用fx/water着色器,或调整提供的水材质之一(白天水 (daylight water)或夜间水 (nighttime water))。

水材质的属性

这些属性用于反射与折射 (reflective & refractive) 水着色器中。大部分也用于简单水着色器。

波浪大小 (wave scale)

波浪法线贴图的比例。值越小,水波越大。

反射/折射扭曲度 (reflection/refraction distort)

波浪法线贴图扭曲的反射/折射量。

折射颜色 (refraction color)

折射时呈现的额外色调。

环境反射/折射 (environment reflection/refraction)

实时反射和折射渲染纹理。

法线贴图 (normalmap)

定义水波的形状。最终波效结合了两张法线贴图,每张以不同的方向、规模和速度滚动。第二张法线贴图是第一张的一半大小。

波速 (wave speed)

第一张法线贴图(1 号和 2 号数字)与第二张法线贴图(3 号和 4 号数字)的滚动速度。

菲涅尔 (fresnel)

带 alpha 通道的纹理控制菲涅尔 (fresnel) 效果。根据视角不同,反射与折射的可见度。

其余的属性在反射与折射着色器 (reflective & refractive shader) 中不会用到,但也要进行设置以免用户的显卡不支持,必须退回到较简单的着色器:

反射颜色 (reflective color)/立方体和菲涅尔 (cube and fresnel)

根据视角定义水的颜色 (rgb) 和菲涅尔效果 (a) 的纹理。

地平线颜色 (horizon color)

地平线上水的颜色。(只在简单水着色器中使用)

后备纹理 (fallback texture)

如果太老旧的视频卡无法运行任一效果较好的着色器,在此种视频卡上用来代表水的纹理。

硬件支持

反射 + 折射水可以在支持像素着色器 2.0(geforce fx 及更高版本,radeon 9500 及更高版本,intel 9xx)的图形卡上运行。旧图形卡上使用反射水。

反射水可以在支持像素着色器 1.4(geforce fx 及更高版本,radeon 8500 及更高版本,intel 9xx)的图形卡上运行。旧图形卡上使用简单水。

简单水可以在任何机器上使用,硬件能力不同,所应用的细节级别就不同。

相关阅读

文章点评
相关文章
蛮牛教育10.1大促销!全站6折扣!