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

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

Ответ
 
reALien

offline
Опыт: 29,211
Активность:
UberSplat Terrain System

В чем, собственно, суть наработки

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

Как это работает

До определенного момента все так же как и в наработке Nyuu, вы закрашиваете ландшафт сплатами с помощью дамми-зданий в редакторе и радуетесь результату.
А вот при запуске карты делает свое дело система: все дамми с карты удаляются и вместо них остаются вечный уберсплаты.
Экономия памяти на лицо ;)

Как этим пользоваться

В карте уже есть несколько примеров сплатов, добавленных мною, однако, я считаю нужным рассказать вам, как добавлять свои.
Это предельно просто:

  1. Создайте своё дамми-здание по аналогии с уже существующими.

  1. Откройте Редактор Триггеров и найдите там триггер SplatsDB.
Вы можете видеть два набора переменных(точнее массивов), один - типы дамми(SplatMB[X] = 'xxxx'), второй - типы сплатов(SplatDB[X] = "XXXX"), вам нужно добавить информацию о своём новом сплате сюда.

  1. Для начала - добавим информацию о дамми-здании, для допишем строчку с новым присвоением значения переменной со следующим порядковым номером (в моем случае: последний номер - 2, значит я допишу строчку "SplatMB[3] = ...") и после знака равно поставим рав-код вашего дамми (его можно узнать использовав в Редакторе Объектов, с помощью команды Показать названия переменных/Ctrl+D), у меня это - 'ust4'.

  1. Теперь добавим информацию о самом сплате, для того, что бы узнать код сплата можно использовать все тоже Показать названия переменных, но можно также смотреть в таблице "Splats\UberSplatData.slk" из архивов игры. У меня это оказалось "HCAS".

Внимание: номер здания и его сплата должны обязательно совпадать, иначе результата не будет.
Так же нумерация в списке должна быть неразрывной, т.к. счетчик используемых сплатов останавливается на первой пустой ячейке.
Собственно, все) Теперь ваше дамми-здание будет обрабатываться системой в любых количествах.

Как это импортировать

Достаточно скопировать папку UberSplatTerrainSystem в Редакторе Триггеров в вашу карту и сохранить её(имеющиеся в карте юниты и сплаты, при надобности, естественно, придется переносить отдельно).
Внимание: для работы системы нужен JNGP и сJass.
Рекомендую эту сборку.

Благодарности

Спасибо Nyuu, за то что подтолкнул меня на идею создания наработки.
Отдельная благодарность ScorpioT1000 и Doc'у, за то что наставили меня на путь истинный в плане написания и оптимизации кода.
Прикрепленные файлы
Тип файла: w3x USTS.w3x (1.01 Мбайт, 228 просмотров )
Старый 20.02.2011, 01:04
ScorpioT1000
Работаем
offline
Опыт: отключен
36411137 реалиен и ньюи шпарят !
замучу пак текстур для уберсплатов =)
кароче это надо дело толкать, я тоже об этом думал, но идея казалась мне очень локальной и неуникальной, надо думать еще
Старый 20.02.2011, 06:16
CeraRalaz
...
offline
Опыт: 48,115
Активность:
Уберсплаты поддерживают альфаканал? Если сделать по краям текстуры легкую прозрачность, то это сделает стыки различных текстур более органомичными, я думаю
Старый 20.02.2011, 11:58
XOR

offline
Опыт: 38,159
Активность:
они и так накладываются друг на друга, и стыков не видно) я рандомно накликал целую карту уберсплатов, и выглядит оно довольно органично 0_О
Старый 20.02.2011, 13:29
Doc

offline
Опыт: 63,163
Активность:
X, кстати да, я тоже попробовал. А еще я слегка дописал систему, если надо могу скинуть.
Старый 20.02.2011, 13:31
Toadcop

offline
Опыт: 54,313
Активность:
вы слоупоки я года 5/6 назад над этим думал. лол тут вся беда в редакторе. что бы наглядно наносить эти же аберсплаты на террайн иначе толку с них нету как бы ._.
// вот вместо модел едитора делай(те) террайн едитор =О

в целом т.е. не так всё просто. самый интересный вариант это хак на ве сделать что бы сразу там аберсплаты мутить но это очень сложно таки и нету людей которые за это возьмутся.
вторая более простая альтернатива. это свой редактор чисто с мешем (террайном) текстурами и вот возможностью создвать свои аберсплаты (деколи) и потом это в отдельный файл сохранять. ну и в карте подгружать ._. в целом "что не очень просто"
1) правильно протекстурить террайн (как в вц3)
2) с деколями не имел дела в целом

ну а остальное достаточно не сложно делается кмк.

так я передумал концепт и решил сделать всё интересней
почему я так 364111у ? =О

едит будет происходить ингейм (с помощю ДГУИ) писаться в кеш после чего он удачно будет рипатся прогой от туда и составлять простые запросы доступные для этой системы. (текст)
когда будет время сделаю демку ._. (надеюсь)
Старый 20.02.2011, 13:39
XOR

offline
Опыт: 38,159
Активность:
рилиен так и хотел через прелод, но не осилил) я тоже попозже прикручу дгуй к своей версии системы.
Старый 20.02.2011, 13:43
Toadcop

offline
Опыт: 54,313
Активность:
Цитата:
4. Теперь добавим информацию о самом сплате, для того, что бы узнать код сплата можно использовать все тоже Показать названия переменных, но можно также смотреть в таблице "Splats\UberSplatData.slk" из архивов игры. У меня это оказалось "HCAS".

ЗАЧЕМ !? ... n/c

читать выше вы короче дети ._.

Toadcop добавил:
толку с вашего говно едита если нельзя менять будет размеры/цвет/прозрачность уберсплата.
Старый 20.02.2011, 13:45
Doc

offline
Опыт: 63,163
Активность:
Да это факт реалиен сделал только слабенькую основу) Все можно было сделать как с сохранением моделей в дглвисе.
Старый 20.02.2011, 14:06
CeraRalaz
...
offline
Опыт: 48,115
Активность:
X:
они и так накладываются друг на друга, и стыков не видно) я рандомно накликал целую карту уберсплатов, и выглядит оно довольно органично 0_О
Я имею ввиду плавный переход. Не тру же, когда трава резко обрывается и переходит в камень.
Старый 20.02.2011, 14:13
Nyuu

offline
Опыт: 9,249
Активность:
Что мешает по краям сделать альфу ~50%?
Рад что идея получила развитие. Спасибо reALien.
Старый 20.02.2011, 14:52
JaBeN_Симфер

offline
Опыт: 20,050
Активность:
CeraRalaz, альфа работает, вроде бы нормально.
Проблема в том, что юниты на карте все таки присутствуют до самого начала игры, но если сделать через прелоад, то наверное это будет равносильно или практически равносильно этому:
  1. Ставим на карте юнитов с уберсплатами.
  2. Сохраняем карту.
  3. Искусственно делаем ошибку в триггерах, чтобы выскочило окошко со всем кодом карты.
  4. Находим в коде главный триггер Main, в котором будет код по созданию этих юнитов при инициализации карты.
  5. Копируем это код себе в блокнот и прогоняем через простенький макрос.
  6. На выходе получаем код по созданию чистых уберсплатов вместо юнитов.
  7. Копируем код к себе в карту в триггер инициализации и удаляем всех юнитов-уберсплатов с карты.
  8. Сохраняем, тестируем. Главное - сохранить резервную копию карты. т.к. после удаления юнитов ландшафт передать будет достаточно трудо.
Макрос заключается в том, что он берет координаты и raw-code созданных на карте юнитов-уберсплатов, а выдает соответствующие этим данным строки по созданию чистых уберсплатов. Можно делать вручную, но это очень долго.
Осталось написать такой макрос с БД и проверкой на тип юнита.

Отредактировано JaBeN_Симфер, 20.02.2011 в 16:57.
Старый 20.02.2011, 16:51
Doc

offline
Опыт: 63,163
Активность:
JaBeN_Симфер, фигня. Тоадкоп же написал, что делать надо через свой ингейм эдитор, чтобы редактировать цвет, альфу, размеры и видеть все как есть.
Старый 20.02.2011, 16:59
JaBeN_Симфер

offline
Опыт: 20,050
Активность:
Doc, размеры и альфа статичные для моделей, но этого вполне хватает на данном этапе развития такой технологии. Цвет RGB врядли нужен, т.к. особо не разнообразит ландшафт, а вот альфа - полезно, но не критично. Конечно, было бы хорошо, если в JNGP добавить такой макрос, который будет работать при компилировании кода.
Старый 20.02.2011, 17:06
reALien

offline
Опыт: 29,211
Активность:
Toadcop:
едит будет происходить ингейм (с помощю ДГУИ) писаться в кеш после чего он удачно будет рипатся прогой от туда и составлять простые запросы доступные для этой системы. (текст)
когда будет время сделаю демку ._. (надеюсь)
Я и хотел так сделать, но пришел к выводу, что ландерам это не нужно)
Им куда проще расставить зданбица в эдиторе и что бы система сделала все сама, чем делать это в игре, а потом импортить код для создания сплатов в карту.
reALien добавил:
(я же для ландеров систему делал, а не для кодеров в конце-концов)
Старый 20.02.2011, 17:31
granderpro

offline
Опыт: 12,165
Активность:
Оххх хреново с нестандратной камерой будет, очень хреново)
Миниатюры
Кликните на картинку для увеличения
Название:  о боги.jpg
Просмотров: 214
Размер:  335.3 Кбайт  
Старый 20.02.2011, 17:40
reALien

offline
Опыт: 29,211
Активность:
Это отлично лечится убиванием мипмапов)
Старый 20.02.2011, 17:49
XOR

offline
Опыт: 38,159
Активность:
SkitlleS:
Оххх хреново с нестандратной камерой будет, очень хреново)
Старый 20.02.2011, 19:22
granderpro

offline
Опыт: 12,165
Активность:
где ж там нормально?) у меня угол атаки больше)
Старый 20.02.2011, 19:24
Toadcop

offline
Опыт: 54,313
Активность:
и что можно настраивать этим "зданиям" ? я о параметрах аберсплатов
+ всё что я описал можно сделать чють ли не автоматизировано. типо...
запускаеш карту в игре,
делаеш всё что надо (видя что ты делаеш)
нажимаеш кнопку "сохранить"
заходиш в редактор в одной из менюшки редактора напр нажимаеш что то - запускается тула вытягивает инфу с кеша генерирует текст, помещяет в клипбоард (буффер) можон запастить в любой триггер. там будет типо что то вроде...

...
create_mega_ubersplat(xxxxxxxxxx,x,x,x,x,x,x,x,x,x,x,x,x)
...

там надо еще позабоитстся что бы поток не слвалился. короче тулы всегда профит. вы просто через жопу мыслите (!)

так же теоретически можно как то хитро по иному делать всё зависит какие инструменты в распоряжение есть.
+ простые террайнеры и так не будут юзать это говно вестимо ._. это ваще такую глупость спорость надо быть школьником с хгм.
Старый 20.02.2011, 21:07
Ответ

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

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

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

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



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