引言

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(随镜头移动):如启用,水几何网格会始终位于镜头中心位置。
转自:project anarchy中文社区

Vision引擎中环境 - 水体介绍相关推荐

  1. Vision引擎中环境地形技术信息

    地形的表示 地形由分割程度不同的子分区表示,我们将在本章中作详细解释. 首先,一个地形被分割成正方形网格 区块. 这些区块作为  VManagedResource(V 被管理资源)执行,所以可以从磁盘 ...

  2. Vision引擎中 Havok 人偶介绍

    引言 Havok™ 物理人偶组件让您为模型骨架设置物理模拟. 每块骨骼在物理上都以刚体表示. 刚体由约束连接,以形成分层结构,而该结构与骨架的分层结构对应. 使用 3ds Max 或 Maya,整个刚 ...

  3. vision引擎中地形着色器介绍

    引言 地表景观纹理是实时程序中的一大挑战,因为纹理细节.混合层数量.纹理内存和渲染性能之前始终存在矛盾. vForge 内置各种游戏类型中常用的景观着色技术,可以直观可见地在 vForge 地形编辑器 ...

  4. 【Android 插件化】使用 PluginKiller 帮助应用开发者规避发布的 APK 安装包被作为插件的风险 ( 验证应用是否运行在插件化引擎中 )

    文章目录 前言 一.应用开发者规避 APK 安装包被作为插件 二.检测插件化环境 1.检查 AndroidManifest.xml 清单文件 2.检查 运行时 信息 3.检查生成的目录 4.检查组件 ...

  5. 浅谈surging服务引擎中的rabbitmq组件和容器化部署

    1.前言 上个星期完成了surging 的0.9.0.1 更新工作,此版本通过nuget下载引擎组件,下载后,无需通过代码build集成,引擎会通过Sidecar模式自动扫描装配异构组件来构建服务引擎 ...

  6. 浅谈V8引擎中的垃圾回收机制

    浅谈V8引擎中的垃圾回收机制 这篇文章的所有内容均来自 朴灵的<深入浅出Node.js>及A tour of V8:Garbage Collection,后者还有中文翻译版V8 之旅: 垃 ...

  7. egret与php相连,JavaScript_Mac OS X 系统下安装和部署Egret引擎开发环境, 概述 Egret基于TypeScript开 - phpStudy...

    Mac OS X 系统下安装和部署Egret引擎开发环境 概述 Egret基于TypeScript开发的,而TypeScript编译工具tsc是基于Node.js开发的.所以在安装过程中,我们先需要对 ...

  8. 游戏开发中的物理介绍

    游戏开发中的物理介绍 碰撞对象 物理过程回调 碰撞层和蒙版 GUI示例 代码示例 Area2D StaticBody2D RigidBody2D KinematicBody2D 在游戏开发中,您通常需 ...

  9. GEE系列:第4单元 Google 地球引擎中的数据导入和导出

    GEE从入门到实战的10个系列单元: GEE系列:第1单元 Google地球引擎简介 GEE系列:第2单元 探索数据集 GEE系列:​第3单元 栅格遥感影像波段特征及渲染可视化 GEE系列:第4单元 ...

最新文章

  1. 大型三甲医院管理系统源码PACS超声科室源码DICOM影像工作站
  2. DataSet和List 泛型之间互相转换 (转载, 作者写的很好)
  3. python -pass的用法
  4. away3d创建基础view世界(基础 一)
  5. (原创)网吧桌面背景添加文字,转载注明出处!
  6. 大屏监控系统实战(7)-后端整合MybatisPlus并暴露服务
  7. java mysql tree_java面試題:你了解mysql的B+TREE索引嗎?
  8. Mac安装Etcd,配置Etcd可视化页面Etcd Browser
  9. ROC-RK3328-CC开源主板运行LibreELEC系统
  10. Pollard Rho算法分解因数
  11. [翻译]Billy Belceb 病毒编写教程for Win32
  12. 罗技 k380快捷键
  13. 力扣:第 304 场周赛
  14. 【安全】Web指纹识别
  15. 总裁演说思维商务谈判中的九大技巧
  16. 成年人的清醒:一半是懂了,一半是算了
  17. C++——不使用sqrt实现开根号
  18. 嵌入式系统考试题库(CSU)
  19. 微信小程序设置导航栏标题颜色
  20. C++笔试题汇总(6)

热门文章

  1. 企业微信私域电商运营转化SOP计划流程方案
  2. Mix-Editor图文编辑器----Android图文编辑器
  3. 通过BNT Toolbox建立GMM分类模型
  4. Dynamics 365 讲清楚Security Role中的Append AppendTo
  5. 彻底消除不使用时消耗的电力!这样的新型负载开关你见过吗?
  6. GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记
  7. 腾讯云im:用户端来实现群组消息的功能
  8. CTF题库Fair-Play
  9. 在WPSOFFICE中一次性消除硬回车(转)
  10. pytorch查看通道数 维数 尺寸大小