Я новичок в Unity. Я использую последнюю версию Unity, 5.1.2f1 Personal.Как начать анимацию из специального кадра
Я хочу запустить анимацию из специального кадра. Не с первого раза.
Итак, я искал и получил эти ответы;
http://answers.unity3d.com/questions/181903/jump-to-a-specific-frame-in-an-animation.html
http://answers.unity3d.com/questions/425985/set-the-current-time-frame-of-a-mecanim-animation.html
Но в моем проекте, это не сработало! И я потратил свое время на решение этой проблемы.
Ситуация такова. Я создаю игру Rockman (Megaman).
И я должен реализовать, когда персонаж Нулевой использовать саблю при падении,
falling_shot анимация начинается с кадра.
Посмотрите эту картинку, чтобы помочь вам объяснить, что я должен делать.
Это простой вопрос. Если я могу получить доступ к каждому кадру напрямую с индексом массива анимации, то мне нужно просто установить индекс воспроизведения в индекс следующего кадра.
. Это не сложно.
Но в единстве, я не могу получить доступ к анимации компонентов непосредственно
, и я обнаружил, что я должен использовать оператор [дата], как;
// set start frame with time 0.5
animation["JumpShotA"].time = 0.5f;
Однако это не сработало. Вот мой код, который воспроизводит анимацию «JumpShotAir».
Это не код, который изменяет рамку анимации, а просто воспроизводит анимацию JumpShotAir.
using UnityEngine;
using System.Collections;
public class ZController : MonoBehaviour {
Animator _animator;
// Use this for initialization
void Start() {
_animator = GetComponent<Animator>();
var animation = GetComponent<Animation>();
var jumpShotA = animation["JumpShotA"];
animation.clip = jumpShotA.clip;
animation.Play();
}
// Update is called once per frame
void Update() {
}
}
Но этот код выглядит следующим образом; сообщение об ошибке NullReferenceException: GetRef.
Я действительно не знаю. Что я не так? Есть ли какие-либо проблемы в моем коде?
Могу ли я получить доступ к массиву компонента анимации напрямую? Как я могу получить к нему доступ?
Если вы хотите скачать мой тестовый проект, проверьте это.
Test project. Links to Google drive.
Спасибо за чтение.
Unity window обновленный. Пожалуйста, проверьте мою ошибку.
<iframe width="560" height="315" src="https://www.youtube.com/embed/gOzhNK6qjNQ" frameborder="0" allowfullscreen></iframe>
Я изменил тип анимации в наследство, но по-прежнему существует проблема ...
Я загрузил свою ситуацию. Пожалуйста, проверьте, что я совершил ошибку. Я думаю, что я добавил анимацию «JumpShotA» в массив анимаций правильно. –
Является ли ваш тип анимации устаревшим? если не установить его в устаревших, а затем попробовать. – Nain
Nain // Пожалуйста, проверьте мой фильм? Я изменил тип анимации на устаревшую, но проблема не исправлена ... –