首页 > 游戏新闻 > 游戏资讯

程序化游戏中的自然环境制作流程的意义和目标

发布时间:2022-03-19 13:14:02 来源:网络 作者:小编伯羽

  在我们使用Unreal Engine编辑户外自然场景,特别是大型场景时,经常会遇到艺术效果、运营绩效、编辑效率、编辑灵活性、传播成本这五个目标之间的冲突。程序化的自然环境编辑流程的核心意义在于项目的流程排序和工具开发,用自动化完成高度重复,同时保持足够的灵活性,以满足各种定制需求,从而达到上述五个目标之间的平衡。过程解耦——将自然环境编辑工作分为艺术材料资产分类、建筑材料系统、地形地貌制作、地表植被分布、生态构建、光影运用、后期处理、性能优化等几个独立步骤。并通过一系列自动化工具进行集成。自动化处理——编写工具是为了自动化项目的重复性任务,同时确保美术相关数据在所有级别都得到控制。并通过直观的界面封装相关信息,将沟通成本降至最低。非破坏性编辑——即尽量保留在自然环境下的编辑过程,让场景设计师可以灵活地修改或还原舞台的结果,也便于在同一过程中多人协作。兼容自定义编辑—也就是说,手动编辑与自动化兼容,而不需要通过自动化流程来限制自定义的需要。

  最终,我们希望结合各种工具和方法,实现一个符合项目需求的自然环境编辑工作流程,为场景设计师带来更好的开发体验。让我们看看虚幻引擎在不久的将来提供的一些内置工具和功能,以帮助我们实现这一目标。第一个是景观编辑图层,在4.24版本中引入。核心功能是允许我们以分层的方式编辑地形,解耦基本地形、手动编辑地形和画笔地形的编辑工作,并将同一地形的不同区域或不同迭代中的表面层的高度信息和权重信息分割成不同的编辑层并实现预览最终效果。编辑层可以在任何时候添加、隐藏、修改、排序或删除。在性能方面,该特性只会在编辑器中增加性能开销,而不会在运行时增加额外的开销。使用地形编辑层让我们能够灵活地保持中间的地形编辑过程,以实现快速迭代,同时也能够更容易地分解大量的地形编辑工作,以实现多人协作和重组。通过合理的流程划分和组织,使地形编辑中不同环节或不同岗位的工作互不干扰,同时可以随时预览整合效果。然后还有Landmass Blueprint Brush,也在UE4.24中引入,包含在Landmass插件中。这使得我们可以通过样条的蓝图笔刷来生成局部地形,它可以与基础地形融合,分别影响高度图和权重图,便于局部地形的迭代。通过在地形上添加笔刷,调整笔刷的曲线和属性,可以很容易地获得山地、湖泊、河流等局部自然地形,并可随时修改、隐藏或删除。即使不划分成单独的地形层,也不会破坏原有的地形。

  另外,我们可以根据项目的需要展开画笔蓝图,形成各种自定义效果和功能的画笔工具,方便场景设计师快速调用。然后是程序叶子工具。可以帮助我们根据预定义的生态规则在地形上批量生成植被。在此基础上,我们可以将整个地形生态分为三个部分:草类植被是根据分布规律自动生成或用画笔手工绘制的生态植被。树叶类型;而演员植被与动物自然现象的生态分布规律密切相关,这就消解了地形植被的工作。我们可以在各种各样的植被的生态分布规律设置在植被类型中,如分布密度、碰撞、阴影、种子间距、种子年龄、相互排斥优先级、表面层限制或排斥、等,然后将一组植被类型分配给程序编制的植被生成器,按规则批量生成生态植被。此外,我们还可以在特定区域设置程序性叶卷,以防止植物在该区域生长。

  接下来是Actor Foilage,这是虚幻引擎4.23中引入的一个新功能,允许我们使用植被刷工具或编程的植被生成器批量生成各种Actor对象。一些与生态分布密切相关的环境要素,如动物、环境颗粒效应、非静态模型示范等,可以划分为植被类型。程序化植被生成器和静态模型植被按预定规则自动分布。批量生成的Actor植被具有场景中普通Actor的功能和消耗。我们可以在Actor植被蓝图中包含各种组件,以实现定制的性能。还可以编写各种功能来提高自动化程度。同时,为了避免大量actor造成的消耗,我们还可以在actor中编写自定义规则来优化性能。还有编辑器脚本蓝图和Python脚本api,允许开发者使用蓝图工具或Python脚本功能扩展虚幻引擎编辑器。资产批处理和场景对象批处理等自定义功能可以通过资产、场景和编辑器设置等各种api来实现。使项目人员能够更容易地扩展编辑器本身,而不必制作插件或修改编辑器代码。

  通过使用编辑器脚本蓝图,我们可以灵活地定制各种编辑器扩展函数。引擎会根据函数类别自动添加函数名到资源管理器或场景主视图的右菜单中。我们也外部信息,如资产信息、项目管理信息等,可以在使用Python脚本调用虚幻API时读取和写入。然后是编辑器工具小部件。与编辑器脚本蓝图一样,可以编写脚本功能,如资产和场景对象批处理。我们可以使用UMG编辑器为我们的脚本工具设计一个统一的UI界面,提高项目过程的完整性,降低每个环节的通信成本。例如,编辑器工具控件可以用来将自然环境编辑所需的许多选项和数据集成到一个统一的界面中。对项目所需的流程进行划分,使每个帖子只能看到自己关心的信息,并可编写功能自动查看和修复信息,避免因误操作造成的效果差异,从而保证最终效果在不同的环节、不同的基础、不同的人员之间是统一的、可控的。此外,我们可以用Python脚本编写特定的函数,并在编辑器工具控件中调用它们,再次将脚本函数与UI解耦。

最新发现

相关资讯

今日热榜

热门游戏