Spine 动画
你可以使用我们现有的 50k+ Spine 骨骼库,为你的游戏添加可交互的动画对象。
何时使用 Spine_Animator 与 Spine_Instance
Spine_Animator 与 Spine_InstanceSpine API 参考(CSL)
Spine_Animator :: class : Component {
depth_offset: float;
layer: s32;
instance: Spine_Instance #read_only;
}
Spine_Instance_Base :: class {
// 视觉
color_multiplier: v4;
scale: v2;
speed_multiplier: float;
state_machine: State_Machine #read_only;
color_replace_color: Color_Replace_Color #read_only;
set_color_replace_color :: method(color: Color_Replace_Color);
set_material :: method(material: Material, transfer_ownership: bool);
}
Spine_Instance :: class : Spine_Instance_Base {
create :: proc() -> Spine_Instance;
destroy :: method();
update :: method(dt: float);
set_skeleton :: method(asset: Spine_Asset);
get_skeleton :: method() -> 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;
// 骨骼局部偏移(高级)
get_bone_local_position :: method(bone_name: string) -> v2;
set_bone_local_position :: method(bone_name: string, position: v2);
// 可选:通过状态机驱动动画
set_state_machine :: method(new_state_machine: State_Machine, transfer_ownership: bool);
}将动画对象添加到你的世界中
示例
可开启的宝箱
行走的鸡
可驾驶的汽车
皮肤(变体/服装)
状态机(可选,用于复杂动画逻辑)
状态机的作用
最小示例:idle/walk + attack 触发器
故障排除
自定义玩家皮肤/动画
Spine Rig 格式
创建你自己的动画
导出格式
最后更新于