【UE5】物体沿样条线移动

news2024/11/27 22:29:07

目录

效果

步骤

一、使用样条线创建路径

二、创建沿样条线路径移动的物体

三、定义可移动物体的生成器


效果

步骤

一、使用样条线创建路径

先创建一个Actor蓝图,这里命名为“BP_Line”

该蓝图中只需添加一个样条组件

将“BP_Line”拖入场景中

按住Alt+鼠标左键就可以在样条线上多加点

此时我就可以用这个样条线来表示物体移动的路径

二、创建沿样条线路径移动的物体

新建一个Actor蓝图这里命名为“BP_Sphere”

打开该蓝图,添加一个球形的静态网格体组件

在事件图表中添加一个自定义事件“Move”,用于控制Actor沿着样条线移动,该事件有两个输入:

自定义事件“Move”逻辑如下,解释一下其中部分逻辑:

1. 时间轴的Alpha引脚输出的是在1s中0~1之间不断增大的浮点数,经插值节点将0~1之间不断增大的数映射到A~B之间不断增大的数,再通过“获取样条点的距离处位置”节点,将样条线上的点位置(一维表示)转换为世界坐标点位置(三维表示)。

2. 我们可以通过设置播放速率,将0~1s修改为0~1/移动速度 s,这和直接增大时间轴内终止点的横坐标的效果一样

时间轴内包含两个关键点,分别为(0,0)和(1,1)

三、定义可移动物体的生成器

 新建一个Actor蓝图,这里命名为“BP_SpawnLocation”

在该蓝图中去生成BP_Sphere

其中,变量“路径线”和“移动速度”均为公有变量

将生成器拖入场景中

设置公有变量的值

运行游戏可以看到“BP_Sphere”沿着样条线移动,这里“移动速度”参数设置为0.1,因此球体移动速度较慢

如果我将球体改为其他形状的网格体,可以发现actor在运动到转弯处时并没有相应的改变方向

我们可以在“BP_Sphere”的事件图表中,添加如下节点,即在物体运动时不断修改运动的方向

此时可以看到物体能够进行转向

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

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

相关文章

如何制定LinkedIn商进行品牌推广?

在网络上脱颖而出不是一件简单的事。不仅有比以往更多的平台、算法和内容类型,而且还有更多的企业在争夺注意力。据统计,每天有超过 270 万家公司在 LinkedIn 上发布信息。 策略很重要,尤其是在 LinkedIn 营销领域。下面将为你总结LinkedIn 营…

Spring Cloud与Spring Cloud Alibaba怎么正确引入依赖版本

一.Spring Cloud与Spring Cloud Alibaba与Springboot各版本的依赖关系 我们可以去springcloud alibaba的github仓库中的说明中查找到三个依赖版本的对应关系: 版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 二.通过BOM对Spring Cloud与Spring Cloud Alib…

三江城115m²3室2厅2卫,现代简约不单是居所更是对生活的向往。福州中宅装饰,福州装修

【前言】 简洁有力,静默无声。 以简约精致的方式,展现现代都市生活; 经典不因潮流褪色,不为悦人只为悦己。 项目信息 项目名称 | 三江城 设计地址 | 福建福州 项目面积 | 115㎡ 项目户型 | 3室2厅 设计风格 | 现代简约 全…

BananaPi BPI-M6(Raspberry Pi 5) Android 平板电脑镜像测试温度

我已经在本文中介绍了 全新的Banana Pi BPI-M6,并讨论了其与Raspberry Pi 5的硬件特性比较。 然后我将 Android 平板电脑固件上传到 eMMC,从而使 Banana Pi 实际可用。一开始有点坎坷,但文章中有更多内容。 在另一台电脑上,一切都…

ubuntu 20.04安装 Anaconda教程

在安装Anaconda之前需要先安装ros(防止跟conda冲突,先装ros)。提前安装好cuda 和cudnn。 本博客参考:ubuntu20.04配置ros noetic和cuda,cudnn,anaconda,pytorch深度学习的环境 安装完conda后,输入: pyth…

在 HarmonyOS 上使用 ArkUI 实现计步器应用

介绍 本篇 Codelab 使用 ArkTS 语言实现计步器应用,应用主要包括计步传感器、定位服务和后台任务功能: 1. 通过订阅计步器传感器获取计步器数据,处理后显示。 2. 通过订阅位置服务获取位置数据,处理后显示。 3. 通过服务开…

vue2 mixin的方式 大屏适配(缩放居中的方式)

使用要求&#xff1a;指定容器的 id 为 bigScreenContainer 一、效果图 不管你的屏幕多大都会根据设计稿 1920*1080 进行缩放 图一&#xff1a;缩小的效果 图二&#xff1a;放大的效果 二、使用方式 <template><div id"bigScreenContainer" ref"big…

