Unity 2018.3地形功能更新介绍

Unity 2018.3将更新地形系统,此次更新涉及改进的工具和利用GPU实现的更高性能。它还添加了HDRP高清晰渲染管线和LWRP轻量级渲染管线的支持,同时兼容内置渲染管线和现有Unity地形系统。

  请获取Unity 2018.3 Beta体验更新内容,但是需要注意:Unity 2018.3 Beta版仍处于开发阶段,新版本的用户界面和API可能会受到未来改动影响。

  性能

  在性能方面,我们为地形添加了GPU实例渲染路径。大多数情况下,实例化会大幅减少绘制调用。我们进行了大量测试都表明,它能减少50%以上的CPU消耗。

  你可以在Terrain settings中勾选‘Draw Instanced’来使用新的渲染路径。

 启用后,Unity会将所有大型地形数据,例如:高度图和Splat贴图等转换为GPU上的纹理。

  我们可以使用GPU实例化功能来复制单个网格并采样高度图纹理来产生正确的几何体,而不必为CPU上的每个地形补丁块构建自定义网格。这会将减少地形的CPU工作负载降低不少数量级,因为一些实例化的绘制调用会替换大量潜在的自定义网格绘制。

  它还能改进加载时间。我们不仅不用构建所有自定义网格,而且还能使用GPU来构建底图预混合的LOD纹理,GPU完成该任务的速度更快。这还意味着,如果你想开发自定义地形着色器,可以重写‘build basemap’着色器,生成匹配底图的LOD纹理。

  地形效果

  实例化也会改善地形法线的外观。我们可以通过将法线保存在由高度图生成的法线贴图纹理,并在像素着色器中进行采样,从而从几何体解耦地形网格法线。这意味着法线会独立于网格LOD层级。因此,你可以提高“像素误差率”来减少顶点消耗,得到更少的瑕疵。

 对比旧版各顶点法线(左)和新版各顶点法线(右)

  我们还为HDRP和LWRP开发了支持实例化渲染的地形着色器。HD着色器在改进后,支持各顶点法线和大量新功能,例如:高度和密度的混合模式、法线缩放、由纹理控制的表面金属和光滑度。HD地形着色器受限于单通道,但它支持在一个通道混合最多8个地形图层。

  可编程GPU工具

  在编辑器方面,我们公开了一个脚本API可用于构建自定义地形工具,以及一套实用函数,你可以使用它们在GPU上轻松实现无缝的交叉平铺雕刻和绘制操作。

  新的TerrainAPI包含TerrainPaintTool和TerrainPaintUtility,前者是地形工具的基类,后者包含用于修改地形数据的实用函数。

  通过这些改动,我们将现有地形工具转换为GPU操作。除了使这些工具速度更快,也为我们提供了笔刷大小,改进的笔刷预览,以及通过自动无缝拼接来绘制地形平铺边界的功能。

新的标记地形工具仍处于预览阶段,将于Unity 2018.3b 6推出

  我们还开发了笔刷功能,例如:笔刷旋转,随机化。还有一些更高级的绘图工具,例如:高度图和网格标记,克隆笔刷等。这些绘图工具的功能还未在Unity 2018.3中提供,但将于不久后发布,敬请关注。

  多地形支持

  我们使处理多个地形平铺的过程更为简单。除了地形之间的无缝绘制,你还可以自动管理相邻地形间的连接。此前,开发者需要编写脚本来手动连接地形。

  勾选Terrain Settings中的‘Auto connect’,地形会自动和相邻部分连接,使用相同的分组ID。

扩展现有地形时,你可以使用全新的‘Create Neighbor Terrain’工具来沿着空白边界快速添加匹配的地形平铺。

我们努力减小调整尺寸和修改分辨率所产生的影响。在Unity 2018.3中,当修改分辨率时,高度图和Splat图会重新采样,而不是像之前那样清除数据并丢失所有内容。我们还将在未来改进所有涉及调整大小的操作。

  新资源类型

  为了简化工作流程,我们还加入了二个与地形相关的全新资源类型:TerrainLayer和Brush。

1

TerrainLayer

TerrainLayer资源允许我们定义独立于地形对象的地形材质,从而能够轻松跟踪多个地形中相同材质的变化,这样能实现无缝绘制和材质修改。

  我们扩展了TerrainLayer资源以支持“遮罩贴图”纹理,可用于任意着色目的,还扩展了脚本界面,为TerrainLayer资源提供与着色器相关的自定义GUI。

更多unity2018的功能介绍请到paws3d学习中心查找。链接https://www.paws3d.com/learn/,也可以加入unity学习讨论群935714213

你可能感兴趣的:(unity2018)