Дополнительные ребра образуются между вершинами, когда я перемещаю камеру в игре или в редакторе - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь создать настраиваемый процедурный ландшафт в нереальном движке 4 Для реализации этого я использую этот класс https://docs.unrealengine.com/en-US/API/Plugins/ProceduralMeshComponent/UProceduralMeshComponent/index.html и для создания приятного шума по оси Z я использую этот плагин https://github.com/devdad/SimplexNoise из этой библиотеки, единственный метод, который я использую: USimplexNoiseBPLibrary::SimplexNoise2D Как реализовать весь процесс, вдохновленный этим видео: https://www.youtube.com/watch?v=IKB1hWWedMk Я попытаюсь описать поток всего процесса:

  1. определить количество вершин в строке и столбце
  2. перебирать строку и столбец и создавать векторы вершин в (x масштаб, y масштаб, FMath :: Lerp ((- maxFallOff, maxHeight, USimplexNoiseBPLibrary :: SimplexNoise2D (x perlinScale, y * 1019) * perlinScale)))
  3. генерировать треугольники с помощью этого метода: https://docs.unrealengine.com/en-US/API/Plugins/ProceduralMeshComponent/UKismetProceduralMeshLibrary/ConvertQuadToTri-/index.html
  4. генерировать UV

Вот и все, на данный момент Я могу сказать, что все работает нормально, но есть небольшая проблема, когда я перемещаю камеру в редакторе или в игре, на мне sh появляются лишние края. Я также записал видео, чтобы показать, о чем я говорю. https://youtube.com/watch?v=_B9Fxg5oZcE края, о которых я говорю, появляется в 00:05 секунды

Код написан на C ++, я мог бы опубликовать код здесь, но я думаю, что код здесь не проблема, я думаю, что что-то происходит во время выполнения, пока Я перемещаю камеру то, чего не знаю ... Могу сказать заранее если вам интересно, что я не манипулирую мной sh на событии Tick

1 Ответ

0 голосов
/ 20 июня 2020

Проблема решена ... На самом деле, похоже, что в моем коде была ошибка, я передавал слишком много точек треугольника методу CreateMeshSection_LinearColor, что было проблемой. В любом случае спасибо за внимание Ура

...