1,Actor->SetActorLocation

Actor->SetActorLocation()

2,AActor::AddActorWorldOffset(), AActor::AddActorLocalOffset()

AddActorWorldOffset与AddActorLocalOffset区别:如果期望Actor沿着某个世界坐标系方向移动,那么使用AddActorWorldOffset并且参数为世界坐标系的DeltaLocation;如果期望Actor沿着当前Actor局部坐标系方向移动,那么使用AddActorLocalOffset并且参数为相对当前Actor的DeltaLocation Offset(比如想做螺旋轨迹但又不想计算其世界空间坐标,那么就用LocalOffset)。

如果使用AddActorWorldOffset或者AddActorLocalOffset移动Character,那么MovementMode必须设置为fly,否则当DeltaLocation较小时,角色会始终往下掉(即使禁用物理模拟),UCharacterMovementComponent::SetMovementMode(EMovementMode::MOVE_Flying);。或者Unpossess Controller。

3,Velocity

ACharacter->GetCharacterMovement()->Velocity += FVector(5.f, 5.f, 0.f);

4,将一个Controller(PlayerController或者AIController)possess到一个Actor上,然后调用:

Controller->MoveTo();

5,将一个Controller(PlayerController或者AIController)possess到一个Actor上,然后调用

GetWorld()->GetNavigationSystem()->SimpleMoveToLocation(Controller, DestLocation);

注意:如果使用Controller->MoveTo或者使用NavigationSystem的Move函数,前提条件是你使用了Navigation组件并build了地形,否则无效。

6,APawn->AddMovementInput

APawn->AddMovementInput(FVector WorldDirection, float ScaleValue = 1.0f, bool bForce = false);

其中WorldDirection是方向,ScaleValue是速率倍速,bForce表示是否忽略Controller中的IgnoreMoveInput属性值,强制移动。

7,UCharacterMovementComponent::AddImpulse

void UCharacterMovementComponent::AddImpulse( FVector Impulse, bool bVelocityChange )

AddImpulse 一般用来做投掷、爆炸、击飞等物理效果。添加的是一个瞬间的力,之后就不需要每帧做处理了。

注意:AddImpulse 作用对象一般都是 StaticMeshComponent ,而不能是 CollisionComponent,否则无效。且 StaticMeshComponent 要开启物理:SetSimulatePhysics(true) ,否则也无效。

8,UCharacterMovementComponent::AddForce

void UCharacterMovementComponent::AddForce( FVector Force )

如果想让物体保持移动,需要每帧都执行AddForce()函数,也就说如果加速度是实时变化的,那么就可以用AddForce。 两者的区别:

AddForce accounts for delta time and should be used for applying force over more than one frame, AddImpulse does not account for delta time and should be used for single 'pushes', like from an explosion or being thrown by a player. The reason is that if you use AddForce for throwing or an explosion, how far the object moves depends on the framerate at the exact frame the force was applied, rather than being independent of framerate like AddImpulse is.

9,UKismetSystemLibrary::MoveComponentTo

FLatentActionInfo ActionInfo;

ActionInfo.CallbackTarget= this;

UKismetSystemLibrary::MoveComponentTo(TopDownCameraComponent, Location, Rotation,false, false, 1.f, true, EMoveComponentAction::Move, ActionInfo);

一般用来移动Actor身上的Component,例如CameraComponent等。支持平滑移动,可以设置移动到目标Location、Rotation过程的时长。

