Анимации Spine
Вы можете добавлять в игру анимированные интерактивные объекты, используя нашу библиотеку из более чем 50 000 ригов Spine.
Когда использовать Spine_Animator по сравнению с Spine_Instance
Справочник по API Spine (CSL)
// Компонент — прикрепляется к сущностям в мире
Spine_Animator :: class : Component {
depth_offset: float;
layer: s32;
mask_in_shadow: bool;
instance: Spine_Instance #read_only;
// Визуальные параметры
color_multiplier: v4;
scale: v2;
speed_multiplier: float;
state_machine: State_Machine #read_only;
set_skeleton :: method(asset: Spine_Asset) -> u64;
get_skeleton :: method(id: u64 = 0) -> Spine_Asset;
set_animation :: method(animation: string, loop: bool, track: s64, speed: float = 1);
// Скины
set_skin :: method(skin: string);
enable_skin :: method(skin: string);
disable_skin :: method(skin: string);
disable_all_skins :: method();
refresh_skins :: method();
get_skins :: method() -> []string;
set_to_setup_pose :: method();
// Локальные смещения костей (для продвинутых)
get_bone_local_position :: method(bone_name: string) -> v2;
set_bone_local_position :: method(bone_name: string, position: v2);
// Необязательно: управлять анимациями через конечный автомат
set_state_machine :: method(machine: State_Machine, transfer_ownership: bool);
set_color_replace_color :: method(color: Color_Replace_Color);
set_material :: method(material: Material, transfer_ownership: bool);
get_tint :: method() -> v4;
set_tint :: method(tint: v4);
set_destroy_entity_when_done_current_animation :: method(enabled: bool);
}Добавление анимированных объектов в ваш мир
Примеры
Открываемый сундук
Ходящая курица
Управляемая машина
Скины (варианты/образы)
События анимации
Самостоятельные экземпляры и UI.spine
Конечные автоматы (необязательно, для сложной логики анимаций)
Что делает конечный автомат
Минимальный пример: idle/walk + триггер атаки
Поиск и устранение неполадок
Пользовательские скины/анимации игрока
Формат рига Spine
Создание собственных анимаций
Формат экспорта
Последнее обновление