场景中所有可操作的物件都是基于actor,类似unity的game object.
关键方法:
GetActorLocation()
GetActorScale()
Tick做actor每帧逻辑操作
// Called every frame
void AFloatingActor::Tick( float DeltaTime )
{
Super::Tick( DeltaTime );
FVector newPos = GetActorLocation();
float delatMove = FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(DeltaTime);
newPos.Z += delatMove * 3;
SetActorLocation(newPos);
FVector newScale = GetActorScale();
newScale.Z = FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(DeltaTime);
SetActorScale3D(newScale);
RunningTime += DeltaTime;
}
FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(DeltaTime)实现了重力效果运动。
本文介绍在 Unreal Engine 4 中使用 Actor 实现动态位置及缩放效果的方法。通过继承 AFloatingActor 类并在 Tick 函数中更新位置与缩放属性,利用 FMath::Sin 实现了具有重力效果的运动。
2288

被折叠的 条评论
为什么被折叠?



