UNIGINE2.17:DX12&Vulkan在生产状态,PSDGI,更多的性能、工具升级、光子网络
关键的变更
- 您12和Vulkan API支持(生产)
- 多个性能优化
- 全景的空间动态的全球照明
- 空间时间降噪器
- 流的改进
- 改善隔和偏转器的粒子
- 多种工具,改进在编辑器
- IG更新(VR,气象雷达,CIGI符号)
- 光子发动机的一体化(网络)
- 一套新C++的样本
- 加上储存的更新
这释给你带来的生产-准备好支持您12和Vulkan,改善流和其他性能优化发动机和编辑,大包的更新对于大多数的编辑工具,一个巨大步骤,以全面的GI解决方案(新的空间降噪器+全景的空间动态GI)和许多其它的更新。
您12和Vulkan(生产)
我们已经投入了大量的精力投入到执行的功能缺少用于安装12和Vulkan(如地形、闭塞的查询等等), 以及成稳定和相关的引擎修改。 现在我们正准备说:安装12和Vulkan的支持现在的生产准备,并可用于每个人(无论是在编辑和运行时间)!
立竿见影的效果是增加CPU性能。 请注意, 这种释放是最后一个支持载 (从2.18Vulkan将主图形API for Linux)。
全景的空间动态的全球照明(PSDGI)
我们增加了一个新的 Raymarching 模式的 环境中探测器 光源。 这是一个更为先进的高质量的动态GI技术比其他任何解决方案中使用的UNIGINE之前。
在 球 和 框突 模式探测器提供了仿的反射,如果我们内部的一个球形的或箱状的房间的分别。 新的模式能够探测呈现反思考虑的几何形状的面的周围。
你可以把它作为画面的空间全球的照明,但是为一个360度的范围。 这种做法并不代替一个充分规模的全球照明的解决方案,但提供了质量相似户外场景。 照明计算使用的物理-正确的公式确保反射以及漫灯光将会变得更加现实的比较传统立方图-基础的技术。
这种方法非常耗费资源,因此我们建议不要使用它无处不在。 它是一个实验性的方法,它不会的工作普遍的任何内容,但是如果你有一个开放的世界的位置的一切会工作得很好。 此外,您可以选择使用只扩散照明或只有镜面。 例如,如果您使用光照贴图提供最大的漫射照明的信息,Raymarching环境中探测器将提高质量的反思,推动它接近于光线跟踪的质量。
你可以把一个探测的地方在你的世界就像你通常做的,或者你可以将它作为一个孩子到一个摄像头。 在Raymarching模式探头始终呈现的动态-这有没有静态预焙模式。
这一技术结合新的降噪器是一个巨大步骤,以全面的GI的解决方案。
空间时间降噪器
我们已经取代了我们的老降噪器。 旧版本,不能提供所需水平的噪音减少在计算全球照明使用的光线跟踪算法。
新的执行交易的要好得多噪音反射和散射照明,并在同一时间是足够的智慧来保护照的详细信息。 所以,现在我们不用降噪器的每个后的效果,而不是我们做的一次全造成的间接镜和间接扩散的缓冲区。 这种方法使我们能够有效地消除噪音对于任何GI技术如SSRTGI,安全部门改革,或者甚至光线跟踪。
降噪器残疾人:
降噪器启用:
水花更新
水徽记 已得到改进,现在,支持黑反照率的颜色使你能够创造石油泄漏水的表面。
水的贴花 ,现在支持的 辅助 缓冲器,让你模仿当地的水温度的变化(冷却或热,像在的情况下燃烧的石油泄漏)和显示他们在热传感器。
其他呈现的改进
- 固定的一个问题不正确的颜色产生的 汽车的白平衡 校正在情况太明亮的物体在视区。
- 固定的一个问题与误的阴霾呈现在环境思考。
- 加入云层和水质地缓冲屏幕,颜色的透明度,确保知名度的水和云后面透明的对象。
- 合并定缓冲区环境中探测和固定色器。
隔和偏转器的粒子
为此释放我们也取得了改变 粒子系统 ,使它们更加灵活和方便。 偏转器、噪音和力量都受限于特定的 粒子系统 现在是分开的实体,这使得他们设置更简单和更加方便,无需做出的相同的调整多次数 的粒子系统.
颗粒现在受到 物理力 或 噪音 节点-只是添加 的物质力量,调整其设置,并将它与粒子发射的所有 粒子系统 具有匹配的 物理罩!
几个新的节点,也是加以替换老板:
颗粒隔离 (ParticlesFieldSpacer)-一个无形的体积场用来切割出来粒子产生一个 粒子系统 从一定体积,例如,避免渲染的雨水或雪内的汽车或者在一座桥下(它在功能上类似于 隔离物领域 用于切割出来水或草). 它可以有一个框中,气缸、胶囊、球体或椭圆形状和可能被任意安置或旋转,以复盖必要的区域。 这 颗粒的间隔 完全替换并扩展功能的老帆船-板只是一个平面形。 此外,新的 隔 使你能够切出的颗粒体积含有发射器的 粒子系统, 这是不可能的,并且其工作长达10倍的速度更快!
颗粒导流 (ParticlesFieldDeflector)-一个看不见的长方形或正方面的领域,在物理上与 粒子系统 (其他物体未受影响)阻止的方式发射颗粒并使他们蹦蹦跳跳其表面上。 新的偏转换功能的嵌板,它可以任意地定位和旋转,以复盖必要的区域。
每 隔离 和 偏转器 作为一个单独的节点可以被用来切割或反映产生的颗粒通过多个 颗粒系统 (只有一个"拥有者"系统受到影响之前)与相互作用通过的新的 粒子的领域的面罩 给你一个很大的灵活性。
其他的变化:
- 重复 PhysicsIntersection/冲突 标志是从互动小组的 粒子系统 参数以确保一致性。 现在,标志和面具 碰撞 和 物理交叉点 都放在一个地方面的参数。
- 一个新的互动模式可用于 偏转器 和 隔 使你能够考虑到颗粒尺寸当检测到碰撞和交叉点,以确保正确的交互对 长. 颗粒。
- 你还可以控制的最小和最大尺寸一个单一的颗粒可以占据在屏幕上在范围从0(0%的屏幕上的大小)至1(整个屏幕)为微调的效果,使他们更加现实的。
性能优化
改进的步流网
我们必须显着改善的几何异步流通过消除存储器泄漏和增加控制的流过程。
网现在可以装载到存和存单独做的工作的几何速度更快和更高效,从而实现消除存储器泄漏发生之前。 可调整的存储器限制和寿命为网格载到存和存使它能够避免的情况下网仍然是装在存储器,即使它不再是渲染。 此外,新的流方法允许装载网参与在冲突和交叉点只羊,如果他们不是目前呈现的。
有3种模式的目的流存/存:
- 异步模式,提供了异步加载的网格。
- 强制模式为力载入网格的需要为目前的框架。
- 模式用于装载的所有网格可在项目上应用程序的启动。 这个模式是很好的小型项目与一个小的格数。
异步加载到存和存的不同:
- 即使目没有被装载视频存储的时间,它不会影响的应用程序的行为(可能仅仅注意到一些滞后).
- 如果一个目没有被装载的存在时间,这可能导致不正确的身体行为的对象,在现场。
因此,我们制定的其他方法,允许获得正确的结果和消除性能的尖峰造成的物理学的计算:
- 使用预取系统的异步预载的网格参与在冲突和交叉路口,以存储器之前,他们使用。
- 装载和保存在一个单一的网参加体育相互作用。
要做现场立即出现的应用程序启动时,你现在可以指定数量的框架,用于装载的权利之后的第一个框架。
时限删除的资源也分:现在你可以将它用网格和纹理的独立。
所有流有关的设置上述的可调节通过UnigineEditor或通过 render_streaming_* 控制台的命令和API。
渲染的统计数据的参数,在 性能分析器 进行分组,由RAM和存.
我们还改进API的网有关的对象(ObjectMeshStatic,ObjectMeshCluster,ObjectMeshClutter,ObjectGuiMesh 和 DecalMesh)明确和易于使用:
- 装载的基本静态网RAM和存是完成分别(两个步和强迫模式)。
- 你自己取系统的几何可以实现通过新的 loadAsyncRAM() 和 loadAsyncVRAM() 方法。
- 改变的基本静态网现在是可能的,只有如果是在程序性方式。 程序性网是一个目创建的通过代码,这种网格中有一个特定的流模式—他们总是保持存在创建之后,从来没有卸载,直到对象是破坏通过代码或目回到其正常的模式(流从一个来源文件)。
我们摆脱了隐迫载的几何形状的视频存储器。 现在 MeshStatic API提供的方法使你能够控制装,删除,并重新装载到网格存.
更好的地形景观流
这释放也带来了改进的步流能为 地形景观 和减少性能的尖峰:
- 预装载的高度数据内CPU缓取的半径为正确的碰撞和交叉计算。
- 异步装货的压缩 景观层地图 无法修改的(不可用的情况下使用层地图没有压缩)。
不可移动、碰撞,以及交叉路口标志
我们已经加入一组的关于优化管理的节点与 不动产、交叉路口,以及 碰撞 的标志,以提高性能和使整个进程的一致和透明的。
为了确保一致性的 碰撞,交叉点,以及 不动产的 标志仅仅可以启用的对象实际上支持这些功能(通过默认的 不动产的 标志是启用所有创建的对象)。
前2.17你可以设定的 不动产的 标志的任何节点,同时该行动节点加以特别的不可移动的空间树是完全不受限制。 所以,你可以结束了一个性能下降不知道原因(例的情况尤其难以追踪在大规模项目)。 我们已经把一些限制的情况下,当节点可以添加到空间树。 现在的情况下,任何不正确的行动与一个节点标记作为 不动产的 (任何行动影响的空间树),你会得到相应的预警消息(e。g。 在情况下,试图分配一个身体不动产的对象)。
而这引擎会警告你中默认的情况下,任何企图移动节点标记作为 不动产. 你可以还完全禁止这样的行动,或恰恰相反,允许他们禁止这些警告,如果有必要通过 world_moving_immovable_node_mode 控制台的命令或通过API。 然而,请注意,有两种情况时你可以禁止的警告,并允许移动的 不动产的 节点:
- 在运行时于程序上的代的水平。 这可能会导致一些冻结,但不会影响性能多。 完成后的产生过程应该使警告一次。
- 在世界初始化,这将改变世界的装载时间,但不会影响总体业绩。
HighDPI支持(发动机)
发动机的高DPI支持结构的设置已得到改进(可以实现的编辑在即将发布)与各种DPI提高认识的方式加入新闻部扩展,以便融入其他框架(没有扩展,扩展设置的用户,扩展的主要监测的系统、监测DPI设置)。
你现在可以设置窗户部件和尺寸像素和单位。 在情况没有扩展应用1素等于1单元,否则这些数值将会有所不同,这应该被认为在应用程序的逻辑。 如果你不想来实施这些改变你的逻辑,禁止GUI扩展使用 auto_dpi_scaling0 控制台的命令。
目前扩展意味着改变规模的质,不在上传一个纹理与不同的决议。 这将是实现在即将发布。
例高DPI管理通过API示在以下样品:
- source/samples/Api/WindowManager/WindowSandbox
- source/samples/Api/WindowManager/WindowSize
异步GPU到CPU数据传输
执行Vulkan和安装12支持已经发生了很大变化,老式的方式获得GPU产生的数据处理器已经成为无效。
因此,我们必须去除纹::getImage/StructuredBuffer::getData()方法,并添加以下的人取而代之的是:
- 渲染::transferTextureToImage() —得到一个像内callback-function在同一框架(交换). 呼叫中央处理器-GPU同步(如它之前)。
- 渲染::asyncTransferTextureToImage() —得到一个像内部回调功能,而不调用CPU GPU同步。 发动机的循环应该再次循环和再次完成这个异步操作。
- 渲染::transferStructuredBuffer()/asyncTransferStructuredBuffer() —类似于StructuredBuffer.
所有其他方法传输数据的产生的技术CPU(返回的结果作为一个图像)已被替换为那些返回他们的结果作为一个纹理。 为了获得这种数据作图像(方式之前)你就会有转让所获得的数据CPU使用同步或异步传输方法呈现类— transferTextureToImage() 或 asyncTransferTextureToImage() 分别。 这是相关的方法一样 视::renderImage*()、渲染::renderImage*(),FieldShoreline::createShorelineDistanceField(),WidgetSpriteViewport::renderTexture(),及其他。 渲染::compressImage()/asyncCompressImage() 表示的唯一例外情况—他们不能输出结果的质地接受回调作为论据。
其他相关API的变化:
- 一个新的 createMipmapsCubeGGX() 方法已被添加到图像类使代GGX mipmaps CPU,当然慢和低质量比上GPU但提供的结果,同时(实际上,这应该是唯一的情况下,当这方法是可以使用)。
- 该ImageConverter类现在有一个新的 运行() 方法与回调,使它能够利用GPU,并 runCpu() 使用的CPU仅能够返回的结果同步。
- 加入新的 引擎::beginOutsideLoopRender()/endOutsideLoopRender() 方法的情况下,当它被要求呼叫呈现类方法以外的发动机的循环。
- 渲染::transferTextureToImage()/transferStructuredBuffer() callbacks将在 endOutsideLoopRender(). 它建议呈现的内部发动机的循环,只要有可能。
- 所有引擎和编辑系统(刷、面包等)。 切换到新的API以及相关的样品,如 激光雷达,截图,以及 屏幕外.
更多的细节和实例请检查 API迁移指南.
UNIGINE和用户插件(重要)
插文件的结构已经重新安排,以确保一致的管理的所有插件,包括用户开发的,该方法对他们的命名已更改。
详情请查看 API迁移指南. 并且 不要忘了调整建立的路径,并插件名称所有的插件的项目已经迁移了.
缓冲输入操纵杆和手柄
我们已大大改进的输入处理操纵杆和手柄使其更加方便和可靠的用缓冲区的事件增加,所以你可以忘记丢失的输入事件。 老 ControlsGamePad 和 ControlsJoystick 类是完全替换 InputGamepad 和 InputJoystick 分别与一切必要职能的迁移,这些类的实例是管理(创造、删除和更新)自动引擎,你没有做到这一手了。 数字游戏板和操纵杆动态改变为连接或切断设备(这些数字是不限于通过该引擎,同时还有一个SDL限制的16设备)。 一套新的回调已经加入到 Input 类对这两种操纵杆和手柄,让你来跟踪更多的事件。
更多细节的变化以及说明如何迁移码,请参阅 API迁移指南.
其他的输入变化:
- 加入触输入支持神秘海域/DualSense控制器。
- 改名 输入::DEVICE_TYPE 枚举 的输入:设备 ,以避免冲突与 DEVICE_TYPE 枚举中的定义 winioctl.h.
- 增加的活动相关的方法的 Input 类UnigineScript API。
Windows重构
该 EngineWindow 类已经长大了很多,所以我们把它分割成单独的对象(EngineWindow, EngineWindowViewport, EngineWindowGroup)明确和更易于理解。
其他主要变化:
- 增加的回调,每一个行动(调整、重点、最小化,叠,对小鼠进入,等等)。
- 实施自动删除模式。
- 执行引擎的风格用于windows的可能性来定义的窗口(窗的位置,大小,大小的窗口的装饰品). 这种方法使得有可能创建一套标准的窗口设置不同的系统和框架。
- 实施调整的固定的尺寸,最小和最大尺寸。
- 大小设置窗户、群体和标签统一。
- 小组的大小,现在需要的尺寸的标签进入帐户。
- 增加了一个能力为windows渲染成GUI像所有其他部件这可能是有用时,有一个单一窗口系统提供时,或交换应用程序的全屏模式。
你可以检查出所有设置在行动中新设的 窗口管理 样本(源/样品/Api/WindowManager). 这套已经被扩展,现在几乎涵盖了整个API for windows(WindowBehaviour,WindowIntersection,WindowModal,WindowOrder,WindowPosition,WindowSize,并 WindowVisual). 你可以创建任何窗户和群体在WindowSandbox,并检查了大多数API职能在使用更好的理解。
其他发动机的改进
- 节点的数据序列化了已取得稳定的消除数据的重排在保存的世界。 自发的重新集群元上的职位节省了世界上已经消除。
- 添加程序数据库(.pdb)文件 释放 的二进制文件的引擎,插件和图书馆。 用户现在可以发送崩溃报告呼吁堆 释放 的版本。
- 添加的强迫流媒体对环境的纹理,以确保适当的照明装载一个世界。
- 固定的一个问题,有删除选案文 EditText 和 EditLine 部件。
- 加入滚动和调整功能的 EditText 部件。
- 固定的一个问题不会叫 OnEnable() 方法C#组成,残疾人在程序启动。
- 固定的一个问题与投掷 WorldTrigger 回调的对象 触发交互作用 残疾人。
- 固定的一个问题载入 NodeLayer 具有一套 NodeLayer 与无效GUID。
- 加入一个新的 String::join() 方法使你能够将多个串。
- 加入一个包的隐藏内部的绘图方法 WidgetExternBase 被暴露给公众。 检查API迁移指导的详细信息。
- 一包丢失的方法已被添加到FMOD插件。
- 固定的行为的 轮节 下地形的面(例如,当一个驱动车辆在一个地下停车场或隧道)。 你可以设定 CanBeUnderTerrain 标志在必要时。
- 固定的一个问题与 景观掩 取有时导致在消失的对象,被安置在使用这些面具。
- 固定装的 地形景观 数据有时造成的"闪烁",由于几个随后重新装入运作。
- 固定的问题进图的基础材料从一个包装。
- 固定的一个问题与一个非官能 参加后果 的参数。
- 正式照相机和球员现在工作不如预期,在编辑和运行时间。 你可以换投影模式 正 ,并指定高度期望通过API在运行。
- SDL版物更新到v2。0.18.
- 固定崩溃,与使用 String::格式("%s",文本) 载。 在情况需要指定的变量清单参数直接使用新的 String::vformat("%s",文本) 载。
- 固定不正确的拆卸的部件上的发动机关有时导致崩溃。
- 增加一个有能力改变目前的字体 WidgetCanvas 使印刷的画布上使用多种不同的字体。
- 加入顶的颜色可视化突出的几何使用所选择的顶点颜色(本功能是,也可在编辑经 呈现"调试" 菜单)。
- 默认的顶点颜色(中使用网格有没有顶点颜色的信息对进口)已改为黑零alpha(0,0,0,0)代替(1,1,1,1)使用期。
- 改进GUID代算法,以避免可能碰撞。
- 固定的较小的问题与项目选择在 WidgetTreeBox 和 WidgetListBox 有时导致的选择是错误的项目。
- 纹理包裹的参数现在保存正确的材料的文件。
- 加入一个新的 预呈现() 方法的 Gui 类,以确保适当呈现的 WidgetSpriteViewport 和 WidgetSpriteNode 部件期间 呈现(). 这种方法是用来做必要的准备呈现(例如准备一个纹理)之后的 更新() 以及被称为自动 WidgetSpriteViewport 和 WidgetSpriteNode. 在情况下实现一定义GUI或部件使用的 WidgetExtern 课你应该把所有这种呈现的筹备工作,以 预呈现() 并呼吁 预呈现() 为GUI后手动 更新().
- 加入新的 背景更新模式 ,以确保渲染最小化以适用于windows的托盘(这可以有助于抓住框架的序列背景中的应用程序时,窗口是最小化)。 欲了解更多信息,请参阅 API迁移指南.
- 一个新的 reversebits() 方法,撤消了位(每个组件)已经加入到MathLib.
UnigineEditor
更快的启动
我们必须优化的用户界面的创建过程的分裂的整个过程进对需求的部分提供一个明显的加速在启动时的编辑所有项目。 当然,加速速率将少可察觉的大规模项目为UI创造需要的时间少于项目内容的处理。 平均启动GUI一代时间已经减少近50%。
更好的分析工具
更新的质地探查和可视化
大型项目与一个巨大数量的资产必须面对的优化阶段,以提高性能和可接受的FPS。 性能分析器 只给出了一个概述,并且需要更多的工具,以获得详细信息。 我们已经更新,他们中的一个, 质地探查,一些代表的相对存储的消耗,其中每个纹理表示为颜色的矩形具有它的大小成正比的断裂的记忆中占据。
两个新的可视化对于纹理现在可以在 调试呈现 菜单简化了优化:
- 纹理的最大素数的 油漆表面根据最高决议质地使用的材料分配给他们施加的颜色在根据规模。
- 纹理屏幕密度 -可以估计之间的关系最大的纹理决议的材料的大小三角形的屏幕上的其它适用于: 蓝色的 -不足表示纹理的决议,而 黄 告知,这是过度的,如果颜色是绿色的-一切都确定。
该 纹分析器 已经成为一部分 内容分析器 以及新的探查对面,你将找到2.17。
新的表面探查
不管你往哪里看,在现场,最有可能你会看到的表面-这是一个关键呈现单元。 表面有很多的选择和参数的影响呈现和总体性能的应用程序(LOD能见度的距离,数多边形、光照贴图、碰撞和阴影的设置,等等)。 并再次你需要的详细信息用于适当的优化。 我们已经增加了一个新的 面探查 (可用于 发展 基础)提供这些详细信息的数量表面、目的节点和材料可见于视区。 图在正确的一部分是类似于一个在
你可以选择面的数据显示在表(多边形有关的细节、面罩、存储的消耗,无论你需要什么)和项目进行排序作必要的。
更新的高级助手
我们继续延长的军火库的视觉调试工具,使我们增加一个包装的新的辅助的可视化工具的 助手 菜单,用于各种目的使您能够选择性地强调和检查的几乎任何你想要的,从发射的对象对象具有一定的 交叉路口 罩。 新包包括:
- 对象的材料具有 放射 状态启用。
- 对象使用复杂的影着色器。
- 对象具有的 不动产的 选项禁止。
- 对象具有 表面定义纹理 分配未使用的,或无法使用。
- 对象具有 的物理交叉路口、交叉路口,或 碰撞 的标志启用。
- 对象利用图表或基于非基于图的材料。
- 节点的互动,触发器会扰乱,或者草。
- 节点具有某些口罩(碰撞,视,阴影,的材料,或者任何其他)。
- 你可以控制可视距离为可视化工具,以减少些噪声,同时保持必要的信息为对象附近。
改进的软件包
为了简化进程的传输内容、代码和其他的创作之间的项目和与他人分享我们继续改进包装建立和管理在编辑器。
除了增加资产的文件,从项目的 data 目录的包你可能还需要包C++码从项目的 source 目录,你的插件二进制文件从 bin,也许别的东西...开始从2.17你可以包的目录和文件,在同一水平作 bin 和 data 目录通过 Add External Files 按钮。
你可以拯救目前的封装文件的分级结构和出口设置成一个预先设定的。 你可以使用这种预先设定以后的重新创造相同的包装之后作出的更改(如升级到新的版本,迁移到新的API,或增加新的功能)。 不是手动选择的所有文件和调整设置了,你只要打开你的预置以及使有关的改变(增加新的文件,删除那些不再需要的)。
另一件事,这已成为可供下载的软件包从 加上商店 是 包历史. 该 附加储存包历史 显示窗口的信息对进口包装和使你能够消除一个包有所有进口文件上传的更新包装版本;它还使你能够取消选定文件从包中排除它们的管理范围 Package History 的工具。
这 Packages 菜单选项已经加入给你的包裹出口和进口的选择。
高级过滤材料的层次结构
我们已经增加了一个先进的筛选 材料的 层次结构的窗口。 一些项目可含有数千,数以万计材料,这就是我们面临着一些我们自己的项目。 为了管理这一巨大数量的材料,并有一个明确理解每一材料的是,我们需要一个表视(等于一个数据库)有一个很大的类别以及过滤和分类能力。
你可以切换显示各种类型的材料,显示或隐藏列表中的图表示的各种材料的参数。 例如你可以只选择的材料继承自 mesh_base 材料和检查他们两面,它们使用的排放,等等。
这一工具是必不可少的重构的一个大型资料库项目。 尤其是如果你的目标是传材料从 mesh_base 到基于图。
筛选的名称在 材料 和 属性 的层次结构windows是现在情况不敏感。
重定父级的材料也已成为更方便现在支持全球的选择(例如有些材料对于这种操作可以选择通过 材料的 窗口,而其他人则通过 资产浏览器).
集群油漆工具的更新
我们已经更新的 集群油漆工具 有过滤器能够使你选择对象的类型上,你想画画,以及是否画的所有表面上的或只是有交点的选择启用,使得工具更加灵活和方便。 一些小问题也是固定的,包括那些有关橡皮的行为,确保正确和稳定的操作。
刷半径变本和所有其他类似工具已经取非线性的标准递增变化,根据目前的刷值: 0.01 (从0.1至1.0范围), 0.1 (从1.0至10.0范围), 1.0 (从10.0到100.0范围),等等。 你还可以控制当前的步骤,通过保持热键滚动时鼠轮: 移 增加关键的步骤 10 倍,而 按Ctrl 钥匙能使一个 10倍下降。
当多个集群是选择一个随机的种子生成为他们每个人要添加更多的变化。
加入一个能够增加 密度乘数 以上1.
更好地集中和选择
重点和巨大开箱子
侧重点,通过他们的界限有时可以非常不方便的,特别是在情况下选择你专注于包含摄像机,灯光,或影响巨大,或者无限的范围。 专注于一个节点参与一米的尺寸的目的对象和光源具有一定范围的1公里之前2.17会作出的编辑缩小到适合两个节点加1公里范围内的视,所以你不会看到该网在所有。 我们已经改变重点的默认方式(F key)以及现在,它只考虑到职位的选中的节点,以往的注重模式(由范围)是可以通过 Shift+F.
重点 Node Reference 现在忽略了残疾人的节点,在自己的层次结构。 同样是实现的节点预览的 资产浏览器.
选择过滤器
当建设和建立虚拟世界在编辑可能是有用的选择节点的某种类型在一些地区(例如灯要调整一次或重点的选择上的物理形状,以调整对撞机). 从2.17的选择过滤器是在你左右-只是挑点你想要处理和使用框架的选择-没有更多的不必要的对象。
改进吸尘器
吸尘器 是一种工具,用于优化项目和节省的磁盘空间的通过删除不必要的资产。 有时它可能有必要执行清除在一定目录。 我们已扩展的 更清洁的 功能,使它更快,更加灵活、方便。 现在它可以让您显示未使用和丢失财产用于选定目录(依赖性检查整个项目的课程).
所有的资产显示在名单现在有预览供便利。 和交叉工具的选择现在作为应对 更清洁、资产浏览器、材料和 属性 的层次结构。
资产类型检测已经改进,以及依赖搜索更好的业绩,正确验证的依赖关系的未使用的资产,能够检查键关系图来描述软件所需的依赖文件和一个选项,以增加定义的文件的扩展(Settings -> Editor -> Project Settings).
你可以找到更多的详细信息,在 更新的文章.
改良依赖搜索和资产管理
我们必须优化业绩的依赖搜索(用于 Cleaner, Show Assets Using This One, Show Assets Used,以及许多其他编辑器子系统和操作的),使其达到 3倍的速度 ,这是特别重要的是用于大规模项目使用数量庞大的资产。
依赖搜索材料的所谓的通过 Show Assets Using This One 上下文的菜单项应现在 Is Parent Material For These Assets 列以显示清单的派生材料。
其他相关的改进包括:
- 多选择是现在可在下列windows: World Nodes Using This Asset, Assets Using This One,并 Assets Used.
- 你现在可以找到的哪些节点,在当前世界上使用的某些资产,只是右击和选择 Show World Nodes Using This Asset 从上下文的菜单。
- Replace Asset Links 的功能已经成为提供 Materials 和 Properties 分层结构。
- 你现在可以更改姓名的多个选定的节点的名称来源的资产用于他们每个人(节点具有相同的来源资产的索引将postfixes). 这可以提高一致性和清楚地表明,某些节点实际上都是相似的。 只是选择的节点,右击和选择 Rename to Asset Name 从上下文的菜单。
版本控制系统的插件(SVN)
Subversion(或SVN) 是一种最经常使用的版本控制系统为内容的重UNIGINE为基础的项目。 因此,我们已经实施SVN一体化UNIGINE为 SVN插件的 利用如今的功能。
SVN插件没有一个接口,并自动启动后 的资产系统 的初始化和进口的所有资产。 在操作期间,插件仍然是看不见你,所以你的工作实际上是相同的,因为它是以前。 你也可以删除、增添、改名、改变、移动,并创建文件和目录,但现在SVN插件将跟踪和处理所有的行动,节省你的时间对承诺的准备。 像任何其他插件,它可以装载和卸载的经过 Editor Plugins 窗口(Help -> Plugins).
一般工作流程的简单:
- 在你开始之前,更新(SVN更新),以及清理库(SVN清理).
- 然后开始编辑和常工作(添加、删除和变化文件和目录的,你总是这样).
- 当完成后,保存的项目,并且关闭编辑器。 它建议关闭的编辑,作为一个可能需要更新以前提交,它可以打破一切。
- 提交更改库(SVN提交). 如果冲突发生,解决他们的相同方式之前做了,但请记住,所有变化的外部编辑(通过浏览器)将不具有正确的地位。
更多信息,使用SVN插件,请参阅 本文.
材料图编辑更新
- 加入一新 立方Mip 采样器的 样品的纹理 节点。
- 为了您的方便,你现在可以滚动和调整的工作空间代码编辑部件的 功能 节点。
- 固定的一个相关的问题ULON材料的部件,有时导致崩溃的材料的变化。
- 固定不正确地操作 RotateZ 节点。
- 固定的一个问题与更新 斜纹理 参数中儿童的材料图在改变父母的曲线图。 问题的造成坠毁在一个attemt编辑儿童的材料之后,改变类型的参数在父母材料图是固定的。
- 固定一个崩溃的关于使用上下文的菜单。
- 固定的一个问题与重置价值的一种材料的参数后更改的参数名。
- 固定问题与更新窗叠/出栈.
- 固定失败的断言,在输入错误的名子图的节点。
- 以下新子图中加入:
Animation Time
Animation Old TimeBlinn Brdf Importance Sampling
其他改进UnigineEditor
- 编辑,现在只有 *.世界 的文件存储在该项目的数据目录或任何有效的安装点具有读写的权限。
- 添加一个新的儿童的任何节点的 世界的节点 层次的权击和选择所需要的儿童的节点类型的 创建 菜单。
- 加入一个新的 采取的名字从资产没有建立 为选项的进口材料从FBX资产使你能够减少建立不需要的材料进口时很多的模型。 当设定的进口系统将试图找到一个现有的材料的名字,并将其分配到的目的,在情况下没有合适的材料发现,默认 mesh_base 应分配。
- 固定一个崩溃的进口FBX资产的一个选项,以生成基于图的材料(基本资料模式).
- 我们加入了更多的灵活性 下降到地面 和 捕捉到表面 文书,使你能够采取的所有表面考虑或限制的范围只有那些具有的 交叉 选择启用。
- 固定的行为 做父母的功能 (按Ctrl+P),现在的最后选择的节点将成为父母的其余部分选择的节点。
- 加入一个能够禁用 Windows Defender 检查某一项目。 这可能是有用的大型项目与很多的资产,其中反恶意检查慢下来UnigineEditor操作。 编辑将自动检测的增长放缓,显示一个建议来解决它。 你可以控制这种选项,通过 Settings -> Editor -> User Project Settings -> Suggest to Disable Windows Defender.
- 编辑视和照相机构为每一个世界现在都存放在单独的用户项目的设置的,而不是世界的元的文件。 你还可以设置的确切位置和方向的编辑摄像机的 摄像机设置 窗户和保存当前参数的 .world.meta 文件(scene_cameras部分)通过 保存编辑摄像机的参数的世界的元数据的 按钮。
- 固定跟踪(蟹)为编辑摄像机在正投影的模式之后重点的一个节点。
- 固定的一个问题与当前重置节点上的选择重新加载的世界(例如停止时的物理模拟)。
- 固定的问题 》 领域中的 物理学设置 ( World -> Physics -> FPS)造成无法增加 FPS 值后减少。
- 加入移徙问题的模板图表材料存储在编辑资源。
- 在情况下的一个非现有的 移徙目录中 指定的路径(例如断开网络的位置)的软件包将进口使用默认的一种。
- 固定崩溃,除骨头后载他们一个 布娃娃 的身体分配到一个 皮肤的网.
- 固定的一个问题,光照贴图腐败对重新导入多FBX-资产的选择。
- 固定的一个问题与一些热键忽略的热键的预设的切换。
- 固定的问题文件的尺寸计算UNG-已归档文件的储存中装入点。
- 固定的问题与基于图材料的再装导致参数的控制部件,有时成为无反应。
- 数量的选定的资产是现在显示分别用于不同资产类型。
- 视频存储的消费现在是显示的纹理在 预览 板。
- 固定一个崩溃的预览代用于嵌套 NodeReference.
- 固定的崩溃上删除一个 .mgraph 材料及其孩子。
- 固定名称的产生对于新的材料创建的通过 创建材料的图形.
- 固定的崩溃 RuntimesGenerator 在情况的数据文件夹中包含的资产没有超文件。
- 选择的节点的信息 不再重叠的 探查 的信息。
- 固定的一个问题与复制 节点层 到另一个世界导致改变标识符的节点。
- 固定的一个问题破坏的层次结构的节点包含在多NodeReferences编辑的同时保存的世界。
- 固定的问题无效的元文件的质地资产有时会导致不正确的处理这类资产由不同的编辑器的子系统。 无效的纹理元数据,将现在再生。
- 固定的问题交换重新命名方式在重新选择一个多节点选择在 世界的节点 分级结构。
- 更新 OpenCASCADE 版7.7.1,固定的问题进口 .研究机关 的文件。
- 固定的一个问题,重点参数,在保存前一个世界有时导致崩溃(例如,在保存的世界与一个 参考节点 包含 SoundSource 正在编辑).
- 固定的一个问题与出口的曲线图为基础的材料的节点分配口到FBX.
- 固定的一个问题与重置的前选择在选择过程的多个项目的 材料 和 全世界的节点 分层结构的窗口。
- 固定的问题重复子对象的创建时的 目群集 来自所选择的层次结构的节点(创建网集群层次).
- 固定的问题显示的信息不正确的 预览 板 .EXR 纹理的财产具有不变的选择启用。
- 固定的一个问题,与启用无障碍的节点之后unparenting它从另一个无障碍的节点。
- 固定的一个问题与实现面,禁止源网目的在建立网簇通过 创建网集群层次.
- 固定的一个问题与检测的交叉口 译 操纵轴有时导致misclicks。
- 固定的一个问题是错误的应用程序的 透明度 的参数标记使用图的基础材料。
- 固定控制在编视在Linux与 Wayland 窗口系统。
- 提到绑节点将是重当性克隆/装载 Skinned Mesh 的对象,以避免丢失的链接节点用于控制的骨头。
- 彩色的矢量的小部件,现在到处都在使用的编辑。
沙虫工具的改进
- 地形式是在选定在创造该项目的和不可改变的。
- 现在,您可以创建一个新的 Sandworm 项目和复制的内容的一个现有的人(这一功能允许的,例如,迅速变化的地形类型)。
- 口罩和高度的道路上的 Landscape Terrain ,也可以构成今(见该 文件 详情)。
- 复制面具和物体通过权的鼠标按现在的提供。
- 小用户界面的改进和修复。
进化:资产,储存,加上储存
进一步发展 商店 ,你可以分享你的创作仍在继续。 我们改名为它 加上的商店 和执行能力要发布的资产免费为所有用户。 我们也把最后一笔的货币化功能(能力,获得的金钱用于资产的):它将适用于所有出版商。
变化不仅影响的发布过程。 我们改善了和简化了附加工作流程用户:
- 附加免费提供被列入名单的所购买的附加自动点击后的 免费 按钮。
- 采购支付的附加是预计将很快提供。
- 所购置的资产(免费和付费的)现在下载的软件包(.upackage)从 附加储存 和可以 打开并解开 正在编辑,绕过UNIGINE SDK浏览器. 因此,SDK浏览并不提供访问的附加UNIGINE项目了。
我们还改善的目标搜索,以帮助用户组织和找到该附加他们的需要。
新增加的工作流程将开始从UNIGINE2.17. 对于以前的版本,这仍然同以前一样。
为了简化的进程这两个出版商和用户,更新后的版本, 加上储存的文件 是在这里帮助。
IG更新
VR支持
研究确认,高效的培训虚拟现实中,对许多行业和航空也不例外。 VR解决方案是高度可伸缩的比较经典模拟器。 所有内部设备的代表是在虚拟环境;培训人员只需要VR头戴式耳机和飞行控制。 给你一个能够使用的功能提供 IG应用程序模板 ,用于建设VR基于模拟器我们已经增加了一个新的 IG+VR模板 使你能够将自动创建一个项目既VR和IG特征。 的工作,该模板只有开始,它不仅包含基本的VR和IG逻辑的时刻,但我们将继续发展它在即将发布。
气象雷达
气象雷达(又名烷)用于监测天气未来的飞机(云和降水)的一个组成部分的一个专业飞行模拟器使飞行员训练战略和战术规划的一个安全的飞行轨迹。 现在它是可行的框实现为 MeteoRadar 组件,一部分 IG航 加上包括在SIM SDK版。 与其他任何工具、适当技能的机组人员是需要的,以便有效地使用它:准确地调整这个系统的和解释气象雷达显示正确。 所有关键参数的雷达可用于调整包括显示的范围(以监测这两个短距离和远距离天气),获得(用于天气的严重性评估),以及倾斜角度,视,和其他人。 雷达工作3D体积云产生的UNIGINE先进云层系统确保一致性的雷达读数从飞机机舱。 增加一个雷达的飞机现在只是问题的一对夫妇的点击。
GPU颗粒(试验)
我们已经加入GPU颗粒的 IG应用程序模板, 作为一个实验性的选择渲染的雨水和雪提供更多的现实的沉淀密度和更高的性能。 可能有一些尚未解决的问题,因为该系统不是很好-抛光,但你已经可以测试新的粒子,感到的差异,并分享你的反馈意见,以便我们可以把他们推到生产阶段在即将发布。
检查了新系列微粒选择沉淀类型3和4中声明 ig_config.xml 文件(precipitation_type).
改进CIGI支持符号
CIGI符号的支持已经扩展的能力,增加用户的字体通过IG配置(Text Font ID 现在支持),使用的文字取向,左到右和从上至下的方向。 字体大小,现在设置在条款的垂直单位定义通过符号面的2D坐标系统。 "隐藏"的控制状态现在是考虑。 所有这些改进使你能够创建和管理一个广泛的抬头显示器(HUD)需要。
其他改进IG
增加的回调上的改变的实体种类,以及增加阐述的部分或组成部分(见 的实体::addOnBeforeChangeTypeCallback() 和 addOnAfterChangeTypeCallback() 方法)。
演示和样本
新API样
一包新的样本,已被添加到 C++ Samples 套件包括如下:
- 基本 的样品展示的典型使用情况。
- Curve Animation. 所有的对象,在这样的动画使用Curve2D:移动平台上旋转的硬币,等等。
- Node Spawner Grid. 一个简单的节点亲虾建立节点,并将他们在网。
- Node Spawner Timer. 一个简单的节点亲虾建立节点在设定产卵的频率。
- Physical Movement. 一个简单的逻辑运动的对象使用武力或脉冲通过物理方法。
- Trajectory Movement. 三种类型的移动,沿着一个预先定义的路径:线性插值,插值样,道路从一个文件。 样品中含有的 PathTrajectorySaver 件,说明如何创建自己的道路的文件,这是打开通过该 WorldTransformPath 节点。
- Transform Movement. 使用不同的方法来执行同样的行动运动的前向和后向,并转向右向左。
- Trigger. 三种类型的触发器: 交点的触发、数学扳机,和 世界上触发器.
- Trigger Buttons. 各种类型的相互作用性的按钮和杠杆。
- Tracked Vehicle 的样品。
- Non-Physical Tracks. 仿车辆轨道使用的元素不使用物理机构和形状的分配。 它说明了如何非物质的轨道进行互动的各种障碍。
- Physical Tracks. 仿车辆轨道使用元素物理机构,形状、和铰链接头分配。 它说明了如何轨道的物理表现与各种障碍和旋转时取决于车辆的速度。
- Input samples. C++版本的基本 输入 样品从 C# Component Samples 套房。
- Physical Buoyancy. 一个新的样品,在 全球水 样品设置实施水浮力的物理机构,使它们漂浮在 全球水.
我们还加入以下新的进口API样品:
- DirectMemoryImport (samples/Api/Import/DirectMemoryImport)-示威的过程中进口的文件直接存储器而不保存的文件的磁盘。
- ImportPlugin (samples/Api/Import/ImportPlugin)-建立一个用户插件的执行进功能的一个自定义用户文件的格式。
光子发动机的一体化(网络)
光子 是一个受欢迎的网络引擎和多人的平台,可以处理所有请求在他们自己的服务器。 你可以专注于实施应用程序(游戏)的逻辑和特色在你UNIGINE项目,使该网络的一部分, 光子,并创建一个复杂的多人的网络解决方案。 我们增加了一个小型样本显示如何将 光子 发动机到你的UNIGINE项目。
实际上 光子集 的样品展示一体化的双 光子 产品:
- 光子的实时 安排的相互作用的多个玩家通过网络。 它可以用于建立多人射击,车赛车游戏和其他实时应用。
- 光子聊天 -允许用户交换书面信息公开和私下。
样本包括:
- 简化授权的窗口。 例如,只需要你输入的用户的昵称,虽然该窗口可以用作基础上更详尽的授权窗口的使用密码和其他凭据。
- 大厅的窗口来建房或加入创建的房间多人的相互作用。
- 世界包含的对象可以被操纵通过网络(原始游戏)以及一个聊天窗口交换信息。
请考虑你会需要一个单独的帐户和许可证从 光子.
文档
加入一个新的系列教程上 的地理参考地形产生的使用沙虫:
增加了一套新的超短 如何 快速的尖视频用英语、中文和俄文:
功能用户的内容
设有一个频道的加拿大爱好者- @LazyUnigineDude,越来越多的伟大和有益的视频上的各个方面的使用UNIGINE:"该信道是为了显示潜在的UNIGINE发动机以及如何使用它。 免费教程和中小技巧和技巧,以帮你做出更好的项目..."(c)。
其他文件的变化
- 更新的文章上的 步数据流 和相关文章。
- 更新的 清洁工具 的文章。
- 更新的文章 刷基于位置的网.
- 加入一个新的条款,在 SVN插.
- 加入新的条款 颗粒隔离 和 颗粒导流.
- 增加了更多的说明 材料图的节点参考.
- 添加实例的代码如下API类(Xml式,WorldTrigger、文件、WindowManager EngineWindow,显示,用户界面,部件,WidgetDragArea,WidgetWindow)
- 固定的一些问题的文件的基础上你的反馈意见。
- 完整的清单的变化是在 API迁移指南.
- 完整的名单的控制台的命令的更改可在 控制台迁移指南.
- 完整的清单的指示,在升级您的内容,以UNIGINE2.17提供的 内容迁移指南.
谢谢你的阅读,不要错过更新,我们继续努力,使UNIGINE甚至更大的!
-你UNIGINE队