又在为年会头疼了?看易知微教你用数据可视化搭建工具制作年会抽奖大屏!

距离过年还有2个多月&#xff0c;但是各个公司的行政、组织部门已经接到了年会策划的通知&#xff0c;年会是公司内部重要的社交盛事之一&#xff0c;不仅可以展示公司的实力和成绩&#xff0c;还可以加强员工之间的沟通和团队合作意识。好的年会策划不仅要注重细节&#xff0c…

欧盟铅镉RSL邻苯项目化学物质检测报告办理(RSL Report 资质)REACH 认证

如果您在亚马逊上销售商品&#xff0c;则必须遵守所有适用的欧盟和地方法律法规&#xff0c;以及适用于这些商品和商品信息的亚马逊政策。要在亚马逊上销售某些商品&#xff0c;)您需要向我们提供 REACH 符合性声明或检测报告。 RSL-Phthalate资质 欧盟RSL邻苯项目检测报告 Ph…

一张图系列 - “position_embedding”

关于位置编码&#xff0c;我感觉应该我需要知道点啥&#xff1f; 0、需要知道什么知识&#xff1f; multi head atten 计算 复数的常识 1、embedding 是什么&#xff1f; position embedding常识、概念&#xff0c;没有会怎样&#xff1f; 交换token位置&#xff0c;没有P…

keil程序载入硬件成功,但未按代码执行

可能是因为keil版本的问题 1.在个人电脑上测试&#xff0c;安装keil软件如下。 2.测试stlinkv2仿真器&#xff0c;A202208\A202303\A202210,对1号和2号M3核心板验证。皆下载成功并执行程序。 程序如下: #include "stm32f10x.h" void delay_nms(u16 time); int ma…

【LeetCode刷题-滑动窗口】--487.最大连续1的个数II

487.最大连续1的个数II 方法&#xff1a;滑动窗口 维护一个区间&#xff0c;使得该区间中只包含一个0 class Solution {public int findMaxConsecutiveOnes(int[] nums) {int n nums.length;int left 0,right 0,sum 0;int zero 0; //计算0的个数while(right < n){if(…

mysql之rsync远程同步

&#xff08;一&#xff09;rsync 1、rsync&#xff1a;是一个开源的快速备份工具&#xff0c;可以在不同主机之间同步整个目录 2、在远程同步中&#xff0c;一个是源端&#xff0c;一个是发起端 &#xff08;1&#xff09;源端负责文件的原始位置&#xff0c;发起端和源端的…

《洛谷深入浅出进阶篇》P1995 程序自动分析——并查集,离散化

上链接&#xff1a;P1955 [NOI2015] 程序自动分析 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1955 上题干&#xff1a; 首先给你一个整数t&#xff0c;代表t次操作。 每一次操作包含以下内容&#xff1a; 1.给你一个整数n&#xff0c;让…

node 第十八天 中间件express-session实现会话密钥

express-session 文档 express-session 一个简单的express会话中间件 使用场景 在一个系统中&#xff0c; 需要维持一个临时的与登录态无关的会话密钥 比如登录系统后&#xff0c; 请求某一个接口&#xff0c; 接口的行为与登录态无关&#xff0c; 也就是说任何人对接口的访问…

【java学习—十五】线程的通信(6)

文章目录 1. 线程通信1.1. wait() 方法&#xff1a;1.2. notify()/notifyAll() 方法 1. 线程通信 wait() 与 notify() 和 notifyAll()&#xff1a; ①wait()&#xff1a;令当前线程挂起并放弃 CPU 、同步资源&#xff0c;使别的线程可访问并修改共享资源&#xff0c;而当前线程…

Vue3 生命周期

如下是Vue3的生命周期函数图&#xff1a; 一、Vue2生命周期和Vue3声明周期的区别 1. Vue2 中&#xff0c;只要创建Vue实例对象而不需要挂载就可以实现beforeCreate 和 created 生命周期函数。 Vue3中必须要将Vue实例对象挂载完成&#xff0c;所有的准备工作做完&#xff0c;…

视频号视频怎么保存?教你三种方法

现在随着视频号的兴起&#xff0c;很多用户都喜欢在视频号上分享自己的生活、工作和兴趣爱好。但是很多人都遇到了一个问题&#xff0c;就是视频号上看到了喜欢的视频&#xff0c;想要保存下来&#xff0c;却不知道怎么做。今天我们就来教大家三种方法&#xff0c;让你轻松保存…

Servlet---从创建项目到部署项目的整个流程

文章目录 创建项目引入Servlet依赖创建目录结构编写代码打包程序部署程序验证程序 创建项目 引入Servlet依赖 为什么需要引入依赖资源呢&#xff1f; Servlet不是标准库自带的&#xff0c;需要从外部引入进来才能使用。如何引入&#xff1f; 利用maven&#xff0c;maven的一个…