您的位置:首页 > 编程语言 > C语言/C++

UE4简单C++代码实现物体每帧转动

2018-02-04 21:58 911 查看


简单的代码:



#include "Engine/World.h"

// Called every frame
void UChairComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
{
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);

TurnChair();
}

void UChairComponent::TurnChair()
{
AActor* Chair = GetOwner();

FRotator Start = Chair->GetActorForwardVector().Rotation();
FRotator End = FRotator(0.0f, 60.0f, 0.0f);

float Change = End.Yaw - Start.Yaw;

float Direction = FMath::Clamp<float>(Change, -1, 1);

//终点的Yaw值 = 方向 * 速度 * 每帧所用时间 + 开始的Yaw值
float NewRoattion = Direction * 20.0f * GetWorld()->DeltaTimeSeconds + Start.Yaw;

Chair->SetActorRelativeRotation(FRotator(0.0f, NewRoattion, 0.0f));

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: