【发布时间】:2019-09-16 14:40:19
【问题描述】:
我不明白为什么我的太阳在地球上被万向节锁定在 90*。
在.h文件中
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="World Environment")
ADirectionalLight *SunLight;
在我移动太阳的 .cpp 中
float p = totalRealTimeSecondsPerGameDay / DeltaTime;
float r = 360 / p;
FRotator newRot;
newRot.Pitch = r;
newRot.Roll = 0.0f;
newRot.Yaw = 0.0f;
SunLight->AddActorLocalRotation(newRot);
效果非常好......直到达到 90* 或 -90*。
我很迷茫。
编辑:为了澄清这是一个奇怪的错误,或者我只是遗漏了一些东西,我尝试在蓝图中复制我的 C++ 以准确复制该过程,但它也停滞在 90 和 -90。
我什至尝试使用 Quats,因为通过我的搜索,我看到了很多建议。
FQuat quatRot = FQuat(newRot);
SunLight->AddActorLocalRotation(quatRot, false, 0, ETeleportType::None);
【问题讨论】: