Animation event unity как использовать
Перейти к содержимому

Animation event unity как использовать

Использование событий в анимации

Сила анимационных клипов может быть увеличена с помощью событий анимации ( Animation Events ), которые позволяют вам вызывать функции в скриптах объекта в указанных точках временной шкалы клипа.

Функция, вызываемая событием анимации может дополнительно принимать один параметр. Параметр может быть числом с плавающей точкой, строкой, целым числом, ссылкой на объект или AnimationEvent объектом. Объект AnimationEvent имеет переменные-члены, позволяющие передать число с плавающей точкой, строку, целое число, ссылку на объект, которые будут переданы в функцию все сразу, наряду с другой информацией о событии, которое осуществило вызов функции.

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

События анимации ( Animation Events ) показываются в строке событий ( Event Line ). Добавляйте новое событие анимации двойным щелчком по строке событий или с помощью кнопки Event .

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

Всплывающее диалоговое окно добавления события анимации ( Animation Event ) позволяет вам указать какую функцию вызывать с каким значением параметра.

Добавленные к клипу события в строке событий показываются в виде маркеров. Удержание мыши над маркером показывает подсказку с именем функции и значением параметра.

Удержание мыши над маркером ( Animation Event marker ) показывает подсказку с именем функции и значением параметра.

Использование событий анимации

Вы можете повысить полезность анимационных клипов анимационных данных, которые можно использовать для анимированных персонажей или простых анимаций. Это простое «единичное» движение, такое как (один конкретный пример) «Простояние», «Ходьба» или «Бег». Подробнее
См. в Словарь с помощью событий анимации, которые позволяют вызывать функции в сценарий объекта в указанные моменты временной шкалы.

Функция, вызываемая событием анимации, также может принимать один параметр. Параметр может быть float , string , int или object или объект AnimationEvent. Объект AnimationEvent имеет переменные-члены, которые позволяют одновременно передавать в функцию число с плавающей запятой, строку, целое число и ссылку на объект вместе с другой информацией о Событии, вызвавшем вызов функции.

// This C# function can be called by an Animation Event public void PrintFloat (float 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 >

Создайте файл сценария с этим примером кода и поместите его в папку проекта (щелкните правой кнопкой мыши в окне проекта в Unity и выберите Создать > Сценарий C#, затем скопируйте и вставьте приведенный выше пример кода в файл и сохраните его).

В Unity создайте Cube GameObject (меню: GameObject основной объект в сценах Unity, который может представлять персонажей, реквизит , декорации, камеры, путевые точки и т. д. Функциональность GameObject определяется компонентами, прикрепленными к нему. Подробнее
См. в Словарь > 3D-объект Игровой 3D-объект, такой как куб, ландшафт или тряпичная кукла. Подробнее
См. в разделе Словарь > Куб). Чтобы добавить к нему новый файл сценария, перетащите его из окна «Проект» в окно «Инспектор».

Выберите куб, а затем откройте окно анимации (меню: Окно > Анимация > Анимация или используйте Ctrl+6). Задайте кривую Position для координаты x.

Окно AnimationОкно Animation

Затем установите анимацию для координаты x, чтобы она увеличилась примерно до 0,4, а затем вернулась к нулю в течение 1 секунды, затем создайте событие анимации примерно на 0,8 секунды. Нажмите Play, чтобы запустить анимацию.

Using Animation Events

You can increase the usefulness of Animation clips Animation data that can be used for animated characters or simple animations. It is a simple “unit” piece of motion, such as (one specific instance of) “Idle”, “Walk” or “Run”. More info
See in Glossary by using Animation Events, which allow you to call functions in the object’s script at specified points in the timeline.

The function called by an Animation Event also has the option to take one parameter. The parameter can be a float , string , int , or object reference, or an AnimationEvent object. The AnimationEvent object has member variables that allow a float, string, integer and object reference to be passed into the function all at once, along with other information about the Event that triggered the function call.

To add an Animation Event to a clip at the current playhead position, click the Event button. To add an Animation event to any point in the Animation, double-click the Event line at the point where you want the Event to be triggered. Once added, you can drag the mouse to reposition the Event. To delete an Event, select it and press the Delete key, or right-click on it and select Delete Event.

Animation Events are shown in the Event Line. Add a new Animation Event by double-clicking the Event Line or by using the Event button.Animation Events are shown in the Event Line. Add a new Animation Event by double-clicking the Event Line or by using the Event button.

When you add an Event, the Inspector A Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary Window displays several fields. These fields allow you to specify the name of the function you want to call, and the value of the parameter you want to pass to it.

The Animation Event Inspector WindowThe Animation Event Inspector Window

The Events added to a clip are shown as markers in the Event line. Hold the mouse over a marker to show a tooltip with the function name and parameter value.

You can select and manipulate multiple Events in the timeline.

To select multiple Events in the timeline, hold the Shift key and select Event markers one by one to add them to your selection. You can also drag a selection box across them; click and drag within the Event marker area, like this:

Example

This example demonstrates how to add Animation Events to a simple GameObject. When all the steps are followed, the Cube animates forwards and backwards along the x-axis during Play mode, and the Event message is displayed in the console every 1 second at the 0.8 second time.

The example requires a small script with the function PrintEvent() . This function prints a debug message which includes a string (“called at:”) and the time:

Create a script file with this example code and place it in your Project folder (right-click inside the Project window in Unity and select Create > C# Script, then copy and paste the above code example into the file and save it).

In Unity, create a Cube GameObject (menu: GameObject The fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary > 3D Object A 3D GameObject such as a cube, terrain or ragdoll. More info
See in Glossary > Cube). To add your new script file to it, drag and drop it from the Project window into the Inspector window.

Select the Cube and then open the Animation window (menu: Window > Animation > Animation or use ctrl+6). Set a Position curve for the x coordinate.

Animation windowAnimation window

Next, set the animation for the x coordinate to increase to around 0.4 and then back to zero over 1 second, then create an Animation Event at approximately 0.8 seconds. Press Play to run the animation.

Добавить комментарий

Ваш адрес email не будет опубликован.