This page has been translated automatically.
Recent news:
Table of contents:

UNIGINE 2.16.1:屏幕空间霾全球照明、更好的进口API,VR改进

关键的变更

  • 屏幕空间霾全球照明
  • 更好的动态反射
  • 优化呈现阴影
  • 改进资产进API
  • 多种工具,改进在编辑器
  • 沙虫稳定的工具
  • 优化醒波
  • 一套新C++的样本
  • 脱基于VR模板
  • Varjo长型一体化的改进
  • VR插件UnigineEditor

这释给你带来更多的稳定和优化与包呈现的改进,包括一个新屏幕空间霾全球照明效果,更好和更灵活的API for运行时进口的资产。

屏幕空间霾全球照明

真正的生活的阴霾可能是一个很好的-可有的事情游戏的项目,但它是至关重要的模拟以及所有的项目中视觉真是一个要求。

引入 画面-空间霾全球照明(SSHGI) -这是一个新屏幕空间效果,确保一致性的雾的颜色,与目前的彩色的全球照明。 的作用提供了现实的结果和有一个相当简单的设定参数。 这种功能适用于 基于物理 烟霾渐变模式(其他模式,计划在即将发布).

所有的散射甩纹理都更新,以提供更多的自然和物理上正确的散射和阴影的色彩。

该组SSHGI参数提供相应的集团的环境中设置(Settings->Render->Environment).

改进运行时的资产进API

我们已经重组和改善进口API为了简化创造的自定义用户进口商。 现在它是可以注册多进口商从不同的供应商被用于进口的文件具有相同的延长(进口商现在已确定通过对 供应商+名). 你还可以设置 优先级 为每个进口商对处理文件的规定扩展。

Source code (C++)
class MyPlugin : public Unigine::Plugin
{
    FbxParameters *fbx_params = {new FbxParameters};
    StpParameters *stp_params = {new StpParameters};

protected:
    int init() override
    {
        Unigine::Import::registerImporter("Unigine", "FbxImporter", "fbx", &createFbxImporter, fbx_params, 1);
        Unigine::Import::registerImporter("Unigine", "FbxImporter", "obj", &createFbxImporter, fbx_params);
        Unigine::Import::registerImporter("Unigine", "ObjImporter", "stp", &createStpImporter, stp_params);
        Unigine::Import::registerImporter("Unigine", "ObjImporter", "brep", &createBrepImporter, nullptr);
    }
};
Importer *createFbxImporter(void *opaque) { auto fbx_params = reinterpet_cast<FbxParameters *>(opaque); ... }
Importer *createStpImporter(void *opaque) { auto stp_params = reinterpet_cast<StpParameters *>(opaque); ... }
Importer *createBrepImporter(void *) { ... }

一些进口国的管理方法增加了。 登记的进口商已经变得更加灵活,因为可以指定,即使建立和删除方式对于他们每个人:

新API 是用C++,C#和UnigineScript. 更多信息,有关的变化,请参阅 API迁移指南.

更好的动态反射

有时,当镜面突出了从光滑的表面获得进入的动态环境中探测器的一个非常明亮闪烁的灯光从它可能会出现。 一个新的粗糙度偏移选择(设置->渲染>动态反射)使周围的材料看起来更雾面对的环境中探测器比实际,降低了这样的闪烁的文物。 这个选项也可通过 render_reflection_dynamic_roughness_offset 控制台的命令。

优化呈现阴影

加入一个能够使用先进剔除影子瀑布为 目集群扰乱 防止阴影中呈现的最近的联级从正在呈现的再次在其他瀑布。 这减少了面呈现在阴影中呈现通过节省的性能。 然而,在某些情况下,这种特征可能需要超过它给予的,因此,它是禁用的默认。

Varjo一体化的改进

当发展长型和先生的应用程序,可能需要掩盖的特定对象的行为作为一个"窗口"进入真正的世界。 这是特别有用的,如果你想看看真实世界的元素,例如仪器或控制器的设备,在虚拟环境中的(如windows在一辆汽车模拟器,例如)。

我们已经增加的支持对于混合的面罩给你的完全控制边界的混合现实相结合,VR图像从用户的应用和图像从视频看看-通过(伟仕). 一套不同的掩蔽模式是可以使你能够确定如何动态和静态的面具是处理内的一个混合的现实看,包括使用的色度的关键设定。 混合的面具可以被用来扩大或限制的色度的关键掩模或控制的深入检测对估计视频深度。


像礼貌的Varjo

