步骤
- 1、UE4Actor修改面朝向
- 2、让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);