Получить -nan (ind) при перемещении игрового персонажа в C ++C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Получить -nan (ind) при перемещении игрового персонажа в C ++

Сообщение Anonymous »

Я разрабатываю небольшой игровой двигатель и добавил несколько вычислений для перемещения и вращения персонажа: < /p>
#include

#define WIN32_LEAN_AND_MEAN
#include "Windows.h"

#include
#define GLM_ENABLE_EXPERIMENTAL
#include

bool g_Running = true;

float m_DeltaTime = 0.f;
float m_LastFrame = 0.f;

float lastX = 0.f;
float lastY = 0.f;

float Xoffset = 0.f;
float Yoffset = 0.f;
bool mouseMoving = false;
bool bWalking = false;

struct PlayerTransform
{
glm::quat rotation;
glm::vec3 position;
} g_Transform;

glm::quat RotateTowards(const glm::quat& from, const glm::quat& to, float maxAngleDegrees);
void MoveCharacter();

int main()
{
while (g_Running)
{
MoveCharacter();
}

return 0;
}

glm::quat RotateTowards(const glm::quat& from, const glm::quat& to, float maxAngleDegrees)
{
if (from == to)
return to;

glm::vec3 fromVector = from * glm::vec3(0.f, 0.f, 1.f);
glm::vec3 toVector = to * glm::vec3(0.f, 0.f, 1.f);

if (glm::length(fromVector) 0.f)
targetRotation = glm::quatLookAtLH(moveDir, glm::vec3(0.f, 1.f, 0.f));
}

if (targetRotation != g_Transform.rotation)
g_Transform.rotation = RotateTowards(g_Transform.rotation, targetRotation, rotSpeed);

g_Transform.position += velocity * m_DeltaTime * moveSpeed;

auto eulerRotation = glm::eulerAngles(g_Transform.rotation);
printf("Rotation (%f, %f, %f)\n", eulerRotation.x, eulerRotation.y, eulerRotation.z);
}
< /code>
Но когда я перемещаю его немного поворота Решите эту проблему?>

Подробнее здесь: https://stackoverflow.com/questions/794 ... acter-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»