У меня есть простой пример:
FVector TransformTest()
{
FVector translation;
{
translation.X = 0.0f;
translation.Y = 20.0f;
translation.Z = 0.0f;
}
FRotator rotation;
{
rotation.Roll = 0.0f;
rotation.Pitch = 0.0f;
rotation.Yaw = 45.0f;
}
FVector scale;
{
scale.X = 2.0f;
scale.Y = 1.0f;
scale.Z = 1.0f;
}
FTransform test_transform = FTransform(rotation, translation, scale);
return (test_transform.Inverse() * test_transform).GetTranslation();
}
И эта функция вернет вектор:
[X = -10,0, Y = -10,0, Z = 0,0] .
Ожидается:
[X = 0,0, Y = 0,0, Z = 0,0] .
Я выполняю преобразование, например, LocalToWorld затем WorldToLocal , те, кого я начинаю из некоторого пространства и должен вернуться обратно в это пространство (с небольшими неточностями), но я заканчиваю свой путь в странном пространстве далеко от источника.
Я отправил, как мне кажется, ошибку в Epic и получил ответ:
Здравствуйте,
Спасибо за отправку сообщения об ошибке,однако в настоящее время мы считаем, что описываемая вами проблема на самом деле не является ошибкой в Unreal Engine, и поэтому мы не можем предпринять дальнейших действий по этому вопросу.
Вот ветка форума UE4.
Правильно ли это поведение?
Этоошибка или нет?