XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Ландшафт
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
ScorpioT1000
Работаем
offline
Опыт: отключен
А так ты не видишь? и нафига юзать какието галимые менеджеры если в фотошопе гораздо круче придумали метод изменения размера нежели смазывание.

ScorpioT1000 добавил:
Цитата:
А к тому, что автоматизация нудных процессов никому еще не вредила.

в фотошопе можно устроить автоматизированные действия, я таким способом создавал DISBTN иконки для 300 BTN =)
Старый 21.04.2008, 01:41
Doberman341
Базару нет...
offline
Опыт: 831
Активность:
Цитата:
в фотошопе можно устроить автоматизированные действия


Я знал, что ты меня поймешь! =)
Прогу эту я, наверно, сам напишу.
Старый 21.04.2008, 02:26
Rvn
Skillful level designer
offline
Опыт: 15,907
Активность:
Doberman341 лучше сделай программу для создания симметрии. Это будет полезно.
Старый 21.04.2008, 11:48
ScorpioT1000
Работаем
offline
Опыт: отключен
Rvn в WE выделяешь и копируешь)
Старый 21.04.2008, 13:42
Rvn
Skillful level designer
offline
Опыт: 15,907
Активность:
ScorpioT1000 я имею ввиду зеркальность )
Старый 21.04.2008, 16:08
xlow

offline
Опыт: 702
Активность:
Генератор ландшафта создан уже давно.
Старый 24.04.2008, 12:23
Rvn
Skillful level designer
offline
Опыт: 15,907
Активность:
xlow ага? дай ка ссылочку
Старый 24.04.2008, 14:34
xlow

offline
Опыт: 702
Активность:
Да легко сеяйчас найду на винте пылился.

xlow добавил:
Вот те простейший генератор. Полностью на гуи
Код:
Terrain Generator
    Events
        Time - Elapsed game time is 1.00 seconds
    Conditions
    Actions
        For each (Integer Loop) from 1 to (Integer(((Width of (Playable map area)) / (Real(GeneratorSeed))))), do (Actions)
            Loop - Actions
                For each (Integer A) from 1 to (Integer(((Height of (Playable map area)) / (Real(GeneratorSeed))))), do (Actions)
                    Loop - Actions
                        Set TempPoint = (Point(((Real(Loop)) x (Real(GeneratorSeed))), ((Real((Integer A))) x (Real(GeneratorSeed)))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Terrain type at TempPoint) Equal to Lordaeron Summer - Dirt
                                (AffectedRegion contains TempPoint) Equal to True
                            Then - Actions
                                Environment - Change terrain type at TempPoint to TerrainTypes[(Random integer number between 1 and 5)] using variation -1 in an area of size (Random integer number between 1 and 5) and shape Circle
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)
                        Set TempPoint = (Point(((Real(Loop)) x (-1.00 x (Real(GeneratorSeed)))), ((Real((Integer A))) x (Real(GeneratorSeed)))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Terrain type at TempPoint) Equal to Lordaeron Summer - Dirt
                                (AffectedRegion contains TempPoint) Equal to True
                            Then - Actions
                                Environment - Change terrain type at TempPoint to TerrainTypes[(Random integer number between 1 and 5)] using variation -1 in an area of size (Random integer number between 1 and 5) and shape Circle
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)
                        Set TempPoint = (Point(((Real(Loop)) x (Real(GeneratorSeed))), ((Real((Integer A))) x (-1.00 x (Real(GeneratorSeed))))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Terrain type at TempPoint) Equal to Lordaeron Summer - Dirt
                                (AffectedRegion contains TempPoint) Equal to True
                            Then - Actions
                                Environment - Change terrain type at TempPoint to TerrainTypes[(Random integer number between 1 and 5)] using variation -1 in an area of size (Random integer number between 1 and 5) and shape Circle
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)
                        Set TempPoint = (Point(((Real(Loop)) x (-1.00 x (Real(GeneratorSeed)))), ((Real((Integer A))) x (-1.00 x (Real(GeneratorSeed))))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Terrain type at TempPoint) Equal to Lordaeron Summer - Dirt
                                (AffectedRegion contains TempPoint) Equal to True
                            Then - Actions
                                Environment - Change terrain type at TempPoint to TerrainTypes[(Random integer number between 1 and 5)] using variation -1 in an area of size (Random integer number between 1 and 5) and shape Circle
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)


Код:
Destructable Generator
    Events
        Time - Elapsed game time is 1.25 seconds
    Conditions
    Actions
        For each (Integer Loop) from 1 to (Integer(((Width of (Playable map area)) / (Real(GeneratorSeed))))), do (Actions)
            Loop - Actions
                For each (Integer A) from 1 to (Integer(((Height of (Playable map area)) / (Real(GeneratorSeed))))), do (Actions)
                    Loop - Actions
                        Set TempPoint = (Point(((Real(Loop)) x (Real(GeneratorSeed))), ((Real((Integer A))) x (Real(GeneratorSeed)))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Random integer number between 1 and 100) Less than or equal to 15
                            Then - Actions
                                Set TempGroup = (Units within 400.00 of TempPoint)
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Number of units in TempGroup) Equal to 0
                                        (Terrain type at TempPoint) Not equal to Lordaeron Summer - Rock
                                        (AffectedRegion contains TempPoint) Equal to True
                                    Then - Actions
                                        Destructible - Create a Destructables[(Random integer number between 1 and 5)] at TempPoint facing (Random angle) with scale 1.00 and variation 0
                                    Else - Actions
                                Custom script:   call DestroyGroup(udg_TempGroup)
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)
                        Set TempPoint = (Point(((Real(Loop)) x (-1.00 x (Real(GeneratorSeed)))), ((Real((Integer A))) x (Real(GeneratorSeed)))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Random integer number between 1 and 100) Less than or equal to 15
                            Then - Actions
                                Set TempGroup = (Units within 400.00 of TempPoint)
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Number of units in TempGroup) Equal to 0
                                        (Terrain type at TempPoint) Not equal to Lordaeron Summer - Rock
                                        (AffectedRegion contains TempPoint) Equal to True
                                    Then - Actions
                                        Destructible - Create a Destructables[(Random integer number between 1 and 5)] at TempPoint facing (Random angle) with scale 1.00 and variation 0
                                    Else - Actions
                                Custom script:   call DestroyGroup(udg_TempGroup)
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)
                        Set TempPoint = (Point(((Real(Loop)) x (Real(GeneratorSeed))), ((Real((Integer A))) x (-1.00 x (Real(GeneratorSeed))))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Random integer number between 1 and 100) Less than or equal to 15
                            Then - Actions
                                Set TempGroup = (Units within 400.00 of TempPoint)
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Number of units in TempGroup) Equal to 0
                                        (Terrain type at TempPoint) Not equal to Lordaeron Summer - Rock
                                        (AffectedRegion contains TempPoint) Equal to True
                                    Then - Actions
                                        Destructible - Create a Destructables[(Random integer number between 1 and 5)] at TempPoint facing (Random angle) with scale 1.00 and variation 0
                                    Else - Actions
                                Custom script:   call DestroyGroup(udg_TempGroup)
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)
                        Set TempPoint = (Point(((Real(Loop)) x (-1.00 x (Real(GeneratorSeed)))), ((Real((Integer A))) x (-1.00 x (Real(GeneratorSeed))))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Random integer number between 1 and 100) Less than or equal to 15
                            Then - Actions
                                Set TempGroup = (Units within 400.00 of TempPoint)
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Number of units in TempGroup) Equal to 0
                                        (Terrain type at TempPoint) Not equal to Lordaeron Summer - Rock
                                        (AffectedRegion contains TempPoint) Equal to True
                                    Then - Actions
                                        Destructible - Create a Destructables[(Random integer number between 1 and 5)] at TempPoint facing (Random angle) with scale 1.00 and variation 0
                                    Else - Actions
                                Custom script:   call DestroyGroup(udg_TempGroup)
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)

Код:
Terrain Generator Height
    Events
        Time - Elapsed game time is 1.00 seconds
    Conditions
    Actions
        For each (Integer Loop) from 1 to (Integer(((Width of (Playable map area)) / (Real(GeneratorSeed))))), do (Actions)
            Loop - Actions
                For each (Integer A) from 1 to (Integer(((Height of (Playable map area)) / (Real(GeneratorSeed))))), do (Actions)
                    Loop - Actions
                        Set TempPoint = (Point(((Real(Loop)) x (Real(GeneratorSeed))), ((Real((Integer A))) x (Real(GeneratorSeed)))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (AffectedRegion contains TempPoint) Equal to True
                            Then - Actions
                                Environment - Create a 0.10 second Permanent crater deformation at TempPoint with radius (Random real number between 64.00 and 512.00) and depth (-1.00 x (Random real number between -32.00 and 32.00))
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)
                        Set TempPoint = (Point(((Real(Loop)) x (Real((-1 x GeneratorSeed)))), ((Real((Integer A))) x (Real(GeneratorSeed)))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (AffectedRegion contains TempPoint) Equal to True
                            Then - Actions
                                Environment - Create a 0.10 second Permanent crater deformation at TempPoint with radius (Random real number between 64.00 and 512.00) and depth (-1.00 x (Random real number between -32.00 and 32.00))
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)
                        Set TempPoint = (Point(((Real(Loop)) x (Real(GeneratorSeed))), ((Real((Integer A))) x (Real((-1 x GeneratorSeed))))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (AffectedRegion contains TempPoint) Equal to True
                            Then - Actions
                                Environment - Create a 0.10 second Permanent crater deformation at TempPoint with radius (Random real number between 64.00 and 512.00) and depth (-1.00 x (Random real number between -32.00 and 32.00))
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)
                        Set TempPoint = (Point(((Real(Loop)) x (Real((-1 x GeneratorSeed)))), ((Real((Integer A))) x (Real((-1 x GeneratorSeed))))))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (AffectedRegion contains TempPoint) Equal to True
                            Then - Actions
                                Environment - Create a 0.10 second Permanent crater deformation at TempPoint with radius (Random real number between 64.00 and 512.00) and depth (-1.00 x (Random real number between -32.00 and 32.00))
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_TempPoint)
Старый 24.04.2008, 14:52
Rvn
Skillful level designer
offline
Опыт: 15,907
Активность:
No comments, я под столом помираю от смеха...
Старый 24.04.2008, 14:57
xlow

offline
Опыт: 702
Активность:
Ну смейся. Простой генератор ландшафта. Делал не я мне все равно. Работает безотказано. Смотрится нормально даже на 256на256. Но лучше ставить где то 128 на 128
Старый 24.04.2008, 14:59
Rvn
Skillful level designer
offline
Опыт: 15,907
Активность:
xlow тут тема об отдельной программе, превращающий карту высот в 2D-файл и наоборот. И хотя мало кому она нужна, но с ее помощью можно было бы делать идеальную симметрию.
Старый 24.04.2008, 15:01
xlow

offline
Опыт: 702
Активность:
Симетрия строится тоже по простому принципу. Тут только сложность в расчете что где стоит. А так это тоже можно через один триггер воспроизвести. Просто добавляешь в свою карту триггер ставишь параметры и он дорисовывает её в ходе загрузки.
Старый 24.04.2008, 15:03
Rvn
Skillful level designer
offline
Опыт: 15,907
Активность:
xlow хахахаааааахахааа... нахрен нужна дорисовка в ходе загрузки? Качественный ландшафт делается только руками, никакой триггер не заменит прямые талантливые руки в кол-ве двух штук.

Rvn добавил:
А генератор ландшафта это маленький помощник, делающий работу с ландшафтом лучше.
Старый 24.04.2008, 15:11
adic3x

offline
Опыт: 108,439
Активность:
xlow, ты действительно не понял идеи - нет никакого смысла генерировать терраин при каждой загрузке. тема о создании проги

теперь по сабжу:

прогу такую сделать можно, т.е. тупо перевод картинки в файл рельефа, с высотами
вопрос в том что а) этит некому заняться б) это можно делать в обычном ве (достаточно удобно если приловчится) или в зепире (не так удобно но всеравно)

поэтому пока это только мысли вслух
Старый 24.04.2008, 17:37
xlow

offline
Опыт: 702
Активность:
Цитата:
Сообщение от ADOLF
xlow, ты действительно не понял идеи - нет никакого смысла генерировать терраин при каждой загрузке. тема о создании проги

теперь по сабжу:

прогу такую сделать можно, т.е. тупо перевод картинки в файл рельефа, с высотами
вопрос в том что а) этит некому заняться б) это можно делать в обычном ве (достаточно удобно если приловчится) или в зепире (не так удобно но всеравно)

поэтому пока это только мысли вслух


Адольф да прогу вполне легко сделать. То есть что надо сделать. Берется фото. По его изображению строится рельеф имеется ввиду тайлами красится, затем с помощью нужной кисти выбираем и размечаем проходимость, и потом показываем где вод, где склоны другой кистью.Затем генерировать и исходя всем параметрам создает.
Старый 25.04.2008, 06:57
Rvn
Skillful level designer
offline
Опыт: 15,907
Активность:
Нахрен тайлы, нахрен склоны (склоны это зло!). Нужны только высоты и вода.
Старый 25.04.2008, 11:18
xlow

offline
Опыт: 702
Активность:
Тогда еще проще. Просто проходимо не проходимо. Это вобще дело 40 минут. Там только как в фотошопе сделать фильтр типа мона типа закрашиваешь значит тут вода. И градиент цвета определяет глубину
Старый 25.04.2008, 11:34
Arbogast
Hunting - best ever.
offline
Опыт: 1,624
Активность:
Одно не пойму зачем он вам?его в норм карте неиспользуеш! Разве-что в карте на развитие.Да ито так себе рельеф будет, такой за 20 мин мона заделать..иногда легче сделать заново чем коректировать...
Старый 25.04.2008, 20:38
Vrett666

offline
Опыт: 37
Активность:
Цитата:
Сообщение от Arbogast
Одно не пойму зачем он вам?его в норм карте неиспользуеш! Разве-что в карте на развитие.Да ито так себе рельеф будет, такой за 20 мин мона заделать..иногда легче сделать заново чем коректировать...

А вот хочешь какую нибудь карту на развилку новую(к примеру поиграл ты уже во все, надоело), берешь генератор и критишь что нить новенькое! Такой редактор не помешает, особенно тем кому лень возиться с рельефом или же просто не умеет создавать руками. Проекты на мили-карты еще есть))
Старый 18.07.2008, 16:37

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 23:58.