Почему Unreal Engine иногда просматривает fga файлы по-другому? - PullRequest
0 голосов
/ 09 марта 2019

Я обнаружил, что Unreal Engine имеет небольшое несоответствие и не может понять, как он работает. Моя установка заключается в том, что я пытаюсь визуализировать предварительно созданный файл ASCII Fluid Grid (.fga) в Unreal Engine. В некоторых случаях результат не соответствует предполагаемому, а векторы немного некорректны. Позвольте мне привести пример:

Возьмите этот простой файл .fga:

2.0, 2.0, 2.0,
-1.0, -1.0, -1.0,
1.0, 1.0, 1.0,
1.0, 1.0, 1.0,
-1.0, 1.0, 1.0,
1.0, -1.0, 1.0,
-1.0, -1.0, 1.0,
1.0, 1.0, -1.0,
-1.0, 1.0, -1.0,
1.0, -1.0, -1.0,
-1.0, -1.0, -1.0

В Blender (с помощью этого дополнения (благодаря пользователю Gathub isathar)) это поле имеет все 8 векторов, указывающих внутрь к источнику. Каждая желтая точка представляет хвост соответствующего вектора:

BlenderInward

В Unreal поле выглядит так же, как и ожидалось (извините за низкое качество, Unreal не показывает фактический размер векторов):

enter image description here

Положительные оси x, y и z окрашены в красный, зеленый и синий цвета соответственно.

Однако, с этим немного большим полем:

4.0000000,4.0000000,4.0000000,
-5.0000000,-5.0000000,-5.0000000,
5.0000000,5.0000000,5.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,
-0.0000000,0.0000000,5.0000000,
-0.0000000,5.0000000,0.0000000,
-0.0000000,0.0000000,-5.0000000,
-0.0000000,-5.0000000,0.0000000,

В Blender поле имеет одинаковое направление для каждого вектора в каждом срезе плоскости yz, например:

BlenderDirs

Однако в Unreal кажется, что направления были несколько изменены, и срезы с постоянным направлением переместились в плоскости xz. Направления были отмечены для большей ясности:

UEDirs

Одна вещь, которую я заметил, это то, что сами оси, похоже, меняются местами между Blender и Unreal. Из-за этого я пробовал зеркально отражать плоскости xz и yz. Однако это не решило проблему и фактически привело к некорректности первого примера. Поэтому мой основной вопрос , почему возникает это несоответствие при импорте файла .fga и , это связано с тем, как Unreal Engine предварительно обрабатывает эти файлы перед отображением? В качестве примечания, файлы были генерируется с использованием Python 3, если это имеет значение.

Спасибо!

...