Ну, все в общем-то правильно, просто ошиблись в каком-то одном месте.
Проверьте все ли правильно делаете:
1) Выбираем корень скелета в
-сцене, переходим в режим Pose, выделяем те кости, которые двигаются анимацией.
2) Экспортируем в fbx (
File -> Export -> Autodesk FBX), поставив галочку
Selected Object в выпадающем меню "Export FBX" слева. Оси уже должны стоять правильные (Forward = -Z Forward и Up = Y Up). Проверьте еще что галочка
Enable Animation стоит.
Далее развилка:
3а) Копируем этот файл в Assets под именем
игрок@имя_анимации.fbx в ту же папку где лежит осн. файл модели
игрок@.fbx (вместо "игрок" и "название_анимации" конечно напишите свои названия). Тогда при добавлении
игрок.fbx в сцену путем перетаскивания из окна Project в окно Hierarchy эта анимация автоматом появится в компоненте
Animation.
либо
3б) Открываем в окне Project этот fbx-файл, выбираем файл с иконкой "белый лист с часиками", жмем Ctrl+D. В результате отдельно в нашем проекте создается клип анимации с расширением
anim. Называем его английскими буквами, добавляем в сцену объект с моделью (перетаскиванием), добавляем ему компонент
Animation, раскрываем выпадающий список Animations, и перетаскиваем добавляем этот файл в свободное поле Element.
4) Пишем скрипт, к-й затем повесим на объект с моделью.
animation.Play()
приводит к воспроизведению дефолтного клипа анимации, к-й указан в первом же поле Animation (а не в выпадающем списке). Чтобы воспроизвести наш клип, надо:
animation.Play("имя_файла");
Вот пример простого скрипта, к-й запускает анимацию "walk" при нажатии на "E".
Используется csharp
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
void Update() {
if (Input.GetKeyDown(KeyCode.E)) animation.Play("walk");
}
}
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами