Здравствуйте. Вы находитесь на сайте Unreal Level. Данный ресурс посвящен редакторам карт игр серии Unreal, UT и Gears of War. Основная цель сайта , помочь всем желающим освоить любой из редакторов вышеперечисленных серий. Наибольшим приоритетом на этом сайте, обладает редактор UnrealED for Unreal Engine 3 и редактор движка Unreal Engine 3.5, входящий в комплект разработки UDK, поскольку это наиболее актуальная на сегодняшний день технология.
Using AnimTree
автор: PROOF | 17 Апреля 2010 | Просмотров: 10474
                           Основы Animation Tree (AnimTree)
Using AnimTree

Автор: NaFaNyA(PROOF)
Использованный материал:
Официальная документация...
Тема на форуме EpicGames

Здравствуйте...С каждым новым туториалом, представленным на сайте нас все больше учат использовать свой материал и потихоньку отдаляться от копи-паста..Этот туториал не станет исключением...В нем будут рассмотрены основные принципы работы с AnimTree, и надеюсь мы все наконец забудем о файле под названием 'AT_CH_Human', который когда-то давно(еще в 2007) году нам предоставила EpicGames.

Итак, перед тем как мы начнем мне хотелось бы немного рассказать о том, что же это такое...

Редактор AnimTree очень схож по своим функциям с Kismet и Редактором Материалов. Он так же имеет свои блоки и использует древовидную (иерархическую) систему. В ней есть родительские и дочерние блоки. Родительский блок отвечат за то, какой из дочерних будет выполняться при опредленном действии.
 
alt


Он предназначен для того, чтобы создавать сложные схемы анимаций для SkeletalMesh'ей.

Внешний вид окна редактора

Using AnimTree


1 - ToolBar

    Содержание тулбара:
    2 - Приостановить пригрывание всех анимаций в AnimTree.
    3 - Ипользовать выделенный блок.
    4 - Показать интервал использования каждого блока.
    5 - Показать скелет.
    6 - Показать имена костей.
    7 - Показать сетку модели.
    8 -
    9 - Используемый SkeletalMesh.
    10 - Используемый массив AnimSet'ов.
    11 - Используемый массив сокетов.
    12 - Используемый AnimSet.
    13 - Используемая анимация.

14 - Главный блок всего AnimTree.
15 - Блоки, которые будут постепенно добавляться.
16 - Раздел настроек выделенного блока.
17 - SkeletalMesh, для предварительного просмотра работоспособности AnimTree.


Начнем...
Подразумевается что вы уже знаете как создать свой AnimSet...Кликаем по нему дважды ЛКМ...В открывшемся окне во вкладке Mesh из выпадающего списка SkeletalMesh выбираем свою модель...(левый верхний угол)...
Затем переходим вниз, и во вкладке AnimSet убираем галочку с параметра Anim Rotation Only...Напротив Use Translation Bone Names щелкаем два раза по зеленому крестику...
У нас появилось два слота...В первом необходимо указать название главной кости, чтоящей в иерархии скелета, во втором - тазовую/бедренную кость...Выглядеть это быдет примерно так:
 
alt

Это действие необязательно, но при добавлении новых видов анимаций могут возникнуть проблемы...

Наконец мы переходим непосредственно к созданию AnimTree.
В Content Browser щелкните ПКМ в любом свободном месте, и из появившегося списка выберите New AnimTree...Дважды щелкните по нему ЛКМ...
Сразу выделяем блок AnimTree...В разделе настроек щелкаем по одному разу по зеленым крестикам напротив Preview Mesh List, Preview Soket List, Preview Anim Set List.
В Preview Mesh List добавляем своего персонажа...
В Preview Anim Set List соответственно добавляем свой AnimSet.
Так же, как вы наверняка заметили, у меня в окне простмотра находиться два объекта (персонаж и оружие)...Для этого и используется Preview Soket List...
В слоте Soket Name указываем имя сокета(конечно если вы его создали в AnimSet Editor'е), в слоте Preview SkelMesh указываем объект, который будет аттачиться к данному сокету...С этим разобрались...

Using AnimTree


Теперь нам необходимо создать блок UDKAnimBkendByPhisics.
Для этого щелкните ПКМ и из списка выберите NewAnimNode>BlendBy>UDKAnimBlendByPhisics...Он отвечает за абсолютно всю физику, котрую использует персонаж( бег, прыжек, плавание и т.д.)...

P.S. Совет - в каждом вновь созданном блоке, в разделе настроек, советую ставить галочку напротив Skip Tick When Zero Weight...
Создадим еще два блока - UDKAnimBlendByIdle и UDKAnimBlendByFall...
Первый отвечает за ожидание(стояние на месте), цепляем его к PHIS_Walking...Второй за прыжек, его цепляем соответственно к PHIS_Falling...
Далее создаем AnimNodeBlendDirectional, он отвечает за бег вперед, назад, стрейф вправо, влево...
Его цепляем к опции Moving.
Создадим новый AnimNodeSequence(это блок отвечающий за воспроизведение всего одной анимации).
В настройках ставим галочки напротив Playing и Looping и дублируем его столько раз, сколько нам необходимо анимаций...Цпляем по одному на каждую опцию...
Выделяем AnimSequence прицепленный к Idle, затем в правом верхнем углу(в выпадающем списке с имеющимися анимациями) выбираем анимацию ожидание...То же самое проделываем с остальными блоками...
Должно получиться как на скрине :

Using AnimTree


Теперь ваш персонаж способен бегать и прыгать...Но...Он всегда смотрит в одну точку...Сейчас мы будем это исправлять...
Создаем блок AnimNodeAimOffset...и цепляем его между PHIS_Walking и AnimNodeBlendDirectional...
Щелкаем дважды по нему ЛКМ, откроется окно настроек...
В разделе Profile жмем New...И вводим любое название...
В разделе Bones выбираем кости, которые будут использоваться(у меня это все четыре кости спины)...
В разделе Aim Direction жмем CenterUp и настраиваем положение, т.е. персонаж должен смотреть вверх по ценру...
Точно также настраиваем остальные положения...

Using AnimTree


Закрываем окно настроек...Не снимаем выделения с AimOffset опускаемся вниз, и в слоте Node Name пишем AimNode .

Нам нужно сказать UDK, чтобы он использовал созданные вами AnimTree, AnimSet, SkeletalMesh..
Примечание: т.к. это всего лишь руководство, в целях обучения, то мы будем изменять родные (UT) классы...

В папке [Ваша папка с UDK]/Development/Src/UTGame/classes найдите UTPawn, и в разделе defaultproperties замените строку
AnimTreeTemplate=AnimTree'CH_AnimHuman_Tree.AT_CH_ Human'

на
AnimTreeTemplate=AnimTree'YourPackage.YourGroup.Yo urAnimTree'

Теперь откройте файл UTFamilyInfo_Liandri_Male.uc
Перейдите к defaultproperties и найдите строку
CharacterMesh=SkeletalMesh'CH_LIAM_Cathode.Mesh.SK _CH_LIAM_Cathode'

замените на
CharacterMesh=SkeletalMesh'YourPackage.YourGroup.Y ourCharacter'

В этом же файле найдите строку
AnimSets(0)=AnimSet'CH_AnimHuman.Anims.K_AnimHuman _BaseMale'

и замените на
AnimSets(0)=AnimSet'YourPackage.YourGroup.YourAnim Set'

проделайте тоже самое с UTFamilyInfo_Liandri.uc
Откройте UnrealFrontend и нажмите Full Recompile...Теперь вы можете протестировать вашего персонажа...Но это еще не все...
Немного ниже я постараюсь вкратце расказать о существующих блоках, как подключить свой, как комбинировать несколько анимаций в одном действии...

Итак...Начну...
P.S. Здесь будет рассказано не о всех существующих блоках..
P.S.S Между UDKAnimBlend и UTAnimBlend нет абсолютно никакой разницы...


AnimNodeBlendByPhysics - блок отвечает за абсолютно всю физику, котрую использует персонаж( бег, прыжек, плавание и т.д.)...
UDKAnimBlendByPhysics - урезанная версия AnimNodeBlendByPhysics...
AnimNodeAimOffset - позволяет заставить персонажа следить за прицелом, поворачивать головой и т.д.9зависит от того, что вам нужно)
AnimNodeBlend - пустой блок
AnimNodeBlendPerBone - тоже пустой блок, его действие необходимо описывать в скрипте...Его приимущество - возможность комбинировать несколько анимаций...
AnimNodeBlendByPosture и UDKAnimBlendByPosture - идтиидти пригнувшись(красться)
AnimNodeBlendDirectional - бег вперед, назад, стреф вправо, влево...
UDKAnimBlendByDriving - проверка на использование персонажем транспортного средства...
UDKAnimBlendByFall - прыжок
UDKAnimBlendByFlying - полет(имеется ввиду полет не на транспортном средстве, а самого персонажа)
UDKAnimBlendByDriving - проверка используется ТСне используется...
UDKAnimBlendByIdle - ожиданиебег
UDKAnimBlendBySpeed - бегходьба(может быть спринт) - изменяется в зависиости от скорости перемещения персонажа...
UDKAnimBlendByTurnInPlace - разворот на месте...
UDKAnimBlendByVehicle - использование HoverBoard(летающей доски) другого ТС...
UDKAnimBlendByWeapon - проверка, ведется огонь или нет...
UDKAnimBlendByWeapType - воспроизведение различных анимаций. взависимости от типа оружия...
UDKAnimNodeSequence - анимация...

