UE5中实现沿样条线创建网格体

news2024/12/24 20:20:50

本文是对UE官方教程:https://www.bilibili.com/video/BV1eU4y1c7XL的重现,原教程中通过构造函数实现非运行时执行脚本,并通过UE的样条线组件辅助创建路径网格体。该功能最终实现的效果如下:
在这里插入图片描述

1.创建基础蓝图

首先创建一个Actor蓝图对象,我们使用InstancedStaticMesh组件构建动态网格以提升性能,挂载组件如下:
在这里插入图片描述
UE蓝图中的构造函数一直比较冷门,可能很多时候都不会去用,其实在编辑器状态下,它可以在拖入场景并且修改参数时执行,从而运行一些非运行时下的逻辑

我们增加模板网格变量,添加一个Static Mesh组件,并调用函数初始化到InstancedStaticMesh上:
在这里插入图片描述

2.设置间距并随样条线生成

2.1 得到生成物件的宽度与间隙

第二步,我们需要拿到模板网格的BoundingBox并以此为基础计算间距,计算间距的蓝图逻辑如下:
在这里插入图片描述
但是实际生成的时候也不能紧贴着创建,还需要加一个Offset变量以制造间隙:
在这里插入图片描述
到这一步,我们加了2个变量Offset和Spacing,Offset用于制造生成物的间隙,Spacing储存生成物件宽度。

2.2 得到样条线的长度并计算生成数

然后我们需要拿到样条线的总长度,并以此除以生成物件的宽度,这样就可以得到生成物体的数量了:
在这里插入图片描述
拿到生成物体的数量,可以创建一个For循环节点,调用添加实例函数:
在这里插入图片描述
这时可以把Actor拖到场景里看下效果:
在这里插入图片描述
拖拽一下样条看下效果,已经基本可以生成了,但是没有旋转信息。接下来我们继续更迭,增加旋转的适配。

3.增加生成物件的旋转信息

我们用下一个生成物件的坐标和当前生成物件的坐标相减就可以得到一个矢量作为物体朝向,首先需要将获得位置的蓝图节点封装进函数,便于后续操作:
在这里插入图片描述
然后调用2次这个函数,得到旋转朝向,蓝图节点如下:
在这里插入图片描述

这样我们的蓝图逻辑就全部完成了,看下效果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/479537.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手把手教你 ,带你彻底掌握八大排序算法【数据结构】

文章目录 插入排序直接插入排序希尔排序 选择排序选择排序堆排序升序 交换排序冒泡排序快速排序递归hoare版本挖坑法前后指针版本 三数取中法选key递归到小的子区间时,可以考虑使用插入排序 归并排序递归实现非递归实现 排序算法复杂度以及稳定性 插入排序 直接插入…

计算机操作系统学习-引论

本专栏是对计算机操作系统学习的记录:《现代操作系统 第四版》,电子版的可以在评论区自取。 1 计算机硬件简介 操作系统与运行该操作系统的计算机硬件密切相关。如图1所示,我们可以将自己的计算机抽象为,CUP,内存和I/…

【数学建模】Day01——层次分析法

文章目录 1. 引出层次分析法1.1 思考问题1.2 平台借力1.3 分而治之的思想1.4 一致矩阵1.5 一致性检验1.6 一致矩阵计算权重1.7 判断矩阵求权重 2. 层次分析法2.1 定义2.2 具体步骤2.3 局限性 1. 引出层次分析法 1.1 思考问题 我们评价的目标是什么?我们为了达到这…

C语言:指针详解【进阶】后篇

目录 函数指针函数指针数组指向函数指针数组的指针回调函数 前言: 在C语言:指针详解【进阶】前篇中我们深入学习了字符指针,数组指针,指针数组以及数组传参和指针传参。我们对指针的应用有了较为深刻的认识,今天这里我…

BusterNet网络Python模型实现学习笔记之二

文章目录 一、squeeze函数的用法二、nn.CrossEntropyLoss函数三、isinstance函数四、定义冻结层 freeze_layers五、SummaryWriter 基础用法六、Python 基础语法1.变量嵌入到字符串2. enumerate() 函数3. 进度条库tqdm4. 字典(dict)展开为关键字参数&…

TAPFixer总结

相关工作 Menshen 检测属性用户写 et al检测属性就简单三个 未来工作: liveness; implicit; 数据集; 抽象方式合并;抽象规则配置;缓解谓词爆炸;concurrency的说明; 代码简化工作;给出能修复的漏洞种类 …

《基于光电容积法和机器学习的冠状动脉疾病患者出血风险预测》阅读笔记

目录 一、论文摘要 二、论文十问 三、论文亮点与不足之处 四、与其他研究的比较 五、实际应用与影响 六、个人思考与启示 参考文献 一、论文摘要 在冠状动脉疾病(CAD)患者的抗血栓治疗过程中,出血事件是关注的主要焦点。本研究旨在探讨…

