Если вы используете реализацию марширующих кубов на основе таблицы поиска триангуляции, вы можете сохранить нормальный вектор вдоль грани в той же записи таблицы. Видео Себастьяна Лейга упоминает использование такой таблицы. Я не совсем уверен, откуда он его скачал, но он включает его в свой репозиторий, лицензированный MIT. Видео , Таблица (РЕДАКТИРОВАТЬ: порядок одной вершины треугольника может быть достаточно для определения его направления, и вам может не потребоваться явный вектор нормали)
Также Heads Up: Старый шум Perlin имеет тенденцию быть заметно выровненным по сетке. В большинстве случаев я вижу, что он используется, кажется, потому что библиотека предоставила его или потому что это было упомянуто в учебнике, а не потому, что это был действительно лучший выбор для приложения. Шумы симплексного типа обычно дают меньше выровненных по сетке результатов. Импортировать внешний шум в Unity просто. Похоже, что вам может понадобиться в любом случае, если ваша реализация зависит от 3D-шума. Вот шумы из моего репо, которые используют открытую реализацию для 3D, адаптированную таблицу градиентов и повернутые оценщики, которые хороши для местности . Есть также много других вариантов, хотя они могут не иметь этих аспектов, в частности. Обратите внимание, что диапазон составляет [-1,1], а не [0,1], поэтому, если ваш текущий шум равен [0, 1], вам может потребоваться сделать шум (...) * 0,5 + 0,5, чтобы исправить это. Выберите версию 2F, если у вас много октав, или версию 2S, если у вас одна октава или вы делаете ребристый шум.