Ниже будет рассказано как подключать свой блок + комбинирование анимаций(для продвинутых пользователей)
Я плохо знаком с программированием, поэтому могу где нибудь чушь спороть)

Создаем блок AnimNodeBlendPerBone, в Brunch Start Bone Name указываем название кости, которая будет разделять меш, выше(ниже) которой будет проигрываться определенная анимация...
Даем этому блоку название(имена опций значения не имеют)
К первой опции цепляем основные действия, ко второй UDKAnimNodeSequence с новой анимацией...
Далее скрипт...Все делается в Pawn классе...

var AnimNodeBlendPerBone произвольное_название;

simulated function ваша_функцияStart() // начало выполнения AnimBlend
{
    произвольное_название = AnimNodeBlendPerBone(mesh.FindAnimNode('Название, которое вы дали в AnimTree Editor'е'));
    произвольное_название.SetBlendTarget(1.0,0.5); // 1.0 - высота значения ползунка, 0.5 - время
}
simulated function ваша_функцияEnd() // окончание выполнения AnimBlend
{
    произвольное_название = AnimNodeBlendPerBone(mesh.FindAnimNode('Название, которое вы дали в AnimTree Editor'е'));
    произвольное_название.SetBlendTarget(0.0,0.5); // 0.0 - высота значения ползунка, 0.5 - время
}

Так же можно сделать это все в одной функции церез булеву переменную, но у меня в таком случае работало только в одну сторону...В общем экспериментируйте..
Потом эти функции можете использовать как душе угодно...

Немного позже выложу исходники данного тутора...
Здесь можно посмотреть как примерно это выглядит, и что будет в исходниках...
 
Как всегда прошу в комментах оставлять замечания и пожелания по поводу дальнейшего исправления и дополнения тутора...
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1 написал: Netkiller
17 Апреля 2010 11:45 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
А как ты убрал прицел??
Публикаций: 0 | Комментариев: 0      
#2 написал: PROOF
17 Апреля 2010 11:52 | ICQ: 6668742 |


Группа: Администраторы
Регистрация: 16.12.2009
Netkiller, я просто его и не ставил, чтобы убирать)...
Вообще это делается в классе твоего оружия...


--------------------
Публикаций: 12 | Комментариев: 113      
#3 написал: alexut
17 Апреля 2010 18:02 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 12.12.2009
КТРУТО! good shok


--------------------
Публикаций: 0 | Комментариев: 46      
#4 написал: ROMAshka
17 Апреля 2010 18:22 | ICQ: Не Указано |


Группа: Активист
Регистрация: 2.12.2009
Саш ава не плохая!
Тутор будем смотреть) Заранее спасибо!


--------------------
Публикаций: 0 | Комментариев: 60      
#5 написал: smitt
19 Апреля 2010 02:31 | ICQ: 358667420 |


Группа: Модераторы
Регистрация: 22.12.2009
Proof,спасибо,удачно я зашел)
Публикаций: 0 | Комментариев: 12      
#6 написал: Joker_47
19 Апреля 2010 11:55 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
сделал , все получилось (спасибо за урок) , но модель перса почему-то переодически становится прозрачной в чем проблема ?
Публикаций: 0 | Комментариев: 0      
#7 написал: PROOF
19 Апреля 2010 14:10 | ICQ: 6668742 |


Группа: Администраторы
Регистрация: 16.12.2009
Частый косяк...Но почему то исправляется сам по себе))
Или попробуй сделать PhisicsAsset для своей модели...


--------------------
Публикаций: 12 | Комментариев: 113      
#8 написал: Joker_47
19 Апреля 2010 14:38 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
ок попробую спасибо за совет , так же я определил (но может мне и показалось) что исчезновения эти происходят когда прицел попадает на модель игрока
Публикаций: 0 | Комментариев: 0      
#9 написал: Artmancarver
21 Апреля 2010 05:15 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 17.12.2009
Спасибо за тутор, PROOF - сам бы я ввек до такого не додумался
Публикаций: 0 | Комментариев: 12      
#10 написал: smitt
30 Апреля 2010 15:09 | ICQ: 358667420 |


