Я деякий час працюю над 3D-процедурним світом і хочу почати додавати печерні системи. В даний час я використовую 2D / 3D Perlin шум для генерації місцевості в поєднанні з маршовими кубиками для більш гладкої місцевості. Я просто заїдаюся, коли йдеться про довгі печери, що з'єднуються між собою.
Я сподіваюся отримати щось більше, як печерні системи Minecraft. Вони, здається, дуже пов’язані між собою, відводяться навмання майже в будь-якому напрямку, і майже будь-яка точка печери мала б досить круговий вигляд з досить рівним радіусом на всьому протязі (не найкраща редакція, але не зовсім впевнений, як інакше це поставити) .
Найбільшою проблемою для створення печер, як я хочу, є те, що я хочу генерувати світ на льоту. Наразі світ генерується шматочком, починаючи з гравця, і звідти він генерує назовні. Я НЕ хотів би генерувати будь-який світ і потім викопати печери, використовуючи мандрівний зразок, стільникові автомати та ін.
Чи є якісь відомі алгоритми, які можна використовувати для цього? Якщо так, чи хоче хтось поділитися тим, як вони роблять щось подібне? Я дуже вдячний за будь-яку допомогу.
Хороший приклад: