虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

这篇具有很好参考价值的文章主要介绍了虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

可以和Houdini说拜拜了

0. 概述

Unreal Engine 5.2全新推出了程序化资源生成框架即Procedural Content Generation Framework下文简称PCG, 开发者可以通过PCG程序快速生成宏大且复杂的游戏场景。以往这种程序化资源(场景)的生成需要借助Houdini来实现,有了PCG,真的可以和Houdini说拜拜了!

优点:

  • 简单
  • 灵活
  • 高效
  • 高度可复用

相对于Houdini的程序化生成技术:

  • 原生集成度更好
  • 对UE5用户更友好
  • 可调试性更好
  • 免费

1. 启动插件

PCG目前以插件形式存在,需要在Plugins中启动Procedural Content Generation Framework,它下面的Procedural Content Generation Framework Geometry Script Interop是PCG和Geometry Script 交互的插件,可以根据项目需要启动。
虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础
虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

2. 工作逻辑

2.1 添加PCGVolume

PCGVolume是PCG范围限定体积,PCG会在PCGVolume的范围内进行采样,从而作为程序化资源生成的输入参数

虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

2.2 创建PCGGraph

在PCGVolume的PCGComonent组件上添加/创建PCGGraph(PCG蓝图),就好像在Character的Mesh组件上添加动画蓝图一样。PCGGraph就是PCG逻辑的核心。
虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

2.3 编写PCGGraph逻辑

以下是一个简单的PCGGraph,它揭示了PCGGraph最核心的工作逻辑

虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

  1. Input: 获取PCGVolume范围内的场景信息,并输入给PCGGraph。
  2. Surface Sampler: 筛取PCGVolume范围指定的信息。
  3. Static Mesh Spawner: 场景加工或装饰。
  4. Output: 结果输出。

我们可以看到Output节点可以连接多个输入源,这些输入源可以视为PCGGraph中不同的层(Layer)。

  • Surface Sampler

虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

Surface Sampler节点在PCGGraph中非常常用,它负责对区域内的表面进行采样并生成随机点。本例中的3个Surface Sampler节点,我分别设置了不同的密度和随机种子。

虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础
和Surface Sampler功能相类似的还有如下Sampler(采样)系列节点:

虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

  • Static Mesh Spawner

虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

Static Mesh Spawner节点顾名思义就是生成静态Mesh了,它的意义很明了并且有很多参数可供调节。本例中的3个Static Mesh Spawner节点,我分别添加了1个(实际每层可以添加若干个)不同的几何体。

虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

和Static Mesh Spawnerr功能相类似的还有如下Spawner(生成)系列节点:

虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

此时,运行程序我们就可以看到到,高低不平的场景地面上,随机散落了3中不同形状的几何体。

虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础

小结

本文仅演示了一个 PCG简单范例,通过简单的设定和逻辑,便轻松实现了一些游戏元素在场景中的自由摆放,相信大家对PCG的“卧槽感”已经油然而生,后续文章中,我会继续介绍这个强大的工具。文章来源地址https://www.toymoban.com/news/detail-502524.html