Группа: Модераторы
Регистрация: 22.12.2009
Пруф,можешь,когда будешь выкладывать положить и .psk,psa?
Публикаций: 0 | Комментариев: 12      
#11 написал: kanonikvova
7 Декабря 2010 15:35 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 19.11.2010
Спасибо, доступный и понятный тутор даже для такого нуба как я). Благодаря данному тутору задуманное получилось с 1 раза. Есть и проблемы, например: как быть если у каждого персонажа свой анимсет\анимтри, а в UTPawn я добавляю только 1 анимтри... но это дело времени, разберемся.
Публикаций: 0 | Комментариев: 3      
#12 написал: ex4
11 Февраля 2011 20:23 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 19.12.2010
Как сделать чтобы персонаж возвращался сам обратно? То есть поворот мыши-персонаж нагнулся и в таком положении прибывает пока мы его мышью обратно не вернём, нужно что бы он сам стремился к центру


--------------------
Публикаций: 0 | Комментариев: 5      
#13 написал: FACH
11 Февраля 2011 20:34 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
причем тут анимтрее?
Скрипти


--------------------
Публикаций: 134 | Комментариев: 778      
#14 написал: ex4
12 Февраля 2011 11:03 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 19.12.2010
Пример в студию плиз


--------------------
Публикаций: 0 | Комментариев: 5      
#15 написал: ahtam
20 Февраля 2011 18:13 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
у меня чет не получилось,все делал чисто по уроку и ничего,у меня как стоял персонаж как истукан так и стоит((
Публикаций: 0 | Комментариев: 0      
#16 написал: FACH
20 Февраля 2011 18:33 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
Где стоит? Как стоит?


--------------------
Публикаций: 134 | Комментариев: 778      
#17 написал: ahtam
20 Февраля 2011 18:38 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
анимация персонажа имееться ввиду не проигрываеться,а он стоит так же как я импортировал его из 3ds max'а
Публикаций: 0 | Комментариев: 0      
#18 написал: FACH
20 Февраля 2011 19:22 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
Анимсет сделал? Ты узлы копировал или с нуля добавлял? Если с нуля, то группы анимациям создал в анимтрее?


--------------------
Публикаций: 134 | Комментариев: 778      
#19 написал: ahtam
20 Февраля 2011 19:38 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
в смысле узлы копировал или с нуля добавлял?

анимсет сделал
Публикаций: 0 | Комментариев: 0      
#20 написал: FACH
20 Февраля 2011 19:55 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
млять, вот что ты сделал по уроку? Скрин давай тогда. Урок по анимтрее


--------------------
Публикаций: 134 | Комментариев: 778      
#21 написал: ahtam
20 Февраля 2011 20:09 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
Публикаций: 0 | Комментариев: 0      
#22 написал: FACH
20 Февраля 2011 20:36 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
настройки общие не показал, ну я догадываюсь что групп нет, так как сам с этим столкнулся, раньше без них работало.
Короче, читай
http://unreal-level.ru/255-animation-system-overview.html
Анимгруппы


--------------------
Публикаций: 134 | Комментариев: 778      
#23 написал: ahtam
20 Февраля 2011 21:00 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
мне это не помогло
Публикаций: 0 | Комментариев: 0      
#24 написал: FACH
20 Февраля 2011 21:18 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
кидай пак в личку или сюда - как хочешь


--------------------
Публикаций: 134 | Комментариев: 778      
#25 написал: Ate1st
20 Февраля 2011 21:36 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
Fach почему анимации с названиями из K_AnimHuman_BaseMale работают а с моими названиями нет?
Публикаций: 0 | Комментариев: 0      
#26 написал: ahtam
20 Февраля 2011 21:44 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
Публикаций: 0 | Комментариев: 0      
#27 написал: FACH
20 Февраля 2011 22:00 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
Ate1st, а где ты менял названия и как?
ahtam, февраль чтоль?


--------------------
Публикаций: 134 | Комментариев: 778      
#28 написал: ahtam
20 Февраля 2011 22:04 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
да
Публикаций: 0 | Комментариев: 0      
#29 написал: FACH
20 Февраля 2011 22:08 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
Тогда до завтра, скорость скачки ужасна


--------------------
Публикаций: 134 | Комментариев: 778      
#30 написал: Ate1st
20 Февраля 2011 22:30 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
Fach анимации из сталкера, названия писал в actorx, когда сохранял. анимации с моими названиями воспроизводятся в анимсет редакторе, а в анимтри нет.
Публикаций: 0 | Комментариев: 0      
Назад 1 2 3 Далее
Информация
Посетители, находящиеся в группе Гости, не могут оставлять Комментарии в данной новости...


николь кидман фильмы смотреть онлайн . гидрокостюмы для подводной охоты в интернет Москва . гидрокостюм mares в интернет магазине . обслуживание компьютеров . компьютерное обслуживание




При копировании материалов, активная ссылка на UNREAL-LEVEL.RU обязательна!
© 2008—2012, UNREAL-LEVEL.RU. Все права защищены.