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...
AnimationNodeBlendSpace1D
Успадковує: AnimationRootNode < AnimationNode < Resource < RefCounted < Object
Набір AnimationRootNode, розміщений на віртуальній осі, перехресний між двома сусідніми. Використовується AnimationTree.
Опис
Ресурс, що використовується AnimationNodeBlendTree.
AnimationNodeBlendSpace1D представляє віртуальну вісь, на яку можна додати будь-який тип AnimationRootNode за допомогою add_blend_point(). Виводить лінійне змішування двох AnimationRootNode, розташованих поруч з поточним значенням.
Ви можете задати ширину осі за допомогою min_space та max_space.
Посібники
Властивості
|
||
|
||
|
||
|
||
|
||
|
||
|
Методи
void |
add_blend_point(node: AnimationRootNode, pos: float, at_index: int = -1, name: StringName = &"") |
find_blend_point_by_name(name: StringName) const |
|
get_blend_point_count() const |
|
get_blend_point_name(point: int) const |
|
get_blend_point_node(point: int) const |
|
get_blend_point_position(point: int) const |
|
void |
remove_blend_point(point: int) |
void |
reorder_blend_point(from_index: int, to_index: int) |
void |
set_blend_point_name(point: int, name: StringName) |
void |
set_blend_point_node(point: int, node: AnimationRootNode) |
void |
set_blend_point_position(point: int, pos: float) |
Переліки
enum BlendMode: 🔗
BlendMode BLEND_MODE_INTERPOLATED = 0
Інтерполяція між анімаціями лінійна.
BlendMode BLEND_MODE_DISCRETE = 1
Простір змішування відтворює анімацію вузла анімації, позиція змішування якої є найближчою. Корисно для покадрової 2D-анімації.
BlendMode BLEND_MODE_DISCRETE_CARRY = 2
Подібно до BLEND_MODE_DISCRETE, але починає нову анімацію з позиції відтворення останньої анімації.
enum SyncMode: 🔗
SyncMode SYNC_MODE_NONE = 0
Неактивні анімації зупиняються і не продовжуються.
SyncMode SYNC_MODE_INDEPENDENT = 1
Неактивні анімації відтворюються з вагою 0. Це відповідає попередній поведінці sync = true.
SyncMode SYNC_MODE_CYCLIC_MUTABLE = 2
Усі анімації масштабуються за часом, щоб залишатися синхронізованими, при цьому тривалість циклу обчислюється динамічно на основі активних ваг переходу. Ця функція самонормалізується: анімація, що відтворюється окремо, показується зі звичайною швидкістю.
Примітка: Якщо ви застосуєте AnimationNodeTimeSeek до результату при обробці анімацій різної тривалості, синхронізація буде порушена. У таких випадках рекомендується використовувати AnimationNodeAnimation.use_custom_timeline для вирівнювання тривалості анімацій.
SyncMode SYNC_MODE_CYCLIC_CONSTANT = 3
Усі анімації масштабуються за часом так, щоб вони проходили один цикл за cyclic_length секунд, що забезпечує їхню синхронізацію незалежно від індивідуальної тривалості.
Примітка: Якщо ви застосуєте AnimationNodeTimeSeek до результату при обробці анімацій різної тривалості, синхронізація буде порушена. У таких випадках рекомендується використовувати AnimationNodeAnimation.use_custom_timeline для вирівнювання тривалості анімацій.
Описи властивостей
Керує інтерполяцією між анімаціями.
Тривалість циклу в секундах, що використовується константою SYNC_MODE_CYCLIC_CONSTANT. Усі анімації масштабуються за часом так, щоб за цей проміжок часу вони встигали пройти один повний цикл. Щоб циклічна синхронізація запрацювала, це значення має бути більшим за 0.
Верхня межа осі простору змішування для положення точок. Дивіться add_blend_point().
Нижня межа осі простору змішування для розташування точок. Дивіться add_blend_point().
Приріст позиції, до якого слід прив'язуватися при переміщенні точки на осі.
Застаріло: Use sync_mode instead.
Якщо true, режим синхронізації увімкнено (еквівалентно SYNC_MODE_INDEPENDENT). Ця властивість збережено з метою забезпечення зворотної сумісності.
Визначає, як синхронізуються анімації під час плавного переходу. Доступні параметри наведено в SyncMode.
String value_label = "value" 🔗
Мітка віртуальної осі простору змішування.
Описи методів
void add_blend_point(node: AnimationRootNode, pos: float, at_index: int = -1, name: StringName = &"") 🔗
Додає нову точку з name, яка представляє node на віртуальній осі у заданій позиції, визначеній pos. Ви можете вставити її під певним індексом, використовуючи аргумент at_index. Якщо для at_index використовується значення за замовчуванням, точка вставляється в кінець масиву точок переходу.
Примітка: Якщо ім'я не вказано, як посилання використовується безпечний індекс. У майбутньому порожні імена будуть вилучені з використання, тому рекомендується явно вказувати ім'я.
int find_blend_point_by_name(name: StringName) const 🔗
Повертає індекс точки злиття із заданим name. Повертає -1, якщо точка злиття з таким іменем не знайдена.
int get_blend_point_count() const 🔗
Повертає кількість точок на осі змішування.
StringName get_blend_point_name(point: int) const 🔗
Повертає ім'я точки злиття за індексом point.
AnimationRootNode get_blend_point_node(point: int) const 🔗
Повертає AnimationNode, на який посилається точка з індексом point.
float get_blend_point_position(point: int) const 🔗
Повертає позицію точки за індексом point.
void remove_blend_point(point: int) 🔗
Видаляє з осі змішування точку з індексом point.
void reorder_blend_point(from_index: int, to_index: int) 🔗
Обмінює точки змішування за індексами from_index та to_index, міняючи їхні позиції та властивості місцями.
void set_blend_point_name(point: int, name: StringName) 🔗
Встановлює ім'я точки злиття за індексом point. Якщо ім'я дублюється з іменем існуючої точки, автоматично буде згенеровано унікальне ім'я.
void set_blend_point_node(point: int, node: AnimationRootNode) 🔗
Змінює AnimationNode, на який посилається точка з індексом point.
void set_blend_point_position(point: int, pos: float) 🔗
Оновлює позицію точки з індексом point на осі змішування.