UE5《Electric Dreams》项目PCG技术解析 之 PCGCustomNodes详解(四)ApplyHierarchy

2023-10-29

继续解析《Electric Dreams》项目中的自定义节点和子图:ApplyHierarchy

在这里插入图片描述

前导文章

《UE5《Electric Dreams》项目PCG技术解析 之 理解Assembly(以SplineExample为例)》
《虚幻引擎程序化资源生成框架PCG 之 UPCGBlueprintElement源码笔记(一)》
《虚幻引擎程序化资源生成框架PCG 之 UPCGBlueprintElement源码笔记(二)数据流》
《UE5《Electric Dreams》项目PCG技术解析 之 PCGCustomNodes详解(一)》
《UE5《Electric Dreams》项目PCG技术解析 之 PCGCustomNodes详解(二)Look At》
《UE5《Electric Dreams》项目PCG技术解析 之 PCGCustomNodes详解(三)SG_CopyPointsWithHierarchy》

标准组合拳

在这里插入图片描述

上一篇博文《UE5《Electric Dreams》项目PCG技术解析 之 PCGCustomNodes详解(三)SG_CopyPointsWithHierarchy》,我们分析了这套组合拳中SG_CopyPointsWithHierarchy的工作原理,简单来说:

  1. SG_CopyPointsWithHierarchy其实就是携带source中层级信息和相对Transform的高级版CopyPoints。
  2. 它需要和"PCGSettings"一起工作(需要"PCGSettings"中原始ActorIndexParentIndex信息)。
  3. 一般要和本文中介绍的ApplyHierarchy一起使用构成组合拳。

ApplyHierarchy

在使用ApplyHierarchy之前,点云里存在一个由Actor IndexParent Index索引构成的树形结构,而Relative Transform则代表着每个层级子级Point和父级Point之间的"相对变换"。ApplyHierarchy的作用就是将这个树形结构中一层层的Relative Transform应用到每个PointPositionRotationScale属性(Property)上。

Execute with Context

在这里插入图片描述以上部分(包含Iteration Loop)的作用就是构造2个数组IdsHierarchy Depths

  • Ids 数组:数组的Index对应PointIndex;数组的Value对应Actor Index,这样通过Actor IndexParent Index就可以反向找到实际的Index
  • Hierarchy Depths数组:和上面的逻辑类似,建立PointIndexHierarchy Depth一一对应关系。

在这里插入图片描述
逐层(Depth)将Relative Transform转换成PointPositionRotationScale属性(Property)上,逻辑有点像“俄罗斯方块”。

Iteration Loop Body

在这里插入图片描述

Point Loop Body

通过Actor IndexParent Index反向找到实际的Index
在这里插入图片描述
将该层(Depth)的Relative Transform转换成PointPositionRotationScale
在这里插入图片描述
删除无效的Point

在这里插入图片描述

应用场景

注意:在“组合拳”中使用Transform Points变换的对象为Relative Transform

在这里插入图片描述

小结

SG_CopyPointsWithHierarchy构造了一个虚拟的"树形结构",而ApplyHierarchy是将"树形结构"和层级之间的Relative Transform应用到PointPositionRotationScale属性上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UE5《Electric Dreams》项目PCG技术解析 之 PCGCustomNodes详解(四)ApplyHierarchy 的相关文章

  • 虚幻引擎 遇到的问题总结

    初学UE 遇到很多问题 这里记录一下 防止以后忘记 还会不断添加 语言设置 UE的中文翻译很多地方翻译的并不是很好 照着视频学习的话还是英文版的比较好 Edit 编辑 gt Editor preferences 编辑器偏好设置 gt Reg
  • 用ue5写一个根据数据更换标签图片的蓝图

    在 Unreal Engine 5 UE5 中 您可以使用蓝图来实现根据数据更换标签图片的功能 以下是一个示例蓝图 其中包含了您可能需要使用的各种节点 首先 您需要获取数据 例如使用 变量 节点获取变量或使用 从全局变量获取 节点获取全局变
  • UE5 添加插件

    1 编辑 gt 插件 gt 添加 2 选择插件类型 输入插件名称 设置插件目录 点击 创建插件 3 在工程目录下生成Plugins目录 而且在Plugins目录下生成各个插件的目录
  • UE5 AddYawInput踩坑

    在UE5内使用AddYawInput蓝图节点 发现我输入的值和旋转的值完全不匹配 总是扩大了2 5倍 无奈去看源码 发现并不是你输入多少值就旋转多少值 如果项目设置里EnableLegacyInputScales为真 那么还会乘以一个Yaw
  • ue4修改缓存路径到项目文件下面

    InstalledDerivedDataBackendGraph Path ENGINEVERSIONAGNOSTICUSERDIR DerivedDataCache EditorOverrideSetting LocalDerivedDa
  • UE5项目打包发布Windows需要安装插件

    一 下图为UE5项目打包发布Windows的安装路劲 前面感叹号为未安装插件 二 打包前的其他可有可无设置 1 编辑Edit 项目设置Project Settings 2 平台Platforms Windows 三 安装路径 1 搜索vis
  • UE4(Unreal Engine4)虚幻引擎视口布局,并且自定义HDRI

    UE4系列文章目录 文章目录 UE4系列文章目录 前言 一 操作步骤 1 准备工作 二 操作步骤 1 UE4中创建第三人称游戏 前言 在UE4中搭建电影级场景 先看下效果 一 操作步骤 1 准备工作 1 在UE4 Unreal Engine
  • 如何在UnrealEngine虚幻引擎中加载Web页面

    对于非游戏开发团队来讲 在面向非游戏领域的UE项目中嵌入Web页面并实现交互无疑能充分利用现有开发资源和流程 WebUI插件能提供完整的Web页面加载及交互手段 让团队中的UE开发工程师和Web开发工程师能够各司其职 紧密配合 WebUI的
  • Unreal Engine UE4虚幻引擎,生成Cubemap(HDR高动态范围贴图)

    1 在场景中添加Scene Capture Cube场景捕获立方体 2 在Scene Capture Cube细节面板中创建 Cube Render Target 立方体渲染目标 打开创建的 Cube Render Target 立方体渲染
  • kali linux基础配置和输入法转换

    一 修改密码 1 打开终端 terminal 进入方式 桌面左上角 桌面右键 Ctrl Alt T 输入sudo passwd root 然后回车 先输入原账户密码 回车 再输入root密码 回车 再一次重复输入 回车 设置完成 二 修改系
  • UE4 蓝图制作伤害数值

    UE4 蓝图制作伤害数值 新建一个数值的UI 再把内容绑定事件 公开两个变量 用来设置UI的显示数值和生成的位置 还可以加一个动画 我这里是一个向上飘动的动画 点 号新建HUD 再设置到游戏模式方便调用 调用CreateDamage 就生成
  • UE Mesh Generation and Editing at Runtime

    UE Mesh Generation and Editing at Runtime 虚幻运行时和编辑器下生成和编辑 网格体 UE Mesh 虚幻中常用的三种网格体 UProceduralMeshComponent 程序化网格体 UStati
  • 11月7日 Unreal Engine Rider 学习笔记

    创建蓝图接口 添加蓝图Class 添加接口用指针 添加宝箱Actor类 添加Mesh类 首先在类后面添加一个公用接口声明 class ACTIONROUGELIKE API AASItemChest public AActor public
  • 序(为什么要抄unreal源码)

    unreal所有源码很长 几百万行 一辈子也抄不完 然而 ue4 0版本的runtime只有1887个文件 251043行 不算第三方库 可以只按照渲染相关部分抄写一下 然后 逐版本增补 只需要关注渲染部分 和工作中用到的插件 还是可以的
  • cesium for ue5中actor的cesium georeference组件的改变(英文教程文档是更新了的)

    今天 重新回顾下cesium for ue的教程 actor添加cesium georeference组件 发现在ue5中 没有这个组件了 忍住卸载ue5 重新安装ue4 27的冲动 cesium的组件数量增多了 反而功能减少了 不可能 绝
  • 提升UE5写实效果的项目设置

    随着虚幻引擎5 Unreal Engine 5 简称UE5 的发布 游戏开发者和数字艺术家们迎来了一个全新的机会 可以在其强大的渲染引擎下创建更加逼真和令人惊叹的游戏和虚拟场景 然而 要实现出色的写实效果 需要合理设置项目并运用一些技巧和策
  • UE5学习笔记(1)——从源码开始编译安装UE5

    目录 0 前期准备 1 Git bash here 2 克隆官方源码 3 选择安装分支 4 运行Setup bat 下载依赖文件 5 运行GenerateProjectFiles bat生成工程文件 6 生成完成 找到UE5 sln UE4
  • mixamo根动画导入UE5问题:滑铲

    最近想做一个跑酷游戏 从mixamo下载滑铲动作后 出了很多动画的问题 花了两周时间 终于是把所有的问题基本上都解决了 常见问题 1 动画序列 人物不移动 2 动画序列 人物移动朝向错误 3 蒙太奇 人物移动后会被拉回 4 蒙太奇 动画移动
  • 【UE5】监控摄像头效果(下)

    目录 效果 步骤 一 多摄像机视角切换 二 摄像头自动旋转巡视 三 摄像头跟踪拍摄 效果 步骤 一 多摄像机视角切换 1 打开玩家控制器 MyPlayerController 添加一个变量 命名为 BP SecurityCameraArra
  • 【UE】在控件蓝图中通过时间轴控制材质参数变化

    效果 步骤 1 新建一个控件蓝图和一个材质 2 打开材质 设置材质域为用户界面 混合模式设置为 半透明 在材质图表中添加两个参数来控制材质的颜色和不透明度 3 对材质创建材质实例 4 打开控件蓝图 在画布面板中添加一个图像控件 将刚才创建的

随机推荐