Анимации поверхностей
Теория
В моделлинге никак не обойтись без возможности скрывать и показывать что-либо в определённый момент времени, будь то поверхность, слой текстуры или частица. И, к счастью, всё это возможно как в Mdlvis’е, так и в w3me. Однако функционал последнего в этом отношении гораздо шире. Именно на его примере мы и разберем анимации поверхностей.
War3 ModelEditor, а в частности Редактор анимаций поверхности, позволяет изменять видимость и цвет, анимировать их, используя все возможные интерполяции. Изменение цвета действует как фильтр, где окрашивание становится сильнее при уменьшении яркости. Выбранный для фильтра белый цвет не влияет на итоговую картинку никак, так что, окрашивая таким образом поверхности, стоит помнить, что ярче или светлее их не сделать.
Но учитывайте, что совокупный эффект как настроек цвета, так и прозрачности зависит еще от материала и режима смешивания текстуры. Например, если текстура, используемая анимируемой поверхностью, имеет режим смешивания Additive, то установка черного цветового фильтра сделает данную поверхность полностью невидимой.
Практика (2.73)
Итак, открыв нашу модель в w3me, сначала выберем поверхность, видимость которой необходимо изменить. Это можно быстро сделать следующим образом: зажмите Ctrl и кликните ЛКМ по поверхности прямо во вьюпорте. Поверхность мигнет черным цветом (4.1) и выделится в Редакторе поверхностей (а используемый ею материал выделится в Редакторе материалов).
4.1
Запомните выделенный геосет и перейдите в:
Окна\Редактор анимаций поверхностей
В появившемся окне необходимо кликнуть ПКМ и выбрать из контекстного меню пункт Создать новый. Откроется следующее окно:
4.2
Разберем все по порядку:
- ID (п. 1 на 4.2) – в данном выпадающем списке необходимо выбрать поверхность, к которой будет относиться эта анимация.
- Альфа (п. 2 на 4.2) – регулирует прозрачность поверхности от нуля (полностью прозрачно) до единицы (полностью непрозрачно). Может быть как анимированной, так и нет. Известен баг w3me, когда неанимированная альфа сбивается и принимает значения вроде "0.68835", в таком случае рекомендуется ставить флажок "Анимирована" и прописывать: "0: 1" (без кавычек, естественно) – или любое другое нужное вам значение. Работоспособность прозрачности напрямую зависит от выбранного режима смешивания у текстуры:
- None – используются только значения 0 и 1.
- Transparent – используются только значения 0 и 1.
- Blend – используются все возможные значения от 0 до 1.
- Additive – используются все возможные значения от 0 до 1.
- AddAlpha – используются все возможные значения от 0 до 1.
- Modulate – используются только значения 0 и 1.
- Использовать цвет – (п. 3 на 4.2) название этого флажка говорит само за себя.
- Бросает тень – (п. 3 на 4.2) а вот здесь – наоборот – название обманчиво. Никаких теней этот пункт почему-то не дает, а вот получить баги, поставив галочку здесь, мне удалось.
- Цвет (п. 4 на 4.2) – в этом поле выбирается цветовой фильтр в системе RGB (красный, зеленый и синий), и на его анимациях я остановлюсь подробнее.
Поставив флажок "Анимирован" и щелкнув по кнопке "Цвет", вы увидите не слишком понятную для выбора цвета картину: так же, как в случае с другими контроллерами, перед вами будут строчки с текстом, в которые придется вписывать нужный цвет вручную. Причем насыщенность красного, синего или зеленого измеряется в пределах единицы… но и это еще не все! Цвета здесь расположены наоборот, т.е. не RGB, а BGR:
0: {B, G, R} | так при анимировании распложены цвета
Но тем не менее, вписать нужный цвет не так уж сложно: достаточно "сделать" его в каком-нибудь графическом редакторе и разделить каждое число из каналов на 255. Так стандартный оранжевый цвет из Paint’а (255 127 39) для w3me будет следующим:
0: {0.153, 0.498, 1}
(значения округлены до тысячных)
Что касается интерполяций – здесь все работает нормально, хотя w3me часто некорректно отображает анимации цвета, сделанные с помощью Сплайнового типа контроллера. Впрочем, я не вижу особой надобности именно в нем, так как Безье прекрасно справляется со своей задачей, и можно, например, сделать переход всеми цветами радуги с помощью 3-х кадров:
1000: { 0, 0, 1 }
InTan: { 0, 0, 0 }
OutTan: {0.153, 0.498, 1}
2500: { 0, 1, 0 }
InTan: { 0, 1, 1 }
OutTan: { 1, 0.5, 0 }
4000: { 1, 0, 1 }
InTan: { 1, 0, 0 }
OutTan: { 0, 0, 0 }
На этом эксперименты с цветами можно закончить, и от анимаций поверхности мы перейдем к анимациям того, что эти поверхности покрывает, – к анимациям материалов.