UE4 Actor平滑移动的实现

众所周知,SetActorLocationAndRotation及其类似的接口可以设置Actor在游戏中的位置
,但它不是平滑的,而是跳变的,也就是说游戏下一帧会直接把Actor绘制到目标位置,跟瞬移一样。

那么如何要让它平滑地,smoothly移动到目标位置,就像摇臂摄像机一样呢?

实现方法(目前我只知道一种):
一、在 Tick 函数中计算插值并设置。

方法一

1. 实现

在这里插入图片描述

只需要确定几样东西:

  • Tick 函数
  • 待移动的 Actor(上图中的 ActorToTick)
  • 目标变换(上图中的 m_TargetTransform)

2. 原理

FMath::VInterpToFMath::RInterpTo 计算出变换和旋转的插值(一个很小的步进值。对,就算再丝滑它的每次移动也是离散的!不是游戏引擎欺骗了你,而是硅片晶振太无能,只能发出离散的脉冲!)。然后调用刚刚提到的 SetActorLocationAndRotation。每次Tick都会移动一点,在高帧率的条件下看上去就会无比丝滑。

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值