Vision引擎中环境 - 水体介绍

引言

vForge 提供用于创建水体的水体图形,从涓涓溪流到浩瀚的大海,都可用该图形创建。 该图形完全可自定义,能够逼真地创造出您的项目需要的大部分水体类型。 通过引擎内的水体着色器,您的水体可以具备泡沫动画、焦散、太阳反射等大量特性。

   注:为了使用水体图形,您必须确保场景选定一个有效的着色器节点,延迟或正向均可。否则水面渲染将失败。 请见渲染模式章了解如何设置渲染模式的详细信息。
 
水体图形类型
水体图形位于效果图形组,从图形创建面板将水体图形实例拖拽到场景中即可完成添加。

编辑水体图形
水体图形可作为小池塘或湖海等大规模水体使用。 尽管您可以使用标准辅助 3D 线框缩放工具,但将图形缩放比例固定为(1,1,1)并使用图形大小调整手柄可更精确地控制大小。

水体属性
可通过水体属性部分的多种选项对水体进行自定义。
     Mirror Model(镜面模型)

Size X,Y(尺寸 X、Y): 该值定义水面尺寸,可使用调整大小手柄(见上文)设置。
 
ModelFile(模型文件):您可以为水体图形指定一个模型。 该模型必须为平面模型,但可以带一个任意 2D 图形。 这非常有助于将水体严丝合缝地嵌入有限的区域,因为方形图形会溢出区域边界。 想象有一片华丽的锦鲤池,其轮廓为扬起的花瓣形,在这种情况下,标准的方形将溢出池塘,为解决此问题,您可以把水体的几何网格改为与池塘匹配的平面花瓣。
 
Resolution(分辨率):渲染器目标纹理分辨率。
 
SpecularLightKey(高光光照键名):光源的可选对象键名,用于更新水体的高光设置(颜色、指向)。
 
着色效果
选中 Shader Effect(着色效果)并点击”加号”小图标展开树状图,即可显示水体着色器选项。

水体着色器带有若干着色选项,请为您的项目选择最合适的属性:
 
EffectName(特效名称):默认水体着色器提供多种有关水体特效复杂度的选项。
 
Water_AllSupportedFeatures_Deferred(水体_支持所有特性_延迟)
Water_Simple_Deferred(水体_简单_延迟)
Water_NoFoam_NoCaustics_Deferred(水体_无泡沫_无焦散_延迟)
Water_NoFoam_Deferred(水体_无泡沫_延迟)
Water_AllSupportedFeatures(水体_支持所有特性)
Water_Simple(水体_简单)
Water_NoFoam_NoCaustics(水体_无泡沫_无焦散)
Water_NoFoam(水体_无泡沫)
DisplacementWater_AllSupportedFeatures(驱替水_支持所有特性)
DisplacementWater_AllSupportedFeatures_Deferred(驱替水_支持所有特性_延迟)
DisplacementWater_NoFoam(驱替水_无泡沫)
DisplacementWater_NoFoam_Deferred(驱替水_无泡沫_延迟)
DisplacementWater_NoFoam_NoCaustics(驱替水_无泡沫_无焦散)
DisplacementWater_NoFoam_NoCaustics_Deferred(驱替水_无泡沫_无焦散_延迟)

在本文档中,我们用来演示的特效名称是: Water_AllSupportedFeatures_Deferred。
 
BrightWaterColor(明亮水体颜色):在全亮太阳光下的水体颜色。

CausticsParams(焦散参数):光照抵达水底的特效。
X = UV 缩放比例
Y = 卷轴速度
Z = 法线粗糙度
W = 强度

ChromaticExtinction(色差消光):设置水体的色差消光。 显示光照穿透水深时颜色所受到的影响。 该值高表示对应颜色分量淡出得更快。 当焦散强度大于 0 时,该选项的效果更为显著。

darkWaterColor(深水颜色):最大深度的水从水面观察时的颜色。

foamFadeParams(泡沫淡入淡出参数):控制泡沫不透明度的参数。
 
X = 泡沫达到完整强度的深度。
Y = 泡沫完全淡出的深度。
只要 W 值大于 0,通过增加 X、Y 值,您可以扩大几何体边缘周围的泡沫区域。

