本文主要是介绍UE5程序化内容生成PCG笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
参考资料
官方
知乎
启用插件
目前遇到的问题
节点个人理解/注解
Input
Surface Sampler(表面采样器)
Density Filter(密度过滤器)
Projection(投影)
WorldRayHit(世界射线命中查询)
Transform Points(变换点)
StaticMeshSpawner(静态网格体生成器)
Difference(差异)
Spline Sampler(样条线采样器)
Bounds Modifier(边界修改器)
Create Points Grid(创造点网格)
Distance To Density(距离到密度)
CopyPoints(复制点)
Attribute噪声(5.3.0) = Density Noise(5.2.x )
Subgraph(子图表)
Point Filter(点过滤)
Merge(合并)
Assembly(ASM)的使用方式
优点
静态网格体生成器选项编辑
参考资料
官方
程序化内容生成概述
[GDC2023]UE5中的程序化内容生成 (官方字幕)
[GDC2023]虚幻引擎5.2功能演示(官方字幕)
[UnrealCircle苏州]《Electric Dreams》项目PCG技术解析 | 王潇
知乎
UE5《Electric Dreams》项目PCG技术解析 之 基于关卡PCGSettings的工作流
【UE5PCG-学习笔记1】基础上手UE PCG
UE5程序化内容生成框架(PCG)
UE5中的PCG —— PCG in UE5 - 知乎
启用插件
Procedural Content Generation Framework
选中节点按D键可以看到目前预览效果
选中节点按E键可以启用/禁止当前节点
选中节点按A键可以检查当前节点的资源关联和属性
目前遇到的问题
- 使用PCG生成的模型中心点只能在最底部。不然会出现模型贴地后。有一半是在地图下面这种情况(临时解决方法 - 使用 变换点节点 设置绝对偏移 往上偏移一段距离)
节点个人理解/注解
Input
与大纲里面PCG实例的这个选项挂钩。可以向蓝图的函数一样自定义输入结构
Surface Sampler(表面采样器)
- 每平方米的点:密度
- 点范围:点的盒体大小
- 松动:增加随机性
Density Filter(密度过滤器)
密度值删除不在这个范围里面的值
Projection(投影)
向下投影。 可以把使物体贴进地面
WorldRayHit(世界射线命中查询)
向下投影使用。
Transform Points(变换点)
提供位置/旋转/缩放的最大最小值范围。加大视觉随机性。
StaticMeshSpawner(静态网格体生成器)
权重越大生成的物体相对其他的数量更多
UE PCG程序化生成初试
Difference(差异)
剔除下面这个的point。解决一个点生成多个物体导致重叠问题
Spline Sampler(样条线采样器)
对样条线进行采样
细分 - 每段细分数:在样条线上分段设置。而不是均匀分布
距离 - 距离增量:每隔100个单位增加一个点
Bounds Modifier(边界修改器)
更改点的Bounds包围盒的相关属性
Create Points Grid(创造点网格)
在想要的空间创造任意点
Grid Extents:网格的范围
Cell Size:点间隔距离(控制密度,值越小密度越大)
Grid Center Pisition:网格中心的位置偏移
Local:基于本地空间还是世界空间
Distance To Density(距离到密度)
创造一个合理的梯度。
CopyPoints(复制点)
Source:获取源输入.要复制的目标
Target:选择一个 位置来放置这些点
Attribute噪声(5.3.0) = Density Noise(5.2.x )
控制Noise影响Density的方式
设置:直接设置密度的数值
最小:对每个点得到一个Noise数值之后,与点原本的Density数值进行比较,取其中的最小者
最大:对每个点得到一个Noise数值之后,与点原本的Density数值进行比较,取其中的最大者
加:将获得的Noise数值直接与原本的Density相加
乘:将获得的Noise数值直接与原本的Density相乘
反转源:是否反转输入点的Density,即是否在运用这个节点前做一个Density = 1-Density的计算
Subgraph(子图表)
图:选其他的PCG图标。此节点就会自动转换为选中图表的Input
Point Filter(点过滤)
感觉有点像是蓝图的判定。只保留符合条件的数据
Insider Filter:?符合条件
Outsider Filter:?不符合条件
Merge(合并)
将多个数据源合并成一个单一数据输出
样条线内部填充示例
Interior Density Falloff Curve(内部密度衰减曲线):
- 在Interior的采样维度下控制Spline内部采样点的Density衰减
- 使用衰减曲线的时候注意,Spline的采样点必须要大于等于四个
Assembly(ASM)的使用方式
Assembly: 把一个关卡封装成一个物体。PCG图表里面以这个关卡为一个元素直接生成。
优点
- 降低数据和逻辑的耦合度
- 产生更多维度的变体(更多的随机性。不单是位置旋转还有物体间的层级关系)
- 定义结构体
直接把ASM拖进PCG图标里面就可以直接使用。
静态网格体生成器选项
网格体选择器类型(必选*):PCGMeshSelectorByAttribute
属性名称(必填*):填写Mesh.读取模型
按属性材质重载勾上(必填*/非必填):填写Material。这样才有材质效果。不然是白模。官方案例没加我也不知道怎么实现材质赋予的
这篇关于UE5程序化内容生成PCG笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!