其他一些改进,以及:

  • 加入白自动平衡校正对于混合的现实,确保一致产生的图像。
  • 优化呈现于头戴式显示器,具有下文(低res)和集中(高分辨率)显示,可通过新的 立体声周 呈示方式保存的性能上阴影和反思与其他优化减少呈现负荷,例如减少决议的纹理。
  • 添加 立体声隐藏的区域 支持Varjo头戴式显示器,能够跳过一些像素是不可见的,在虚拟现实有更好的表现。
  • 加入"调试"模式启用你看到掩蔽的地区,同时戴头盔.
  • 速度已更名为 运动的预测 是一致的Varjo设置。

生命周期管理的部件

所有部件,以及用户接口(用户界面),现在有一生的时间管理体系相似的节点。 他们可以开一个世界的(即删除当卸货之一),一个窗口(删除,当你接近一个),或者发动机的实例(已删除的关于发动机关机)。 所以,你不必担心清理的时候创造你的小部件,只是选择最合适的选择在部件的创造,并让发动机的照顾的其余部分的其寿命。 当然你可以选择的老太和管理他们自己手动。

你可以找到更多的信息,在API reference的 部件用户界面 的课程。

控制台的关键

我们已经改变了默认的钥匙打开控制台增加更多的灵活性,对定义和解决的一些问题与使用各种布局,例如德国的布局(QWERTZ). 默认的关键控制台保持相同(BACK_QUOTE),但你可以重新映射它的任何定义的关键你想要的(从 KEY_### 值的定义在 输入 类),再加上你还可以使用一个修改现在如果必要的(从 MODIFIER_### 值的定义在 输入 类)。 这可以通过相应的参数的用户配置文件(data/configs/default.user):

你可以指定多个钥匙的名称或编号分隔的一个逗号:

Source code (XML)
<console_key>17,F1</console_key>

引擎和编辑版本

信息有关的当前版本的引擎,编辑和核可能是有用的,在许多情况下(例如,编写自己的引擎和编辑插件,检查兼容性的定制工具,等等)。 版本表示,作为四组分数 A . B . C. D.

如果你需要版本时的信息编制应用程序或用于任何其他目的而不必发动机的运行时,可以:

  • 把它从 data/core/version 文件作为string(例如,"2.16.0.2");
  • 或者,如果你使用C++、包括 UnigineVersion.h 头和使用常数,定义。

其他发动机的改进

  • 增加一个标志让你做你的windows最顶层(高于所有其他windows)并且保持这个状态甚至在停用。 标志可以通过 EngineWindow::setAlwaysOnTop() (EngineWindow.AlwaysOnTop C#)的方法。 这个标记也可用于应用程序窗口在 CustomSystemProxy 类。
  • 加入一组有用的改进FMOD插件包括能力控制移、音调、频率、优先事项的渠道,以及为静音/取消他们的能力卸载银行,改善活动管理和更多。
  • 固定的一个问题有异步更新的节点。 依赖更新(层次结构的基础),现在能够正确处理NodeReferences:如果一个 NodeReference 是一个孩子的一个层次结构的依赖节点(例如, ObjectParticles),依存存储节点,在这 NodeReference 是按照更新后的更新的父母。
  • 进行额外优化的多线程的节点的更新。 现在每一个儿童节点的同父母更新在一个单独的线(如果有)。
  • 固定的存储器泄漏当烘烤骗子在选Gpu。
  • 固定的视觉艺术品的 贴花PBR材料 的图表上出现的更Gpu。
  • 固定的一个问题不正确的配光从静态的全的来源由于无效深入的纹理使用阴影(见时 自动重制 的选择静态阴影是禁止)。
  • 阴影投射于 光来源现在需要转变光源虑,同样方式作为Proj灯。
  • 当地空间的选择的 环境中探测器现在的工作进行透明的对象。
  • 优化呈现的动态 环境中探测器 会跳探测超出了可视距离保存的性能。
  • 固定的一个问题具体对象的使用 volume_cloud_base 材料的具有 使用环境照明 选择启用造成急剧的转变的照明在边界。 衰减的 参数不再受到 使用环境照明 选择。
  • 固定的一个问题SSAO工作错误地与 的对象造成的视觉艺术品。
  • 固定的一个问题与 坡规模的 参数的 导致消失草叶开机时颠倒了。
  • 固定的视觉艺术品出现在呈现的乌云低样品数造成的色调映射应用在塔阿阶段。
  • 固定的一个问题绘图,特征是完全的功能。
  • 固定的一个问题不正确的显示的Microprofile堆放在谷歌。
  • 固定的一个问题 GBuffer正常的 场景中含有 的地形景观 的对象,造成损坏的法线的目的在缓冲区由于干扰地形的法线。
  • 固定的一个问题取高度价值观的 景观地 点沿着边界的低层中的密度地图。
  • 固定的一个问题与误呈现的画面-空间上的阴影 地形景观 的对象。
  • 固定问题的文本输入从一些小键盘键。
  • 固定的一个问题不正确处理的同时鼠标点击按钮(例如,左右在一起)。
  • 固定的问题自动显示方式的选择通过窗的大小,现在可能的最高频率选择,因为它应该是。
  • 固定的问题与无效的屏幕的位置部件返回在某些情况下,当调应API方法。
  • 固定编组为复合型参数的回呼功能在C#侧导致无效的获得的数据,由于不正确的存储器对准(例如 TextureDraw 回调景观地形).
  • 固定的一个问题与质构造物主使用的纹油漆模式导致绝对路径写的纹理的材料的文件,而不是他们的Guid。固定的问题与引擎的窗总是开放在第一显示的多显示config在Linux而不是打开一套作为主要的。
  • 固定一个崩溃的应用程序的基础上WPF系统代理执行后的show_displays命令在Windows7.
  • 增加一个额外的调试选择使用调试着色对于这两种类型的二进制文件(调试和释放)。 你可以打开试着色对你的申请通过 video_debug_shader 启动的参数、缺省值为0意义,释放着色器的使用。
  • 加入一个能够检查是否有一个标准的发动机的操纵是目前正在徘徊的鼠标:该特征可通过 WidgetManipulator::isHoverAxis() 方法。
  • 固定的问题与减少决议的布隆的效果。
  • 固定的一个问题与重置价值观的启动命令行参数 BuildTool,RuntimesGenerator,并 SandwormNode 应用程序。
  • 固定 亲爱的ImGui C#集 样品在Linux,现在它适用于所有支持Linux系统。

UnigineEditor

更快的启动

优化的"热点"启动的编辑为沉重的较大规模的项目与很多内容。 "冷"的启动是第一次,当你打开你的项目中编辑,当验证的所有元数据和其他行动中执行,随后的所有编辑创业企业都被视为"热"。 优化带来高达 30%-35% 减少装卸时间。 但是,将不会有差异,在所有对于小的项目:更多的内容的项目已经更加明显的效果。

VR插件的编辑

VR产出现在可以在编辑通过新的 VREditorPlugin. 它将自动检测你的编辑与一个虚拟现实的插件(例如通过 -extern_plugin 启动的参数),并添加一个新项目的窗户菜单使你打开一个视窗显示一个影像从你的头盔. 就像在任何其他视,可以交换机之间所有当前可用的摄像机,额外的控制(例如重点超级采样的因素或视模式)加入自动根据不同类型的硬件(眼,OpenVR,或Varjo).

改善验证对资产和运行时

我们已经改善了资产验证机制,消除不完善造成的问题,在某些情况下。 就像当有人让变为一种资产,重建进口,然后提交该资产及其元件的文件存储库不提交修改后的运行时间为好。 现在你不会结束了一个有效的寻找资产具有的旧版本的运行时间(s),在这种情况下你会被通知,资产已经一个问题。

改进吸尘器

吸尘器 是一种工具,用于优化项目和节省的磁盘空间的通过删除不必要的资产。 但是有很多的运行时产生的文件,特别是在一个大项目,并且他们可能会失去为好,吃了相当多的磁盘空间(例如一个资产被删除,同时其运行时不)。 更新的 清洁 工具转换到一个升级后的依赖性分析与一个先进的脚本分析器,现在将照顾他们!

未使用的运行时具有任何资产被自动删除在清理过程,以及单元文件。 所有情况下使用的运行时间直接(具有任何资产,但引用的项目中的某个位)将报告。 所有的清理行动的记录,这样你就可以跟踪变化,并意识到任何依赖性问题和潜在的垃圾项目。

你可以找到更多的详细信息,在 更新的文章.

管理部件/性能的多个节点

你现在可以增加和分配的成分所得或财产的多个节点的一次。 只要选择他们在视窗或在世界上的节点窗并击 Add New Component or PropertyProperties 窗口。 然后拖动所需的组件/属于相应领域分配。 以后你可以选择几个节点具有相同分量/财产和替代它与另外一个仅仅通过将其拖到相应的领域,或者通过输入它的名字在这一领域。

多个项目分配数组类型的财产参数

我们已经实现自动分配的多个项目在该财产上的阵列的参数小组通过一个拖拉的操作。 你可以选择多个节点,在世界上的节点分层结构(或多种材料、属性、财产中的资产的浏览器),并将其拖到所需的元素。 在情况下的一系列复杂的结构,项目下降了一个由一个(不包括那些不符合该领域的类型)进入指定的参数(外勤)的每个阵元。

清楚的结构:集团头和巢

我们必须改善布局的部件和由头的参数群体突出显示和清楚地看到,我们作出更明确的结构嵌套参数,这是特别重要的复杂性/组件具有很大的阵和结构,并列型参数。

复制节点的剪贴板

当建设的世界,常常需要复制某些节点,并将其粘贴在其他地方,在目前的世界或另一个世界在你的项目。 我们制作复制到剪贴板提供的节点,你可以用它来复制所选择的节点,节点组和层次结构,能够使执行制作的节点内或世界之间的项目(Ctrl+CCtrl+V -如往常一样).

新助手

一包新的辅助的可视化工具已经成为提供帮手菜单,用于各种调试的目的,包括:

  • -来突出不动产(静态),对象。
  • 世界的阴影铸 -突出的所有表面配置到投下阴影,从目前的世界的光源。
  • 网静 -强调所有静态网在现场。
  • 目动力学 -突出的所有动态网在现场。
  • 集群 -突出要素的目的集群。

帮助的图标

我们几乎所有内容编辑的界面涵盖与工具提示,但有些东西可能需要更详细的解释和比例平均提示可以处理。 所以,现在一些面的编辑可能有一个图标,与上一个问号的旁边他们的 帮助图标. 你可以击以显示有关文件相关的对象是联系。 我们计划提供更多的这样的图标-链接跨编辑的接口,以帮你找到必要的信息迅速,在一击。

插件的兼容性检查

UnigineEditor现在检查版本的兼容性,在启动和忽视所有的插件,没有这种检查,避免崩溃的一个尝试运行了编辑一个插件具有一个不兼容的精确的版本(例如浮版本编辑器+双版本的插件).

来确保你的插件是有效的,你应该替换为以下行您的定义编辑插件的宣言中的一标题的文件:

Source code (C++)
Q_PLUGIN_METADATA(IID "com.unigine.EditorPlugin" FILE "YourPlugin.json")

与这一:

Source code (C++)
Q_PLUGIN_METADATA(IID UNIGINE_EDITOR_PLUGIN_IID FILE "YourPlugin.json")

材料图编辑更新

定时间的过滤用于基于图的后果

你现在可以组装定时间的过滤器的基础上UNIGINE的大亚对你的后果创造的材料图编辑器。 只是检查 使用大亚 选择你的 后果 的材料和配置滤器使用的参数出现。

你还可以控制一套参数可用 时间的过滤 组的编辑 参数的 窗口时,这样的后材料的选择。

未使用的材料的参数

参数的图表材料,从来没有使用(即没有连接到的 材料的 节点)将现有 的(未使用) 的标记在该 参数的 小组。

清单的其他材料编辑的改进包括:

  • 固定问题汇编色器故障时,连接一个恒定的Mip输入的 纹理分辨率 图的节点。
  • 固定GUID冲突的警告时,克隆节点的材料图编辑器。
  • 固定不正确转动点预览的材料图编辑器。
  • 固定的问题显示参数群体的材料图编辑导致消失的参数和群体放在一个空组在材料的参数层次结构。
  • 以下新子图中加入:
    粗糙度偏
    镜浮
    镜紫外线
    设置太阳的颜色
    设置霾空间物理屏幕全照明
    设置的阴霾散Mie强度
    设置的阴霾散Mie前侧强度
    设置的阴霾散Mie菲涅尔的电源

其他改进UnigineEditor

  • UnigineEditor现在自动加载 FbxImporter,GLTFImporter,并 FbxExporter 插件的默认。
  • 发动机视 在UnigineEditor已经成为一个普通的主要引擎窗口创造了通过发动机API简化执行情况,并保持编辑测试的基于脚本相同的逻辑运行它作为一个应用程序。 唯一的区别是,现在 发动机视 为不再可堆叠与其他编辑的窗口。
  • 固定的一个问题编辑的执行迁移的资产在一个只读安装在启动时。
  • 固定一个崩溃的进口FBX模型与数量的骨头超过最高限额每个表面。
  • 固定的问题中删除的 .元 的当前世界当保存它在编辑器。
  • 固定编辑崩溃在创建组在 世界的节点 分层结构和恢复的变化,通过撤消(Ctrl+Z).
  • 固定的一个问题与禁用压缩的选择光照贴图后重装一个世界。
  • 固定的一个问题的一个引擎窗口的建立和开时运行控制台应用程序(RuntimesGenerator/BuildTool/SandwormNode).
  • 固定小鼠相互作用的弹出窗口,在 集群/杂掩 画的模式。
  • Selected Node Info已被转移到左下角的一个视窗为了避免混淆所选择的节点本身。 资产的道路现在是显示的,而不是一个运行的道路。

  • 固定的问题通过点击选择的 助手/呈现"调试" 菜单时开一下拉。
  • 固定的一个问题与选择对象画的 纹油漆 模式。
  • 固定的一个问题不正确的行为的模式纹理的创造者对话的窗口挡住UI后被重叠,由编辑的窗口。

优化醒波

我们已经取得了一定的优化和改进的船醒波飞机应用中使您可以创建多种表现友好的只要吵醒波遥远的观点(从一个飞机,高高在上海的水平)。 向人们展示了特 zodiac_boat 节点与相应的预设已被添加到 IG模板. 检查出来简单地添加一个 Global Water 对象到现场和创建一个实体(300型)、新唤醒波将会产生作为船穿过水面。

脱基于VR模板

现在,您可以创造自己的夸脱基于插件的基础上,VR模板只是选择 VR模板 和选择 C++(q-t-based) API+IDE当创建一个新的项目。

沙虫工具的改进

  • 固定的崩溃产生的一个地的几个数据来源在 层。
  • 加入混合的几个数据来源,在一个面罩。
  • 固定名称重复工作点的边界。
  • 固定的问题上编辑的界限的出口区。
  • 实施开启的 边界 部分添加一个新的培训网址。
  • 固定的一个问题管理(检测和节)未保存的变化的项目。
  • 固定的问题,消除/重新当选择地来源和目的。
  • 固定的问题上 使用彩色图像分裂长 的参数的建筑物 自动 模式。
  • 固定线缝 ObjectTerrainGlobal 产生的使用建立在和EPSG:3395预测。
  • 固定的问题上消除/重新用于掩模的数据来源和目的。
  • 固定问题上的不正确产生的地形在无头的模式。
  • 固定的崩溃工具关闭UNIGINE编辑器。
  • 固定不正确的skillion屋顶的产生。
  • 固定的问题上改变地形种类型的现有项目。
  • 实现隐藏的出口区的边界时使用的颜色选择器。
  • 固定的崩溃在工作过滤器集中用于掩模源。
  • 固定的一个问题不正确的再投影的来源,改变后的坐标系统。
  • 固定不正确的传播植被根据一个面罩。
  • 固定的崩溃产生的道路调整(当 调整的地形高地和面罩的 标志是启用)。
  • 固定问题上的分布产生。
  • 重逻辑的选择的用户界面元素。
  • 小用户界面的改进。

演示和样本

新API样

一组样品已被添加到 C++的样本 套件,展示一些典型使用情况包括如下:

  • 分裂屏幕上的图 的实施使用WidgetSpriteViewport使你能够控制的运动的两个方块,每一个都具有其自己的看法在一个单一的键盘(亚顶景和方向键的底部)像在旧风格的赛车游戏。
  • CAD样查看 的实施显示出多视屏幕分割结合意见(前面、侧面、顶部和透)从摄像机具有不同的投矩阵喜欢在加软件。
  • 顶下来控制 执行的某些要素的自上而下的战略游戏使你选择一个或多个单位移的视图,把照相机和顺利地注重它在当前的选择。
  • 部件的操纵 执行使用的发动机操控器移动,旋转,或规模的当前选定的对象。 你也可以锁操纵轴的限制目前的转变和交换机之间的当地和世界坐标。
  • 小组件目标 的实现HUD一个标记一直指向的目标,当时它在场的视图,或者显示一个箭头指示的方向的目标时它的视线(准屏幕上边界)。
  • 群集 的样本显示如何消除选定的元素从目群集和增加新的地点指出的鼠标点击鼠标左键。
  • 混乱到的群集器 样品展示了一代一个网状的混乱对象及其转换成网集在一个单一的点击。
  • 基于物理学的动画 展示执行各种运动模式的猫和一个简单的游戏,一只猫追逐一个激光笔(不同缓解功能的使用)。

这些样品(Top-Down Controller, Cluster, Clutter-to-Cluster ConverterTarget Marker)也是实现C#和加入 C#样本 套房。

文档

增加了一套新的超短 如何 快速的尖视频用英语、中文和俄文:

其他文件的变化

谢谢你的阅读,不要错过更新,我们继续努力,使UNIGINE甚至更大的!

-你UNIGINE队

Build: ()