Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Типи треків анімації
На цій сторінці наведено огляд типів доріжок, доступних для вузла анімаційного програвача Godot на додаток до доріжок властивостей за замовчуванням.
Дивись також
Ми припускаємо, що ви вже прочитали Вступ до функцій анімації, який охоплює основи, включно з треками властивостей.
Трек власності
Найпростіший тип доріжки. Перегляньте Вступ до функцій анімації.
Позиція 3D / Обертання 3D / Масштаб 3D трек
Ці доріжки 3D-перетворення керують розташуванням, обертанням і масштабом 3D-об’єкта. Вони полегшують анімацію трансформації 3D-об’єкта порівняно з використанням звичайних доріжок властивостей.
Він призначений для анімацій, імпортованих із зовнішніх 3D-моделей, і може зменшити ресурсний ресурс за допомогою стиснення.
Доріжка форми змішування
Трек форми змішування оптимізовано для анімації форми змішування в MeshInstance3D.
Він призначений для анімацій, імпортованих із зовнішніх 3D-моделей, і може зменшити ресурсний ресурс за допомогою стиснення.
Трек методу виклику
Доріжка методу виклику дозволяє викликати функцію в точний час із анімації. Наприклад, ви можете викликати queue_free(), щоб видалити вузол у кінці анімації смерті.
Примітка
Події, розміщені на доріжці методу виклику, не виконуються, коли анімація попередньо переглядається в редакторі з міркувань безпеки.
Щоб створити таку доріжку в редакторі, натисніть «Додати доріжку -> Доріжку методу виклику». Потім відкриється вікно, у якому ви зможете вибрати вузол, який потрібно зв’язати з доріжкою. Щоб викликати один із методів вузла, клацніть правою кнопкою миші часову шкалу та виберіть «Вставити ключ». Відкриється вікно зі списком доступних методів. Двічі клацніть один, щоб завершити створення ключового кадру.
Щоб змінити виклик методу або його аргументи, натисніть клавішу та перейдіть до док-станції інспектора. Там ви можете змінити спосіб виклику. Якщо розгорнути розділ «Аргументи», ви побачите список аргументів, які можна редагувати.
Щоб створити таку доріжку за допомогою коду, передайте словник, який містить назву цільового методу та параметри, як варіант для key в Animation.track_insert_key(). Ключі та їхні очікувані значення такі:
Ключ |
Значення |
|---|---|
|
Назва методу як |
|
Аргументи для передачі функції як |
# Create a call method track.
func create_method_animation_track():
# Get or create the animation the target method will be called from.
var animation = $AnimationPlayer.get_animation("idle")
# Get or create the target method's animation track.
var track_index = animation.add_track(Animation.TYPE_METHOD)
# Make the arguments for the target method jump().
var jump_velocity = -400.0
var multiplier = randf_range(.8, 1.2)
# Get or create a dictionary with the target method's name and arguments.
var method_dictionary = {
"method": "jump",
"args": [jump_velocity, multiplier],
}
# Set scene-tree path to node with target method.
animation.track_set_path(track_index, ".")
# Add the dictionary as the animation method track's key.
animation.track_insert_key(track_index, 0.6, method_dictionary, 0)
# The target method that will be called from the animation.
func jump(jump_velocity, multiplier):
velocity.y = jump_velocity * multiplier
// Create a call method track.
public void CreateAnimationTrack()
{
// Get reference to the AnimationPlayer.
var animationPlayer = GetNode<AnimationPlayer>("AnimationPlayer");
// Get or create the animation the target method will be called from.
var animation = animationPlayer.GetAnimation("idle");
// Get or create the target method's animation track.
var trackIndex = animation.AddTrack(Animation.TrackType.Method);
// Make the arguments for the target method Jump().
var jumpVelocity = -400.0;
var multiplier = GD.RandRange(.8, 1.2);
// Get or create a dictionary with the target method's name and arguments.
var methodDictionary = new Godot.Collections.Dictionary
{
{ "method", MethodName.Jump },
{ "args", new Godot.Collections.Array { jumpVelocity, multiplier } }
};
// Set scene-tree path to node with target method.
animation.TrackSetPath(trackIndex, ".");
// Add the dictionary as the animation method track's key.
animation.TrackInsertKey(trackIndex, 0.6, methodDictionary, 0);
}
// The target method that will be called from the animation.
private void Jump(float jumpVelocity, float multiplier)
{
Velocity = new Vector2(Velocity.X, jumpVelocity * multiplier);
}
Крива Безьє
Доріжка кривої Безьє подібна до доріжки властивостей, за винятком того, що вона дозволяє анімувати значення властивості за допомогою кривої Безьє.
Примітка
Доріжку кривої Без’є та доріжку властивостей не можна змішувати в AnimationPlayer та AnimationTree.
Щоб створити його, натисніть «Додати доріжку -> Доріжку кривої Безьє». Як і у випадку зі слідами властивостей, вам потрібно вибрати вузол і властивість для анімації. Щоб відкрити редактор кривої Безьє, клацніть піктограму кривої праворуч від доріжки анімації.
У редакторі ключі представлені заповненими ромбами та окресленими ромбами, з’єднаними з ними за допомогою форми контрольної кривої.
Порада
Для кращої точності під час ручної роботи з кривими ви можете змінити рівні масштабування редактора. Повзунок у нижній правій частині редактора можна використовувати для збільшення та зменшення осі часу, ви також можете зробити це за допомогою Ctrl + Shift + Mouse wheel. Використання Ctrl + Alt + Mouse wheel збільшить і зменшить масштаб осі Y
Коли вибрано ключовий кадр (а не маркер), на панелі редактора, клацнувши правою кнопкою миші, ви можете вибрати режим маркера:
Вільно: дозволяє орієнтувати маніпулятора в будь-якому напрямку, не впливаючи на положення іншого.
Лінійний: не допускає обертання маніпулятора та малює лінійний графік.
Збалансований: маніпулятори обертаються разом, але відстань між клавішею та маніпулятором не відображається.
Mirrored: робить положення одного маніпулятора ідеальним відображенням іншого, включаючи їх відстань до клавіші.
Доріжка для відтворення аудіо
Якщо ви хочете створити анімацію зі звуком, вам потрібно створити звукову доріжку для відтворення. Щоб створити його, ваша сцена повинна мати вузол AudioStreamPlayer, AudioStreamPlayer2D або AudioStreamPlayer3D. Створюючи трек, ви повинні вибрати один із цих вузлів.
Щоб відтворити звук у вашій анімації, перетягніть аудіофайл із док-станції файлової системи на доріжку анімації. Ви повинні побачити форму хвилі вашого аудіофайлу на доріжці.
Щоб видалити звук з анімації, ви можете клацнути його правою кнопкою миші та вибрати «Видалити ключ(и)» або клацнути його та натиснути клавішу Del.
Режим змішування дозволяє вибрати, чи регулювати гучність звуку під час змішування в AnimationTree.
Трек відтворення анімації
Доріжки відтворення анімації дозволяють вам послідовність анімацій інших вузлів програвача анімації в сцені. Наприклад, ви можете використовувати його для анімації кількох персонажів у кат-сцені.
Щоб створити доріжку відтворення анімації, виберіть «Нова доріжка -> Доріжка відтворення анімації»
Потім виберіть програвач анімації, який потрібно пов’язати з треком.
Щоб додати анімацію до треку, клацніть на ньому правою кнопкою миші та вставте ключ. Виберіть щойно створений ключ, щоб вибрати анімацію в панелі інспектора.
Якщо анімація вже відтворюється і ви хочете зупинити її раніше, ви можете створити ключ і встановити для нього значення [STOP] в інспекторі.
Примітка
Якщо ви встановили сцену, яка містить програвач анімації, у вашій сцені, вам потрібно ввімкнути «Редаговані діти» в дереві сцени, щоб отримати доступ до програвача анімації. Крім того, програвач анімації не може посилатися на себе.