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

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

 
Dr

offline
Опыт: 48,871
Активность:
Динамическая смена текстуры
Стандартная проблема - есть несколько разных текстур и одна модель для них. Использовать хотелось бы все текстуры, но т.к. для каждой нужна своя модель этого делать не хочется ибо жалко веса карты.

В данной статье я расскажу как использовать всего одну модель и несколько текстур к ней.

Необходимые программы



-MdlVis

-Warcraft 3 Model Editor

Редактирование модели



1. Прежде нам необходимо решить - вся ли модель будет иметь вариации текстур или же только её часть (доспех например или плащ). Если первое - переходим сразу к следующему пункту. Если второе - открываем нашу модель в MdlVis, выделяем все вершины поверхности которая будет менять текстуру и выносим их на новую поверхность (справа кнопка "Вынести на отдельную поверхность").

2. Открываем модель в War3 Model Editor, заходим в "Окна - Менеджер текстур" жмём в появившемся окошке правой кнопкой мыши и выбираем "Создать пустой". Затем на появившемся "Replaceable 0" кликаем правой кнопкой мыши и выбираем редактировать. В поле ID пишем число 31 и жмём Ок.



3. Теперь "Окна - Редактор материалов",
  • Если вы создаёте динамичную текстуру части модели, то создаём новый, далее - новый слой и под кнопкой ID текстуры выбираем "Replaceable ID 31".
  • Если вы делаете динамичную текстуру модели полностью - то выбираем единственный (если не единственный, то лучше удалить другие, т.к. они используют ту же текстуру и применить данный материал ко всем поверхностям) материал, жмём редактировать, затем снова редактировать и под кнопкой ID текстуры выбираем "Replaceable ID 31"



Модель или часть модели покроется текстурой дерева - оно нам и надо.

Импорт и объекты


4. Импортируем нашу модель в карту, с ней все её текстуры.

5. Заходим "Редактор объектов - Разрушаемые объекты" и создаём на основе любого дерева столько нестандартных сколько у вас импортировано вариаций текстур.
Редактируем характеристики:
Графика - Заменяемый файл текстур - Здесь выбираем одну из наших импортированных текстур.
Графика - Размер выбора: игра - 0.00
Графика - Файл модели - Нет
Пути - Текстура пути - Нет
Текст - Название - Необязательно менять эту графу, но будет удобнее, если назвать в соответствии с выбранной текстурой (например - Синяя).
И так - для каждого созданного дерева.

6. Далее - создаём нашего юнита, или меняем модель стандартному - как хотите. Видим, что он или его часть покрыта белым, здесь должна быть одна из наших текстур.

Триггеры


Здесь изложены основы, того что нужно сделать. Если вы хорошо владеете триггерами или Jass, лучше написать свой код, дабы избежать фатальных ошибок и прочих недоработок.

7. Заходим в "Редактор триггеров" и создаём триггер по принципу:
Событие:
Любое нужное нам событие, например юнит поднял предмет, который влияет на смену тектуры (одежда например) или применил способность, то есть нужное вам событие. Если нужна определённая тектура изначально, то ставим здесь Elapsed game time in 0.01 seconds.
Условие:
Здесь задаём условия в зависимости от выбранного события, тип предмета, способности, воина и любые другие.
Действие:
Здесь нужно провернуть такую схему - Дать нашему юниту способность "Вырвать дерево" Горного великана, создать где- либо одно из созданных нами деревьев (вот тут то и понимаешь зачем удобно именовать их по текстуре), применить способность "Вырвать дерево" на данном дереве, убрать способность, убрать дерево.

В результате юнит или его часть приобретёт заданную текстуру.



Несколько нюансов:
  1. Заменить можно только одну текстуру - то есть динамически менять, например, и доспех, и плащ, у которых разные текстуры не получится - только одновременно, при условии, что у них общая текстура.
  2. Портрет не меняет текстуры.
  3. Не меняйте текстуру в движении
  4. При загрузке сохранения эффект теряется и надо заново накладывать соответствующую текстуру

Спасибо Van Damm'у за помощь с триггерами.

Наработка Toadcop'а на эту тему (выполнена на JASS).

Глючный пример:
Прикрепленные файлы
Тип файла: w3x Example.w3x (468.8 Кбайт, 1015 просмотров )

Отредактировано Dron, 30.01.2009 в 21:06.
Старый 15.10.2008, 21:53
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
Элементарно - на ГУИ
А идея - просто бомба!
Прикрепленные файлы
Тип файла: w3x ExampleEasy.w3x (483.9 Кбайт, 189 просмотров )
Старый 15.10.2008, 22:46
ScorpioT1000
Работаем
online
Опыт: отключен
Т.е.? Это вроде не имеет практического применения, ведь он меняет только текстуры с деревьев. Или нет?

Ы паимели буржев)
*оглядывается, нет ли Тоадкопа*

Отредактировано ScorpioT1000, 16.10.2008 в 00:07.
Старый 15.10.2008, 22:47
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
А ты посмотри мой аттач?

Это - революция! Странно, что раньше никто не додумался
Старый 15.10.2008, 22:48
Lawliet

offline
Опыт: 6,322
Активность:
да, действительно.. помоему автор ещё не понял, что это очень хорошая идея, которая не была замечена гделибо ранее..
Старый 15.10.2008, 22:57
Кет

offline
Опыт: 111,109
Активность:
Зашибись =) Я бы до такого изврата не додумался =)
Старый 15.10.2008, 23:56
Dr

offline
Опыт: 48,871
Активность:
Van Damm Ну вобщем можно и так, но хотел именно сразу - без дамми и другого говна. Хз, может это не реально, но ведь на Jass можно всё =)

Ведь есть же какая-то функция отвечающая за смену текстуры дубины у горного великана.

Dron добавил:
И портрет - гадина, не меняет текстуру =/

Отредактировано Dron, 17.10.2008 в 14:13.
Старый 16.10.2008, 00:14
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
ScorpioT1000 тк следит за тобой ^^ я ему уже показал

Dron нету - это движок делает. а с портетом решить легко - просто сделать файл портрета отдельной моделью (как у героев)
Старый 16.10.2008, 00:16
Toadcop

offline
Опыт: 54,313
Активность:
ну это потом атоматизируетьса :Р я могу системы написать... хотя иё любой напишет так что.
Старый 16.10.2008, 00:52
Кет

offline
Опыт: 111,109
Активность:
Вот такое сварганил =)
Переодевание.
Техническая часть примитивная, но это первое, что я подумал при виде этой фичи.
Прикрепленные файлы
Тип файла: w3x Clothing.w3x (170.3 Кбайт, 541 просмотров )

Отредактировано Кет, 16.10.2008 в 01:55.
Старый 16.10.2008, 01:44
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
тру. Я только успел подумать, как это можно использовать в GTH, а ты уже и пример сделал =)
Старый 16.10.2008, 02:18
Кет

offline
Опыт: 111,109
Активность:
Van Damm, О_О вроде всё норм.
Дрон, твой пример с мужиком не работает.
А мой работает, ха! =)
Старый 16.10.2008, 18:10
Dr

offline
Опыт: 48,871
Активность:
Кет Работает, просто пример плохой - смотри третий нюанс.
Старый 16.10.2008, 18:26
Toadcop

offline
Опыт: 54,313
Активность:
need to post at wc3camp...

Toadcop добавил:
хотя имхо карту пример надо норм оформить... "что бы интеерсно было" тогда еффект еще круче будет =)
Старый 16.10.2008, 18:41
Dr

offline
Опыт: 48,871
Активность:
Toadcop Ну сделай норм. пример, у меня всё равно не получится ибо не шарю =/
Старый 16.10.2008, 19:36
Mastro

offline
Опыт: 14,878
Активность:
Труцко...) блин как я хотел что то типа этого когда химичил с варкрафтом xP
Старый 16.10.2008, 20:01
П4ела
Сэр. Кухня горит. Снова.
offline
Опыт: 35,447
Активность:
Кет
Када много раз одёжу меняешь постояннго выбрасываут с ошибкой...
Старый 16.10.2008, 21:32
Кет

offline
Опыт: 111,109
Активность:
П4ела, ага. Надо мб ему при переодевании применить приказ Отставить.

Отредактировано Кет, 17.10.2008 в 00:51.
Старый 16.10.2008, 23:07
adic3x

offline
Опыт: 108,439
Активность:
круто, подумаю где мона юзать)
Старый 17.10.2008, 10:19
Toadcop

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

*будет время сделаю демку с своими текстурами :Р и модельками...
ну типо ©Dron[XGM] // чтоб ясней...
Старый 17.10.2008, 14:15

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

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

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

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



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