вторник, 28 октября 2008 г.

Анимации - это просто! Часть 2.

Продолжая цикл статей, посвященных анимации, сегодня мы расскажем, что такое Pose Stand и Animation Overrider (AO), а также как их изготовить самостоятельно в домашних условиях.




Pose Stand является устройством, которое позволяет проделывать массу полезных вещей с вашим аватаром. Например, используя его, вы можете подогнать парик, обувь и т.п. по размеру вашего персонажа, или же устроить ему фотосессию, используя всевозможные позы, или, на худой конец, просто испытать ваши анимации. А если pose stand научить принимать деньги и раздавать товар, то вот вам и вендор для продажи ваших анимаций.

Итак, берем три прима и делаем основу нашего pose stand.



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

Для начала запрограммируем кнопки, чтобы они хоть что-то переключали в дальнейшем. Поскольку объект у нас получается слинкованный, то воспольуемся системой передачи данных внутри объекта - llMessageLinked(). Заходим в режим редактирования и ставим галку Edit Linked Parts. Это позволит нам редактировать отдельный прим слинкованного объекта. Поставив нужную галку, тыкаем мышой в кнопку, ну, пусть это будет кнопка "НАЗАД" (которая слева). В ней нужно создать новый скрипт и написать в нем следующее:

default
{
touch_start(integer total_number)
{
if(llDetectedKey(0) == llGetOwner())
{
llMessageLinked(LINK_ROOT, 0, "bck", NULL_KEY);
}
}
}

То же самое нужно проделать и со второй кнопкой, заменить только параметр функции с "bck" на "fwd". Обратите внимание на проверку при нажатии - это сделано для того, чтобы все, кому не лень, нажимая из любопытства на всякие кнопочки, не мешали вам в вашей работе с позами.

Теперь переходим к самому основному - созданию скрипта, который будет во-первых, отслеживать, что вы загрузили в инвентарь pose stand'a, а во-вторых, по нажатию на кнопку, менять анимации на вашем аватаре. Находиться он должен в инвентаре основного, или рутового, прима. К сожалению, невозможно понятно и доступно отобразить код в рамках этого ресурса, поэтому я приготовил маленький подарок любителям методики copy&paste, который, надеюсь, заставит их пересмотреть свое отношение к этому вопросу.



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

Animation Overrider (AO) по сути представляет собой тот же pose stand, но является более интеллектуальным прибором, кроме того, прибором носимым, или гаджетом. Подробно рассматривать его устройство в рамках данной статьи мы не будем, поскольку сам по себе АО является довольно-таки сложным программным продуктом и, если будет интересно публике, я посвящу отдельную статью именно программированию АО и разбору тонкостей работы этого гаджета. Здесь же мы рассмотрим общий принцип замены анимаций, принцип работы АО, а также где его взять и как настроить для работы с тем набором анимаций, который есть у вас в наличии.

Итак, принцип работы АО достаточно прост - в каждый момент времени аватар совершает какие-то действия, стоит, сидит, шагает и т.п. На каждое действие в наборе hula существует своя анимация, которая и проигрывается согласно флагам, которые выставляются в переменной текущего состояния. Задача оверрайдера, отследив появление того или иного флага, а также других факторов (например, если аватар находится в режиме полета, но уровень воды почему-то выше его текущей координаты, то нужно проиграть не анимацию полета, а анимацию плавания и т.д.), отключить проигрывание анимации hula и запустить анимацию, которая назначена для этого действия или состояния. В большинстве АО существуют специальные нотекарты с конфигурацией .

Кроме того, АО позволяет включать и проигрывать анимации независимо от состояния аватара. Например, вы можете запустить анимацию танца, в то время, когда ваш аватар просто стоит, но в другое время, когда танцевать не нужно, АО автоматически вернет все на свои места. Таким образом, работать с АО довольно-таки просто. Загружаете в него свои анимации, правите конфиг-нотекарту, одеваете АО на себя, включаете и отправляетесь вызывать жгучую зависть окружающих.

Теперь вопрос - где же взять АО? Тут есть несколько вариантов. Самый первых - купить где-нибудь. Как правило, производители анимаций кастомизируют АО под свой стиль, изменяя внешний вид, но по сути - гаджет остается все равно сам собой и реальная стоимость любого АО заключена только лишь в анимациях, которые заложены внутри него. Без них это просто "железка", какой бы навороченный дизайн она бы не имела. Как правило, такие продукты имеют право no modify и вы наврядли сможете их дополнять своими анимациями. Поэтому есть другой вариант - взять на крупнейшем отечественном фрибае Russian Worldware бесплатный АО от Ken Zhao с правами full perm и заняться его наполнением. Бесплатных АО множество, просто смотрите на их функционал. Самое распространенное бесплатное АО, которое и переделывают под свою продукцию практически все производители анимаций, выглядит следующим образом:



Этот гаджет позволяет настраивать несколько пресетов анимаций и переключать их по своему желанию, назначать анимации "вне очереди" и многое другое. Поистине, это конструктор для создания ваших собственных оверрайдеров.

Удачных экспериментов! А в следующей, третьей части, я расскажу, что за зверь такой - Poser и как в нем делать динамические анимации. Также раскрою секрет изготовления практически любых "реалистичных" походок при помощи этого инструмента.

Manoul Carnell

Анимации - это просто. Часть 1.

1 комментарий:

  1. А если персонаж - не человек и никакое НЕ антропоморфное существо, то как для него применять анимацию?

    ОтветитьУдалить