UE4中使用c++ 修改Actor面朝向、绕固定轴旋转


最近在想在地球上放置一个面,并让面绕其世界坐标位置旋转,可使用以下方法实现

1、UE4Actor修改面朝向

在UE中新加入的面,其上向量为(0,0,1),要将其放在球面(x,y,z)处,且与地面平行,可通过以下代码实现

//上向量为Z轴,所以计算从Z轴到ActorLocation的旋转
FRotator rotator = UKismetMathLibrary::MakeRotFromZ(FVector(x,y,z));
LuQiaoActor->SetActorRotation(rotator);

2、让Actor围绕其上向量旋转

//通过步骤1,面已经放置到xyz处,并与地面平行,
FVector upVector = Actor->GetActorUpVector();
//在Tick函数中使其围绕上向量旋转1度
FRotator rotator = UKismetMathLibrary::RotatorFromAxisAndAngle(upVector, 1);
Actor->AddActorWorldRotation(rotator);

猜你喜欢

转载自blog.csdn.net/xwb_12340/article/details/123095262
今日推荐