Read this manual in English

Spine 模型

SpineModel 组件用于把 Spine 骨骼动画在 Defold 中呈现出来.

创建 Spine Model 组件

选择一个游戏对象:

方法一 直接创建组件(右键点击 游戏对象选择 Add Component ▸ Spine Model)

方法二 先创建文件 (在 资源 浏览器中 右键点击, 在上下文菜单中选择 New... ▸ Spine Model), 再在游戏对象上 右键点击 , 选择 Add Component File).

Spine Model 属性:

除了常见的 Id, PositionRotation 属性外, 还有 Spine Model 的特有属性:

Spine scene
设置先前创建的 Spine Scene.
Blend Mode
默认混合模式是 Alpha, 想用别的可以修改这个属性.
Material
如果想要使用自定义材质显示Spine模型, 在此指定.
Default animation
设置Spine模型默认的动画.
Skin
如果模型包含皮肤的话,这里可以设置Spine模型的默认皮肤.

此时就可以在编辑器里看到Spine模型了:

编辑器中的Spine模型

混合模式

Blend Mode 属性定义了可视组件如何与其后面的图像混合. 以下列举了支持的混合模式及其混合算法:

Alpha
普通混合: src.a * src.rgb + (1 - src.a) * dst.rgb
Add
使用相应组件的像素颜色值提亮背景: src.rgb + dst.rgb
Multiply
使用相应组件的像素颜色值调暗背景: src.rgb * dst.rgb
Screen
Multiply 的反向操作. 使用相应组件的像素颜色值提亮背景: src.rgb - dst.rgb * dst.rgb

运行时操作

有一系列方法可以在运行时修改Spine模型 (参见 API文档).

运行时动画

Defold 提供强大的运行时控制动画的功能, 参见 spine 动画教程.

修改属性

Spine模型可以使用 go.get()go.set() 方法修改其属性:

animation
当前Spine模型动画 (hash) (只读). 使用 spine.play_anim() 方法来更改播放动画 (参见 spine 动画教程).
cursor
标准化动画头 (number).
material
Spine模型材质 (hash). 可使用 go.set() 修改. 参见 这个例子的 API 用法.
playback_rate
动画播放速率 (number).
skin
当前组件的皮肤 (hash).

材质常量

默认 spine 材质常量可以使用 go.set()go.animate() 来修改 (参考 材质教程). 例如:

go.set("#spine", "tint", vmath.vector4(1,0,0,1))
go.animate("#spine", "tint", go.PLAYBACK_LOOP_PINGPONG, vmath.vector4(1,0,0,1), go.EASING_LINEAR, 2)
tint
3D网格颜色 (vector4). 四元数 x, y, z, 和 w 分别对应红, 绿, 蓝和不透明度.

相关项目配置

game.project 文件里有些关于Spine模型的 设置项目.