Хоча інші відповіді тут справді хороші для створення видів статичних ландшафтів, які б працювали на цю конкретну потребу. Існують і інші методи, які люди, які стикаються з цим питанням, можуть шукати, якщо вони хочуть створити пейзажі, які змінюються з часом або здаються набагато реалістичнішими. Ви можете слідувати цій методиці.
На відміну від інших відповідей, ви починаєте це з абсолютно порожньої карти. Почніть з того, що ви вважали б рівнем моря. Використовуйте Perlin Noise, щоб додати дуже незначні зміни, якщо у вас 256 можливих підйомів, не змінюйте більше 3-5 в будь-якому напрямку. Це будує перші кілька мільярдів років вашого ландшафту без необхідності насправді запускати симуляцію.
Тектоніка пластин
Розділіть карту по прямих або вигнутих лініях, щоб створити таблички, чим детальніше форми плит, тим цікавіше буде ваш пейзаж. Тримайте їх великими. Дайте кожній тарілці напрямок, швидкість. Протягом заданих часових рамків плавно переміщуйте пластини по карті, перетягуючи над собою всі плитки.
Коли дві плити перехрестяться, зробіть вибір, яка буде переходити та під яку перейде, цей вибір може бути випадковим. Плитки на табличках, позначених під, миттєво зменшуються у висоту на 5 кроків. Після того, як табличка буде позначена над або під, всі майбутні взаємодії з табличками будуть дотримуватися цих правил:
- Там, де позначена плита перетинає непризначену тарілку, непризначена плита набуває протилежний тип. (Таким чином, UD-пластини стають внизу при перетині через.)
- Там, де над плитою знаходиться над плита, всі ці плитки рухаються вгору на 0-1 східчасті кроки, а плитки йдуть по шляху над плитою.
- Там, де над плитою перетинається плита, всі ці плитки рухаються вгору на 1-2 сходинки, а плитки в перехресті над областю більше не переносяться.
- Якщо під плитою перетинається плита під плитою, будь-яка плитка в районі з висотою понад 66% для обох плит у перехресному регіоні рухається вгору на 1-3 сходинки (наче за вулканічною активністю це призведе до отримання островів протягом достатнього часу ) і плитка в цій області припиняє дрейфувати.
Усі пластини, які перетинають повільно, на 20% від поточної швидкості кожного кроку. Для додаткового реалізму додайте довільну зміну напрямку руху від 10 до 10% на кожному кроці.
Після виконання потрібної кількості кроків. Напевно, 5-10 - це багато. Будь-яку плитку, де немає жодної плити, слід опустити до найнижчого існуючого рівня.
Великий чи малий?
Цю карту можна використовувати як є, або розширити, щоб створити набагато більшу карту, розбивши її на шматки плитки (клітинки) 4X4 та розширивши ці секції на основі їх індивідуальних висот. Розгляньте висоту кожної клітини як точку та створіть плавну градацію на більшій карті між цими точками. Отже, якщо більша карта 40X40 замість 4X4, а точка (0,0) дорівнює 10, а точка (0,1) - 1, плитки на більшій карті між ними становлять 10,9,8,7,6 , Висотою 5,4,3,2,1. Далі можна додати шум Perlin для знебарвлення схилів. По всьому цьому техніка масштабування схожа на алгоритм Діаманта Квадрат .
Вода
Для імітації річок та озер, океанів та водних столів. Я вважаю за краще використовувати стільникові автомати .
Висоти стають поплавцями або розширюються діапазони інтертів, щоб забезпечити тонше зернисте відстеження. Водні клітини мають значення насичення, скажімо, в інтервалі 1-256. Карти повинні починатися рівномірно. Вам потрібно буде пограти з цифрами для ваших індивідуальних розмірів карти, однак, як правило, ви будете дотримуватися таких правил:
- Якщо сусідська клітина більш насичена, збільшуйте насиченість і набирайте висоту.
- Якщо сусідська клітина менш насичена, знижуйте насиченість і втрачайте висоту.
Зробіть цю перевірку для кожної сусідньої комірки. Виконайте достатню кількість кроків. Якщо ви хочете, ви можете додати температуру до цього моделювання, змінивши кількість втраченого / набраного насичення на цю температуру. Ви також можете змінити його на основі висоти. Мають утворюватися природні озера та річки. Деякі потраплять в океан. (Океан, ймовірно, не заповниться жодним показником, але ви позначите все, що знаходиться під рівнем моря, щоб воно все одно було наповнене водою.)
Ви можете зберігати дані про температуру і насиченість, щоб використовувати їх, як і в інших відповідях, для створення біомів. Вони повинні бути ВІДМОВИ більш точними та цікавими. З сніжними біомами на полюсах і гарячими посередині (якщо ви використовуєте плавний градуйований список температур.)
Ви також можете імітувати вітер, а отже, зміни температури залежно від висоти. Ви можете переходити назад і назад між запуском температурного моделювання та моделюванням води, якщо хочете. Однак я нічого не будував, використовуючи зміни температури, тому не буду коментувати, як це зробити.
Еволюціонуючі пейзажі
Якщо ви будете тримати моделювання для землі, води та тепла навколо та різко зменшувати їх вплив, а також зупиняти рух плит, ви можете продовжувати змінювати всі ці показники з часом. Я б не запускав обчислення дуже часто, але ви можете отримати карту світу, яка реагує на зміни таким чином.
Висновок
Незважаючи на те, що такі методи набагато більше задіяні, вони дають набагато більш реалістичні та розвиваючі ефекти. Взяти це за те, що воно варте?