引言

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. 为什么采用4~20mA的电流来传输模拟量?
  2. 基于SSM实现社区医院管理系统
  3. 谷歌发布第二代TPU,并提供了免费试用方案
  4. 2018.11.14成立我的博客
  5. 数学差、物理差、英语又烂的放牛娃,后来竟成了清华校长,还做出了诺奖级的研究成果!...
  6. 变速恒频风电机组的优缺点_保障风电齿轮箱的有效润滑
  7. bat执行java程序的脚本解析
  8. 饼状图改变数据显示位置_Tableau--饼图大作战
  9. Android设备新型恶意软件,融合银行木马、键盘记录器和移动勒索软件等功能
  10. linux重启openfire服务,Centos下Openfire详细安装过程
  11. element UI指定下拉框样式修改
  12. 华为 常用的查看命令
  13. 液晶手写板原理拆解_天猫babycare儿童液晶手写板详情页拆解
  14. ERP发货系统的修改(四十三)
  15. 《我杀了他》凶手推导
  16. 根据网络画板(画线)分析一下思路
  17. 机器学习 api_开发人员会喜欢的10种机器学习API
  18. 专访马云:下一个星辰大海是百货商店
  19. 疯子的匣子_人工智能扮演``疯子''来像孩子一样学习语法
  20. 使用Shader Graph实现《塞尔达传说:旷野之息》风格的着色器

热门文章

  1. 以太坊智能合约各方法对应的签名编码
  2. Vue优化:常见会导致内存泄漏问题及优化
  3. NOIP16提高组赛前训练20-day2 T2:种花 flower(组合数学)
  4. Linux基础命令 最后附教学视频
  5. 什么是分子优化(Molecule Optimization)以及相关论文
  6. Linux 分区克隆神器 FSArchiver
  7. vue 代码调试神器
  8. ps:Netty服务端主动关闭问题
  9. 小程序获取用户所在城市完整代码详解(附源码)
  10. Vite2.0搭建Vue3.0项目应用实战