Правильные функции плотности для местности на основе вокселей?

StackOverflow https://stackoverflow.com/questions/9345812

Вопрос

Мне удалось внедрить алгоритм марширующих кубов в C#. До сих пор я попробовал алгоритм, чтобы отобразить сферу. Это просто, потому что функция плотности не очень сложна для кода.

Но теперь я хочу получить алгоритм, чтобы пойти дальше и сделать несколько интересных мест для игр. Поэтому мне понадобятся правильные функции плотности для этой задачи. Первое, что приходит к моей голове, это объемный шум перлана. Это нормально, но я ищу местность без выпуклой формы, я имею в виду, без пещер и подобных геометрий к настоящему времени.

Хорошо, я знаю, что для этого карта простой высоты может выполнять работу, но я хочу, чтобы регенерированная воксельская местность. Какой тип функции плотности o Pseudocode мне понадобится их реализовать?

Это было полезно?

Решение

Вы можете легко преобразовать карту высоты в местность вокселей. Каждый пиксель в вашей высоте соответствует колонке вокселей в вашем мире вокселей. Для данного пикселя в высоте прочтите высоту. Затем итерация над каждым вокселем в соответствующем столбце и установите его на «твердый», если он меньше, чем ваша эталонная высота или «пустое», если это больше, чем ваша эталонная высота.

Вот некоторые образец кода с использованием Поливокс библиотека.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top