ue4移动到一定距离_UE4 移动物体的几种方法相关推荐

  1. ue4移动到一定距离_UE4与Houdini锁链与绳子生成器

    本文为教程记录笔记,分为两部分,均非常简单.(对原著进行了一定的修改): 第一部分主要介绍锁链的生成: 第二部分主要介绍绳子的生成: 本人Houdini萌新,如有书写和理解错误还请大佬扶正: 第一部分 ...

  2. ue4移动到一定距离_UE4移动组件详解(一)——移动框架与实现原理

    原文链接(转载请标明):UE4移动组件详解(一)--移动框架与实现原理_Jerish的博客-CSDN博客​blog.csdn.net 前言 关于UE4的移动组件,我写了一篇非常详细的分析文档.由于篇幅 ...

  3. Unity3D 解决检测碰撞某类物体的一种方法

    目录 前言 启发 实现前的失败案例 实现 总结 思考 后言 前言 2022年十月份报名参加了Unity和Bilibili联合举办的NewbiesJam游戏开发挑战.在处理不同物体之间的碰撞逻辑时,由于 ...

  4. Unity中创建游戏物体的三种方法:

    通过new GameObject(); 通过Instantiate(): 通过GameObject.CreatePrimitive(): 总结: 1)new GameObject()可通过字符串名字来 ...

  5. 【Unity】遍历一个物体的子物体的三种方法

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class SwitchBu ...

  6. [UE4]修改相机裁剪距离

    在UE4中,相机距离一个物体太近,物体就会被裁剪,这个距离是一个全局设定,无法单个相机设置. 项目设置: 转载于:https://www.cnblogs.com/timy/p/9861263.html

  7. Unity 控制物体移动的一些方法

    Unity 控制物体移动的一些方法 开坑, 回头慢慢补. 移动方法的总结. 1, 直接+=Vector3 transform.position += Vector3.forward * moveSpe ...

  8. Unity3d 控制物体transform移动的几种方法

    在Unity开发中我们难免要使用代码控制角色的移动,现将已知的几种方法总结如下: 一.transform.Translate() function Translate (translation : V ...

  9. 水下视觉测量之求摄像机光心到折射面的距离的几种方法

    目录 1.前言 2.基于费马原理求解 3.基于共面约束求解 4.参考文献 1.前言 笔者查阅有关水下视觉测量相关论文,发现在水下模型的建立过程中,总避免不了需要解一个参数,即光心到折射面的距离.通过查 ...

  10. 融合了距离矢量和链路状态两种路由选择协议的优点

    个人电脑开始进入千家万户.与之伴随产生的是电脑的利用问题.越来越多的电脑处于闲置状态,即使在开机状态下中央处理器的潜力也远远不能被完全利用. EIGRP是最典型的平衡混合路由选择协议,它融合了距离矢量 ...

最新文章

  1. 更新假设raw file(audio file format) How to convert endianness
  2. GridView RowDeleting 动态添加行,删除行记录 不删除数据库中记录
  3. 做过《战神》《死亡搁浅》的光子动捕专家,怎么理解动捕?
  4. Mac模拟慢速网络 - Network Link Conditioner 安装和使用
  5. async和await结合读取文件
  6. 【渝粤题库】陕西师范大学292071社会统计学作业(高起专)
  7. promise用法_图解 Promise 实现原理(一)—— 基础实现
  8. 探究光栅图像学之水纹渲染与折射滤镜
  9. 联通、华为双双辟谣:云计算不要太火
  10. java前后端开发文档汇总
  11. 【推荐系统】逻辑回归(LR)在推荐系统中的使用
  12. HTML颜色编码和名称
  13. C语言字母大小写转换
  14. 嵌入式linux时间同步,ntpdate的交叉编译
  15. 中国省市地图json数据包及解析
  16. AT89S52之(定时器2)Timer2
  17. CLIP在视频领域的应用(CLIPBERT,CLIP4Clip,CLIP2Video,CLIPTV)
  18. 郭德纲与姜昆在经济学上的区别(转)
  19. [OpenBMC] 简单解析 smbios-mdr
  20. 宽依赖和窄依赖深度剖析

热门文章

  1. Linux 设备树 status 详解
  2. cocos小小打飞机游戏项目源码资源共享学习
  3. CSP共空间模式详解
  4. 译OpenCms-10.5.3—— 1. 背景话题【Background topics】
  5. mysql计算同比和环比的区别_MySQL实践之同比环比
  6. html3d建模,数百个 HTML5 例子学习 HT 图形组件 – 3D 建模篇
  7. 大型连锁百货运维审计用什么软件好?有哪些功能?
  8. 做互联网最重要的是希望! 【水木周平】
  9. 计算机桌面移动如何解决,【电脑小知识】桌面布局被锁定,图标不能随意移动了怎么办?...
  10. 听听股市的几个出了名的魔咒