JernejHabjan / TrumpDefense2020

Visual representation of RTS game, supported by deep reinforcement learning algorithm Alpha Zero written in python.
https://jernejhabjan.github.io/TrumpDefense2020/
MIT License
6 stars 1 forks source link

Day night cycle NaN #24

Closed JernejHabjan closed 5 years ago

JernejHabjan commented 6 years ago

=== Handled ensure: === Ensure condition failed: !RotationQuat.ContainsNaN() [File:D:\Build++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\Core\Private\Math\UnrealMath.cpp] [Line: 429] Invalid input to FRotator::Quaternion - generated NaN output: X=-nan(ind) Y=nan Z=-nan(ind) W=-nan(ind) Stack: [Callstack] TD2020.exe!FWindowsPlatformStackWalk::StackWalkAndDump() [] [Callstack] TD2020.exe!FDebug::EnsureFailed() [] [Callstack] TD2020.exe!FDebug::OptionallyLogFormattedEnsureMessageReturningFalse() [] [Callstack] TD2020.exe!FRotator::Quaternion() [] [Callstack] TD2020.exe!USceneComponent::MoveComponent() [] [Callstack] TD2020.exe!AActor::SetActorRotation() [] [Callstack] TD2020.exe!ADayNightCycle::Tick() [c:\2018-08-04 16-32\trumpdefense2020\td2020\source\td2020\private\enviroment\daynightcycle.cpp:283] [Callstack] TD2020.exe!AActor::TickActor() [] [Callstack] TD2020.exe!FActorTickFunction::ExecuteTick() [] [Callstack] TD2020.exe!FTickFunctionTask::DoTask() [] [Callstack] TD2020.exe!TGraphTask::ExecuteTask() [] [Callstack] TD2020.exe!FNamedTaskThread::ProcessTasksNamedThread() [] [Callstack] TD2020.exe!FNamedTaskThread::ProcessTasksUntilQuit() [] [Callstack] TD2020.exe!FTickTaskSequencer::ReleaseTickGroup() [] [Callstack] TD2020.exe!FTickTaskManager::RunTickGroup() [] [Callstack] TD2020.exe!UWorld::RunTickGroup() [] [Callstack] TD2020.exe!UWorld::Tick() [] [Callstack] TD2020.exe!UGameEngine::Tick() [] [Callstack] TD2020.exe!FEngineLoop::Tick() [] [Callstack] TD2020.exe!GuardedMain() [] [Callstack] TD2020.exe!GuardedMainWrapper() [] [Callstack] TD2020.exe!WinMain() [] [Callstack] TD2020.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283] [Callstack] KERNEL32.DLL!UnknownFunction [] [Callstack] ntdll.dll!UnknownFunction []

if (FMath::IsNaN(SunPitch) || FMath::IsNaN(SunYaw)) {
    if (GEngine)
        GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, TEXT("Sun Pitch or Sun yaw is nan"));
}
else {
    SunLight->SetActorRotation(FRotator(SunPitch, SunYaw, 0.0f));
}

// call of Sky sphere function
Valid = SkySphere->UpdateSunDirection();

MoonTrajectory();
if (FMath::IsNaN(MoonPitch) || FMath::IsNaN(MoonYaw)) {
    if (GEngine)
        GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, TEXT("Moon Pitch or Moon yaw is nan"));
}
else {
    MoonLight->SetActorRotation(FRotator(MoonPitch, MoonYaw, 0.0f));
}

FLatentActionInfo LatentInfo = FLatentActionInfo();
LatentInfo.CallbackTarget = this;
if (FMath::IsNaN(MoonPitch) || FMath::IsNaN(MoonYaw)) {
    if (GEngine)
        GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, TEXT("Moon Pitch or Moon yaw is nan"));
}
else {
    UKismetSystemLibrary::MoveComponentTo(Scene, Scene->GetComponentLocation(), FRotator(MoonPitch, MoonYaw, 0.0f), false, false, 0.0f, true, EMoveComponentAction::Move, LatentInfo);
}
// change material
if (FMath::IsNaN(SunPitch)) {
    if (GEngine)
        GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, TEXT("Sun Pitch is nan"));
}
else {
    MoonMaterialInstance->SetVectorParameterValue("MoonColor", SkyColor->GetLinearColorValue(UKismetMathLibrary::MapRangeUnclamped(SunPitch, 0.0f, -18.0f, 0.0f, 1.0f)));

}