Добавлен WebSter,
опубликован
Анимация от "А" до "Я"
Содержание:
Анимации материалов
Теория
Наверняка вы знаете, что в каждом материале может быть множество слоев с разными текстурами и типами смешивания, и можно регулировать прозрачность каждого слоя отдельно от прозрачности материала в целом, однако не каждый знает всех возможностей анимации этих слоев. Далее я расскажу и о них.
Как и в случае с анимациями поверхностей, здесь полноценно регулируется прозрачность, но совершенно новой возможностью является анимация ID текстуры, то есть можно динамически менять текстуры в материале. А уж с использованием такой особенности не соскучишься: различные элементали, имитация жидкостей и даже возможность вставить в вашу модель маленькое видео (по кадрам, естественно)! Именно последний вариант я выбрал для рассмотрения в этой статье.
Я заранее сделал простую модель деревянного телевизора, который и будет показывать все, что захочется, а вернее, все, на что будут текстуры.
5.1
Так что приступим к практике!
Практика (TV_version_1.mdx)
Порывшись в архивах WarCraft 3, я нашел ряд текстур, отвечающих за моргание "глаза Battle.net", и решил, что для примера они прекрасно подойдут. Путь к этим текстурам следующий:
UI\Glues\BattleNet\BattlenetWorking\
В этой папке находятся 29 текстур, которые необходимо использовать в нашей модели, так что каждую я занес в список текстур, отчего тот слегка пополнел.
Теперь перейдем в редактор материалов и установим в нужный материал первую из необходимых нам текстур, после чего необходимо установить флажок "Анимирована" и нажать на кнопку "ID текстуры". Откроется окно с одной строчкой, где в нулевой кадр прописано определенное число: в моем случае это цифра 4, хотя у вас может быть и любое другое (далее я расскажу, как же оно определяется). Ну что ж, нам-то надо начинать с нуля: пропишем в первый кадр анимации (у меня это кадр 2000) цифру 0 и далее через каждые, например, 50 кадров, будем последовательно прописывать числа вплоть до 28.
5.2
Может возникнуть вопрос, почему на изображении выше я расписал кадры до 33, но перед тем, как будет дан ответ, просмотрите анимацию, в которой вы делали смену текстур. Если у вас в модели уже были какие-то текстуры до того, как вы добавили текстуру глаза, то где-то в первых кадрах будут мелькать именно они. Все очень просто: программа с самого начала выставила цифру 4, т.к. именно это – ID первой из текстур глаза, а все предыдущие заняты другими текстурами.
Но тем не менее, бывает и так, что текстуры добавляются в разброс, и тогда их ID путаются. Чтобы узнать их номера и/или поменять их, необходимо конвертировать модель в формат *.mdl, открыть её блокнотом и найти блок, отвечающий за текстуры. В моем случае он таков:
Textures 33 {
Bitmap {
Image "Buildings\Human\TownHall\TownHallCastleKeep.blp", | ID этой текстуры – 0, т.к. нумерация всегда начинается с нуля.
}
Bitmap {
Image "Textures\Goldmine.blp",| 1
}
Bitmap {
Image "tv_texture.blp",| 2
}
Bitmap {
Image "Textures\Doodads0.blp", | 3
}
Bitmap {
Image "UI\Glues\BattleNet\BattlenetWorking\BattlenetWorking0000.blp", | 4 – как раз с четырех и надо было начинать, создавая смену ID в нашем материале.
}
Bitmap {
Image "UI\Glues\BattleNet\BattlenetWorking\BattlenetWorking0001.blp",
}
Bitmap {
Image "UI\Glues\BattleNet\BattlenetWorking\BattlenetWorking0002.blp",
}
… | я намеренно стер еще кучу однотипных записей, дабы не загромождать статью.
Image "UI\Glues\BattleNet\BattlenetWorking\BattlenetWorking0028.blp",
}
}
Чтобы поменять ID текстур, нужно поменять их местами, но стоит помнить, что их следует изменить и в материалах, где эти ID используются, т.к. на них такая перестановка тоже отразится:
Materials 5 {
Material {
Layer {
FilterMode None,
staticTextureID 1, | Здесь и меняется ID статичной текстуры.
}
}
…
}
Теперь, после исправления недоработок этого этапа анимирования, если они все же были, конвертируем модель обратно в *.mdx и возвратимся в Редактор материалов.
К слову об интерполяциях – здесь они не имеют никакого значения, так что смело можно оставлять "None".
Примечание: наверняка вы заметили, что вне анимаций у поверхности, покрытой нашим анимируемым материалом, текстура меняется на самую первую по ID – ничего страшного, но от этого никуда не деться, корректно она отобразится только во время анимаций.
Итак, осталось лишь правильно переписать кадры – и впредь сразу начинать с верного ID – и полюбоваться получившейся анимацией. Глаз в телевизоре моргает и озирается!
5.3
Ну а что если необходимо использовать импортируемые текстуры? И кадров гораздо больше. Неужели нет альтернативы? Она есть, и речь о ней, как и в целом об анимациях текстур, пойдет далее.
Содержание
0
Deimos2110
12 лет назад
0
Блин, то ли я статью не понял и делаю что то не так, но у меня почему то текстуры как стояли на 1 месте так и стоят=(
Чтобы оставить комментарий, пожалуйста, войдите на сайт.