为了创造岸边的平滑转换效果,Y 应大于 X。

Z = 远离水体边缘的波浪泡沫强度。
W = 水体边缘周围的泡沫强度。

foamWobble(泡沫摆动):控制泡沫运动的选项:
 
X = 速度
Y = 强度
Z = UV 缩放比例。
fShoreFadeoutRange(岸边淡出范围):定义岸边开始淡出的距离(较低的值意味着更平滑的淡出)。 该值的效果是平滑水体平面与任何和其相交的几何体的边缘混合。

NormalMap(法线贴图):该水体的法线贴图。
 
reflectionParams(反射参数):控制水体反射的参数:
 
W = 反射基线强度,该值越大,水面生成的反射越多,透明度越低。 注: 如该值较高,您可能无法看出 Fresnel(菲涅尔)属性的任何变化。

X = 法线缩放比例,该值增加时会创造扭曲的反射。

Y = 菲涅尔强度值,该参数要求菲涅尔缩放比例大于 0。
Z= 菲涅尔缩放比例,水面光照强度。

refractionDepthScale(折射深度缩放比例):折射强度,控制水面下方任何几何体被光照扭曲的强度。 注: waterOpacity(水体不透明度)值需要设低,否则您不能看到水面以下。

specularParams(高光参数): 控制水体高光特性的参数:
 
X = 高光指数,较低的值创造出更大范围的高亮。
Y = 高光倍增

sunColor(太阳颜色):定义太阳在水面上的颜色。
 
sunDirection(太阳指向):太阳在水面的指向。
 
waterFlowDirection(水流指向):水体在 UV 空间中的流动方向。
 
waterNormalParams(水体法线纹理参数): 控制水体法线纹理的参数:
 
X = 水体纹理卷轴速度,按下运行游戏或动画按钮时,水体会以该值所设定的速度流动。
Y = 法线贴图 UV 卷轴。

Z = 法线贴图粗糙度。 波浪和涟漪所显示的深度。 该值为 0 则产生平整的水面。

waterOpacity(水体不透明度):水体的不透明度 - 值越高,不透明度就越高。

waterTintColor(水体染色): 不使用深度消光时的水体染色。
水下
当镜头移到水平面以下,如下参数开始生效,为玩家带来在水面下方移动到感受。

EnableUnderWaterFog(启用水下雾): 如启用,则在镜头位于水下时应用专用的深度雾参数。 下图是 UnderWaterFogEnd 值为 8000 时的效果。

UnderWaterFogColor(水下雾颜色):如启用水下雾,则该选项定义雾的颜色。 该颜色随时间变化环境色调制,以反映一天中的实际时间。
 
UnderWaterFogOpacity(水下雾不透明度): 定义位于远方的雾的最大不透明度。

UnderWaterFogStart(水下雾起点):定义雾起始距离。

UnderWaterFogEnd(水下雾终点):该值定义雾终止距离。 以下对比图显示了各种起始和终止距离的效果。

镜面可视性
与被反射对象的可视性有关的选项。 例如天空或地形在水中的倒影。

FarClipDistance(远切距离):如该值大于 0,则定义渲染镜面几何体所使用的远切距离。 否则使用主上下文远切距离。 降低该距离可大大降低您的性能负担。
 
Contextbitmask(上下文位元蒙版):镜面上下文过滤位元蒙版(例如,用于实体、天空、地形等)
 
RenderExtendedObjects(渲染大范围对象):渲染地形植被等大范围对象。
 
ReflectionShadermode(反射着色模式):该值定义反射表面使用哪种着色器。 使用 AlwaysSimple(始终简单)可获得最佳性能。
 
FovScale(视野角度缩放比例):设定镜面的视野角度缩放因数。 该值可用来减少由于着色器搅动镜面法线所导致的纹理夹取伪影。
 
ObliqueClippingOffset(斜剪切补偿):可指定斜剪切面相对于镜平面的位置补偿。 该值为负则将切面放置在镜平面以下,从而减少渲染伪影,例如毗邻岸边的水体在渲染中产生的伪影。
 
MoveWithCamera(随镜头移动):如启用,水几何网格会始终位于镜头中心位置。

猜你喜欢

转载自projectanarchy.iteye.com/blog/2101820