到了这里,关于虚幻引擎程序化资源生成框架PCG(Procedural Content Generation Framework) 之 PCG基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 使用柏林噪声程序化生成地形

    参考教程链接 项目链接 👇对噪声和柏林噪声不了解的可以看下面这个讲解。 柏林函数简介   简单来说柏林噪声是一种连续的、渐变的噪声,不理解原理也无所谓,unity自带有Mathf.PerlinNoise(X-coordinate,Y-coordinate);我们可以根据这个来制作更有层次性的柏林噪声。你可以把这个

    2024年02月15日
    浏览(41)
  • (2023,3D 场景生成器 Infinigen)使用程序化生成的无限逼真世界

    Infinite PhotorealisticWorlds using Procedural Generation 公众号:EDPJ 目录 0. 摘要 1. 简介 2. 相关工作 3. 方法 4. 实验  参考 S. 总结 S.1 主要思想 S.2 方法 S.3 场景生成 我们介绍 Infinigen,一个自然世界逼真 3D 场景的程序生成器。 Infinigen 完全是程序化的:从形状到纹理的每一个资产(asse

    2024年02月16日
    浏览(72)
  • 【用unity实现100个游戏之16】Unity中程序化生成的2D地牢5(附项目源码,完结)

    【视频】:https://www.youtube.com/watch?app=desktopv=-QOCX6SVFsklist=PLcRSafycjWFenI87z7uZHFv6cUG2Tzu9vindex=1 注意 :本文为学习笔记记录,推荐支持原作者,去看原视频自己手敲代码理解更加深入

    2024年02月03日
    浏览(48)
  • 什么是程序化交易

    大到量化、程序化、高频交易、套利交易、主观投资这些基本的概念,小到网格交易、条件单、T+0、ETF套利、期现套利、算法拆单交易、打板策略等具体的投资方式。如果没有接触过这些,很容易混淆。 程序化交易: 指通过既定程序或特定软件,自动生成或执行交易指令的

    2024年02月06日
    浏览(50)
  • 基于URP的程序化天空盒

    参考来源:   天空盒教程第 1 部分 |开尔文·范·霍恩 (kelvinvanhoorn.com) 【程序化天空盒】过程记录02:云扰动 边缘光 消散效果_九九345的博客-CSDN博客 程序化天空盒实现昼夜变换 - 知乎 (zhihu.com) 一、太阳          目标:改变光的方向,使天空球旋转(日夜交替);光的正方

    2024年02月15日
    浏览(62)
  • 分享股票量化交易程序化模型的设计思路

    一个股票量化交易程序化模型的入市设计往往伴随着设计者的偏好和交易时间框架等。主要分为震荡交易、套利交易以及趋势跟踪等。当然在近些年的发展中,也出现了类似遗传算法、人工智能神经网络等许多种类的系统模型。 但是对于大多数投资者来说,趋势跟踪系统可以

    2024年02月03日
    浏览(59)
  • 程序化交易接口策略过滤器–九宫格

    不同的程序化交易接口策略适用于不同的市场情况,有些交易策略使用于均值回归,有些则试用于方向明显的时候,有些试用于方向不明显的时候,因此,我们需要根据不同的市场情况,综合考虑方向和波动率,市场成交量来选择合适的交易策略。 本文介绍了一种选择程序化

    2023年04月09日
    浏览(47)
  • Three.js程序化3D城市建模【OpenStreetMap】

    对于我在 Howest 的研究项目,我决定构建一个 3D 版本的 Lucas Bebber 的“交互式讲故事的动画地图路径”项目。 我将使用 OSM 中的矢量轮廓来挤出建筑物的形状并将它们添加到 3js 场景中,随后我将对其进行动画处理 推荐:用 NSDT编辑器 快速搭建可编程3D场景 为了使用 Node 和

    2024年02月11日
    浏览(45)
  • 用java去实现程序化广告应该有哪些步骤?

    1. 需求分析和规划 在这一阶段,我们需要详细分析和理解项目需求,并制定相应的规划和计划。这包括以下几个步骤: 项目背景和目标: 理解项目的背景和目标,确定开发的目的和意义。 功能需求分析: 分析用户需求,明确项目需要实现的功能和特性。 技术可行性评估:

    2024年04月10日
    浏览(56)
  • 【程序化天空盒】过程记录01:日月 天空渐变 大气散射

    昼夜的话肯定少不了太阳和月亮,太阳和月亮实现的道理是一样的,只不过是月亮比太阳多了一个需要控制月牙程度(or添加贴图)的细节~ 太阳的话很简单,直接在shader里实现一个太阳跟随平行光旋转而旋转的样子就行。实现这个效果需要用到Unity内置变量 _WorldSpaceLightPos0

    2024年01月18日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包