Unreal Engine 4中实现物体自动上下循环移动:完整教程与常见疑惑解答
一、引言
在Unreal Engine 4(简称UE4)中物体的移动是一个常见的需求。本文将详细介绍怎么样实现物体在UE4中的自动上下循环移动以及在采用进展中可能遇到的部分常见疑惑及其解答。
二、物体移动的基础知识
1. SetActorLocation 与 AddActorWorldOffset
在UE4中咱们可以利用SetActorLocation()和AddActorWorldOffset()两种方法来移动物体。
- SetActorLocation():直接设置物体的世界坐标,适用于一次性定位。
- AddActorWorldOffset():在物体当前坐标的基础上增加一个偏移量,适用于连续移动。
2. MovementMode 设置
当利用AddActorWorldOffset()或AddActorLocalOffset()移动Character时,需要将MovementMode设置为fly。否则,当DeltaLocation较小时,角色会始往下掉,即使禁用物理模拟。
三、实现物体自动上下循环移动的步骤
1. 设置输入映射
在项目设置中找到“输入”选项然后设置以下轴映射:
- MoveF(前后移动):键盘W值设置为1,键盘S值设置为-1。
- MoveR(右移动):键盘D值设置为1键盘A值设置为-1。
2. 创建图
创建一个图类,继承自Actor,命名为BP_MovableActor。
3. 添加成员变量
在BP_MovableActor中添加以下成员变量:
- MoveSpeed:移动速度,用于控制物体的移动速度。
- MoveHeight:循环移动的高度用于控制物体上下移动的幅度。
- MoveDuration:循环移动的时间,用于控制物体完成一次循环所需的时间。
4. 编写逻辑代码
在BP_MovableActor的BeginPlay中,添加以下代码:
```cpp
// 初始化成员变量
MoveSpeed = 100.0f;
MoveHeight = 200.0f;
MoveDuration = 5.0f;
// 启动自动移动
StartAutoMove();
```
在BP_MovableActor中添加以下函数:
```cpp
// 启动自动移动
void StartAutoMove()
{
// 获取初始位置
FVector StartLocation = GetActorLocation();
// 计算目标位置
FVector TargetLocation = StartLocation FVector(0, 0, MoveHeight);
// 计算移动时间
float MoveTime = MoveHeight / MoveSpeed;
// 设置定时器
GetWorldTimerManager().SetTimer(AutoMoveTimerHandle, this,
- ai学习丨中文作文翻译英文:如何将中文作文精准转换成英文作文软件指南
- ai学习丨中文翻译成英文作文-中文翻译成英文作文的软件
- ai学习丨精选中文翻译英语作文范文文库
- ai通丨AI生成三维头像模型教程:完整与使用指南
- ai知识丨2024最新盘点:免费AI绘画软件排行榜,一键生成艺术作品神器推荐
- ai学习丨智能AI快速生成三维立体模型
- ai通丨AI生成模型原理是什么软件:揭秘其工作原理及常用软件工具
- ai学习丨深入解析:AI生成模型的原理、技术架构与应用前景
- ai学习丨开发者视角:AI生成模型的工作原理深度解析
- ai通丨ai生成大海风景壁纸软件与使用
- ai学习丨最新版三国杀武将制作生成器——一键打造专属武将库
- ai学习丨三国杀角色全解析:全新角色生成指南与实用攻略
- ai学习丨三国杀背景修改器:方法、修改位置及移动版背景调整教程
- ai学习丨一键自动搜索生成论文资料的工具
- ai学习丨AI智能作业辅助软件:一键完成各类作业,全面提升学效率
- ai知识丨ai生成照片获摄影大奖:AI照片生成器赢得摄影赛事
- ai学习丨生成式语言模型的创新与应用探索
- ai通丨揭秘GPT系列巅峰之作:最新版GPT生成式语言模型性能全面解析与比较
- ai通丨生成式语言模型在犯罪中的应用:研究论文及其实际应用分析
- ai知识丨自然语言生成模型的历发展与演变轨迹