Вы можете повысить полезность анимационных клипованимационных данных, которые можно использовать для анимированных персонажей или простых анимаций. Это простое «единичное» движение, такое как (один конкретный пример) «Простояние», «Ходьба» или «Бег». Подробнее
См. в Словарь с помощью событий анимации, которые позволяют вызывать функции в сценарий объекта в указанные моменты временной шкалы.
Функция, вызываемая событием анимации, также может принимать один параметр. Параметр может быть float
, string
, int
или object
или объект AnimationEvent. Объект AnimationEvent имеет переменные-члены, которые позволяют одновременно передавать в функцию число с плавающей запятой, строку, целое число и ссылку на объект вместе с другой информацией о Событии, вызвавшем вызов функции.
// This C# function can be called by an Animation Event
public void PrintFloat (float theValue) {
Debug.Log ("PrintFloat is called with a value of " + theValue);
}
Чтобы добавить событие анимации к клипу в текущей позиции указателя воспроизведения, нажмите кнопку Событие. Чтобы добавить событие анимации в любую точку анимации, дважды щелкните строку Событие в том месте, где вы хотите запустить событие. После добавления вы можете перетащить мышь, чтобы изменить положение события. Чтобы удалить событие, выберите его и нажмите клавишу Удалить или щелкните его правой кнопкой мыши и выберите Удалить событие.
При добавлении события Inspectorоткрывается окно Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта. , что позволяет просматривать и редактировать значения. Дополнительная информация
См. в Словарь Окно отображает несколько полей. Эти поля позволяют вам указать имя функции, которую вы хотите вызвать, и значение параметра, который вы хотите передать ей.
События, добавленные в клип, отображаются в виде маркеров в строке событий. Наведите указатель мыши на маркер, чтобы отобразить всплывающую подсказку с именем функции и значением параметра.
Вы можете выбирать и управлять несколькими событиями на временной шкале.
Чтобы выбрать несколько событий на временной шкале, удерживайте клавишу Shift и выберите маркеры событий один за другим, чтобы добавить их к вашему выбору. Вы также можете перетащить через них рамку выбора; щелкните и перетащите в области маркера события, например:
Пример
В этом примере показано, как добавить события анимации в простой игровой объект. Когда все шаги выполнены, куб анимируется вперед и назад по оси x в режиме воспроизведения, а сообщение о событии отображается на консоли каждую 1 секунду с интервалом 0,8 секунды.
Для примера требуется небольшой скрипт с функцией PrintEvent()
. Эта функция выводит отладочное сообщение, содержащее строку («вызывается по адресу:») и время:
// This C# function can be called by an Animation Event
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public void PrintEvent(string s)
{
Debug.Log("PrintEvent: " + s + " called at: " + Time.time);
}
}
Создайте файл сценария с этим примером кода и поместите его в папку проекта (щелкните правой кнопкой мыши в окне проекта в Unity и выберите Создать > Сценарий C#, затем скопируйте и вставьте приведенный выше пример кода в файл и сохраните его).
В Unity создайте Cube GameObject (меню: GameObjectосновной объект в сценах Unity, который может представлять персонажей, реквизит , декорации, камеры, путевые точки и т. д. Функциональность GameObject определяется компонентами, прикрепленными к нему. Подробнее
См. в Словарь > 3D-объектИгровой 3D-объект, такой как куб, ландшафт или тряпичная кукла. Подробнее
См. в разделе Словарь > Куб). Чтобы добавить к нему новый файл сценария, перетащите его из окна «Проект» в окно «Инспектор».
Выберите куб, а затем откройте окно анимации (меню: Окно > Анимация > Анимация или используйте Ctrl+6). Задайте кривую Position для координаты x.
Затем установите анимацию для координаты x, чтобы она увеличилась примерно до 0,4, а затем вернулась к нулю в течение 1 секунды, затем создайте событие анимации примерно на 0,8 секунды. Нажмите Play, чтобы запустить анимацию.