浅谈一下布隆过滤器的设计之美

1 缓存穿透 2 原理解析 3 Guava实现 4 Redisson实现 5 实战要点 6 总结 布隆过滤器是一个非常有用的数据结构。它可以在大规模数据中高效地判断某个元素是否存在。布隆过滤器的应用非常广泛,不仅在搜索引擎、防垃圾邮件等领域中经常用到,而且在许多…

R语言单因素方差分析

R中的方差分析 介绍用于比较独立组的不同类型的方差分析,包括: 单因素方差分析:独立样本 t 检验的扩展,用于在存在两个以上组的情况下比较均值。这是方差分析检验的最简单情况,其中数据仅根据一个分组变量&#xff0…

【数据结构】七大排序总结

目录 🌾前言 🌾 内部排序 🌈1. 直接插入排序 🌈2. 希尔排序 🌈3. 直接选择排序 🌈4. 堆排序 🌈5. 归并排序 🌈6. 冒泡排序 🌈7. 快速排序 🌾外部排序 &…

4 月份 火火火火 的开源项目

盘点 4 月份 GitHub 上 Star 攀升最多的开源项目,整个 4 月份最火项目 90% 都是 AI 项目(准确的说,最近半年的热榜都是 AI 项目) 本期推荐开源项目目录: 1. AI 生成逼真语音 2. 复旦大模型 MOSS! 3. 让画中…

万万没想到在生产环境翻车了,之前以为很熟悉 CountDownLatch

前言 需求背景 具体实现 解决方案 总结 前言 之前我们分享了CountDownLatch的使用。这是一个用来控制并发流程的同步工具,主要作用是为了等待多个线程同时完成任务后,在进行主线程任务。然而,在生产环境中,我们万万没想到会…

【LeetCode】583. 两个字符串的删除操作

583. 两个字符串的删除操作(中等) 思路 这道题的状态定义和 1143. 最长公共子序列 相同,「定义一个 dp 数组,其中 dp[i]表示到位置 i 为止的子序列性质,并不是必须以 i 结尾」,此时 dp 数组的最后一位即为…

富士康终于醒悟了,重新加码中国制造,印度制造信不过

4月25日富士康在郑州揭牌新事业总部,显示出在扰攘了数年之后,富士康再度加强郑州富士康的发展力度,这应该是富士康在印度努力数年之后终于清醒了,印度制造终究不如中国制造可靠。 一、苹果和富士康在印度发展的教训 这两年苹果和富…

智能算法系列之基于粒子群优化的模拟退火算法

文章目录 前言1. 算法结合思路2. 问题场景2.1 Sphere2.2 Himmelblau2.3 Ackley2.4 函数可视化 3. 算法实现代码仓库:IALib[GitHub] 前言 本篇是智能算法(Python复现)专栏的第四篇文章,主要介绍粒子群优化算法与模拟退火算法的结合,以弥补各自…

【unity项目实战】3DRPG游戏开发07——其他详细的设计

敌人动画设计 新增图层动画,把权重设为1 在新图层默认新建一个空状态Base State,实现怪物默认动画播放Base State,因为Base State是空动画,所以默认会找上一个层的动画,这样就实现了两个图层动画的切换,也可以选择修改权重的方式实现 敌人随机巡逻 显示敌人巡逻的范…

网络字节序和主机字节序详解(附代码)

一、网络字节序和主机字节序 网络字节序和主机字节序是计算机网络中常用的两种数据存储格式。 主机字节序: 指的是在计算机内部存储数据时采用的字节排序方式。对于一个长为4个字节的整数,若采用大端字节序,则该整数在内存中的存储顺序是&a…

AppScan-被动手动扫描

被动扫描是针对性的扫描,浏览器代理到AppScan,然后进行手工操作,探索产生出的流量给AppScan进行扫描。这样可以使得扫描足够精准,覆盖率更加高,还能减少不必要的干扰 (一)环境准备 1、火狐安装…

SAP UI5 之Controls (控件) 笔记三

文章目录 官网 Walkthrough学习-Controls控件1.0.1 在index.html中使用class id 属性控制页面展示的属性1.0.2 我们在index.js文件中引入 text文本控制1.0.3打开浏览器查看结果 官网 Walkthrough学习-Controls控件 Controls控件 在前面展示在浏览器中的Hello World 是在Html …

Presto 之Hash Join的Partition

一. 前言 在Presto中,当两表Join为Hash Join并且join_distribution_type为PARTITIONED的时候,Presto会将Build表分区(Partition)后再进行Join操作。在Presto中的Join操作中,对表的分区有两级,第一级是将Has…