Vegetation Shader

1.       概述

对于所有放置的植被物体,你需要为它的材质上指定Vegetation shader.

通电点击”go to object material”打开材质对话框,大多数情况下你需要使用子材质,为你的渲染几何体指定子材质。

2.       材质设置

选择着色程序和表面类型。

Shader: 选择Vegetation Shaer: 这是为植被特殊设置的。

Surface Type : 选择mat_canopy: 这个表面类型定义了碰撞时现实粒子和声音效果。

其他设置可以保持不变。

3.       透明设置

为每张纹理设置透明通道

Alpha Test :

始终保持在50

不透明度可以启动alpha blend,但是对于植被开启阴影的话这太昂贵了

                   其他设置可以保持不变。

4.       光照设置

在这里调整Diffuse Specular颜色

Diffuse Color:

确保Diffuse Color始终是128 128 128

取保你的纹理使用了仅可能多的颜色校正(???)

Diffuse color 只用来变化。

Specular Color: 调整高光色

Glossiness: 调整你的镜面反射的的光泽度。

5.       纹理

指定你的Diffuse,normalspecmap等纹理

Diffuse Map: 漫反射贴图中应该包含RGB颜色和Alpha透明通道(用来做Alpha Test)

NormalMap(可选的): NormalMap中包含RGB颜色和透明通道(可选的,用来包含光泽贴图),如果纹理是这样设置,会得到更好的性能同时内存方面也可以得到优化。

SpecularMap(可选的)SpecularMap包含RGB颜色,而透明通道也卡伊用做光泽贴图来做性能和内存优化。

OpacityMap(可选的)RGB通道包含不透明色用来做背光使用。这个纹理可以比其他的纹理分辨率低(例如Diffuse1024x1024,那么OpacityMap可设置为128x128。)同时Alpha通道也可以用作其他优化用途用。

6.       Shader参数

Shader参数

描述

Back View Dependency

这个改变依赖于背面的视距的,从观察点早一点或者晚一点开始

Back Diffuse Color

定义叶子背面的颜色

Back Diffuse Color Scale

定义了叶子背面的着色力度

Blend With Terrain Amount

是否地形与植被色的混合

Detail Bending frequency

定义了复杂混合(Wind)时的混合速度。始终取保这一设置符合场景里风的设置

Bending Edges amplitude

定义了在复杂混合时红色部分的移动

Bending Branch amplitude

定义了在复杂混合时蓝色部分的移动

Detail bending phase

设置细节混合阶段

Back Shadow bias

(只用在SH球形探测上)控制背面漫反射颜色的阴影度

Detail tiling U

设置细节 Diffuse_bumpU

Detail tiling V

设置细节Diffuse_bumpV

Detail bump scale

设置细节凹凸的系数

Detail blend amount

设置细节混合的系数

 

7.       Shader Generation参数

这里定义了如果你的物体是草或者叶子或者依附于地形的生成参数。它是一个不同的Shading

Leaves: 这意味着这个Shader只用来渲染叶子,它使用一个非常复杂的Shading(昂贵),只在渲染叶子时激活它。

Grass: 这意味着这个Shader只用来渲染草,它会使用一个非常廉价的阴影,只在渲染草时激活它,它基本上关闭了SpecularMapNormal Map的设定,只用DiffuseMap来着色。

Fit to Terrain: 这应用对大面积的草,让这些物体适应地形的表面。

8.       优化植被素材

这个技术是为了开发PC游戏时使用,但在主机游戏中应用优化的也很好。

最好的做法:

         合并资源的非正方形贴图,让相同的组属于一个正方形纹理,调整资源的UV让他们匹配。

           使用合并的纹理-这是Vegetation Shader的一个功能,用来降低纹理查找

这个shader在在指定的文件中查找SpecularOpacity通道,并且在两种特殊性框下使用:透明部分(Transparent)(叶子)和不透明部分(Opaque)(树干)

Transparent: Diffuse Texture Map下的Diffuse + Opacity通道的选项槽;Specular Texture Map下的Specular 通道选项槽。

Opaque: Diffuse Texture Map下的Diffuse + Spectualr通道的选项槽。

移除不需要的Detail bump map(删除叶子保存大的树干)

如果不需要不进行植被混合

                   移除交出的叶子(或者通过命令行关闭)

                   使用LODs细节

                   如果需要以最低层级的LOD创建X-Tree

                   为远距离的复杂对象创建梯代替平面

                   推荐的材质ID方式

                            2 IDs针对于树(拥有树干树叶,)

                            1IDs针对于没有树干的植物

                   推荐的纹理大小:

                            512x512

         对于一些小型植被物体(少于300-400个多边形)。使用LOD可能看上去很糟糕。为它们提供单一的LOD并小心的调整精灵距离范围(sprite distance ratio)来获得好的质量和性能会更好。

         当创建植被资源时,推荐经常检查他们是如何在Sandbox里是如何被放置的。通过调整Distance radio参数来使他们出现跳跃闪烁的情况最好。

 

作者:无花无酒
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

 

posted on 2009-12-20 12:47  无花无酒  阅读(1246)  评论(0编辑  收藏  举报