Главная » Статьи » Создание карт » Обучение Разное

Случайные местности геометрии

07-12-2016Хорошо, так мы хотим еще случайности в нашей карте. Ну, есть способ сделать свой местности формироваться несколько наугад по каждому экземпляру игры. Идея проста: выполнить несколько случайных постоянной деформации местности. Нам понадобится регионе, чтобы изменения в силе и что будет довольно много всего, если оно будет один выстрел карте.
Переменные:
TheRegion <gen> - региона, которые будут деформированы

TerrainGenerationSimple
События
Карта инициализации
Условия
Действия
Для каждого из них (Integer) от 0 до 459, делать (Действия)
Loop - Действия
Окружающая среда - Создать 0,01 второй деформации кратер на постоянных (Random точки TheRegion <gen>) с радиусом (Random действительное число между 500,00 и 1100,00) и глубины (Random действительное число между -40,00 и 40,00)
Примечание 1: Радий и глубины также случаен. Obviosly вы можете использовать различные диапазоны для них. Мне советовать не преувеличивать их, как это может привести к неестественным выглядит генерируемого местности ('шипами, острыми краями, слишком глубокие впадины и т.д.). Возможно, вы захотите иметь глубокие долины (это выглядит здорово, если пользовательский ударов в туман, и вы можете реально ощутить расстояние), помимо общих местности. В этом случае просто скопировать на курок, и дать несколько попыток, с другими параметрами (например, только отрицательные глубинах при высоких значениях).

Примечание 2: количество деформации полностью зависит от размера региона и степень случайности мы хотим достичь (я бы советовал 300 + в общем случае).

Примечание 3: триггер выполняется на карте инициализации, так что это скажется на времени загрузки (в некоторых случаях даже очень). На мой нескольких карт я сделал это огонь во время игры время периодически в течение определенного количества итераций и со случайными время деформации (а не 0,01 сек ^ ^). Игроки получили возможность увидеть, как на самом деле местности формируется с течением времени (наряду с деревьев медленно растущих из земли, участки травы выкатились, а также мусора, цветы, ракушки и другие вещи ). Так что учтите это как вариант.

Примечание 4: Внешняя часть области (около среднего радиуса длина от края) будет меньшей степени, чем другие части региона.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Итак, теперь у нас есть хороший местности. К сожалению, когда мы сохранить игру и загрузить ее в дальнейшем, все деформации 'забыли'. Если мы хотим быть более профессиональными, мы должны решить эту проблему. Еще раз, концепция проста: мы будем сохранять все параметры в переменных (массивов из них).

Мы должны изменить местности генератора:
Переменные:
NumberOfDeformations - (целое) пояснений
TheRegion <gen> - региона, которые будут деформированы
RandomPoint - (точка) - положение в настоящее время применяется деформации
RandomRadius - (реальный) - радиус деформации текущего
RandomDepth - (реальный) - глубина текущего деформации
Очки - (массив точек) - сохранение всех позиций здесь
Радий - (массив чисел) - сохранение всех радиусов здесь
Глубина - (массив чисел) - сохранение всех глубинах здесь

TerrainGeneration
События
Карта инициализации
Условия
Действия
Установить NumberOfDeformations = 460
Для каждого (целое число) от 0 до (NumberOfDeformations - 1) не (Действия)
Loop - Действия
Установить RandomPoint = (Random точки TheRegion <gen>)
Установить RandomRadius = (Random действительное число между 500,00 и 1100,00)
Установить RandomDepth = (Random действительное число между -40,00 и 40,00)
Установить Points [(целое число)] = RandomPoint
Установить Радий [(Integer)] = RandomRadius
Установить Глубина [(Integer)] = RandomDepth
Окружающая среда - Создать 0,01 второй деформации кратера Постоянного на RandomPoint с радиусом RandomRadius и глубина RandomDepth
Пользовательский сценарий: вызвать RemoveLocation (udg_RandomPoint)
Примечание 5: Вы не можете предсказать размер массивов, они могли бы размер 4, и даже если вам нужен доступ к 4735th позиции, Warcraft будет справиться с этим. Тем не менее, массивы имеют предел возможностей 8192, так что не установить NumberOfDeformations более 8192 .

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Теперь, вызвать регенерацию природный ландшафт после загрузки сохраненной игры:
TerrainReGeneration
События
Игра - сохранить игру загружается
Условия
Действия
Для каждого из них (Integer) от 0 до (NumberOfDeformations - 1), делать (Действия)
Loop - Действия
Окружающая среда - Создать 0,01 второй деформации кратера постоянных в точках [(Integer)] с радиусом Радий [(Integer)] и глубины глубин [(Integer)]
Если работать только штрафом. Вот и все.
Получайте удовольствие с Вашей карты рандомизированных.



Категория: Обучение Разное | Добавил: Адмирал (07-12-2016 в 15:33:15)
Просмотров: 893 | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Рейтинг@Mail.ru
Яндекс.Метрика

Copyright © 2010-2017
Вакансии :: Контакты
Мобильная версия сайта