我们的游戏大量使用Spine,我们想与大家分享一些经验。这是关于在Gamemaker中使用Spine的3个帖子的第一篇,重点是皮肤。很多皮肤。

在Plush Rangers中,我们想让角色穿着各种装备。我们开始为角色设计物品和收藏品时,展示这些物品在角色身上看起来很有趣。我们也想方便地支持不同的角色。每个角色都是一个皮肤,所有可以装备的物品都是皮肤。

https://i.redd.it/8mlkttcv2c5h1.gif

基础知识

在Spine中添加皮肤很简单。我们遇到的唯一困难是由于我们有很多皮肤,所以确保我们正在编辑正确的皮肤是非常重要的,以免破坏我们的角色。

  1. 选择要皮肤的插槽并点击“新…”⇒“皮肤占位符”
  2. 选择你的骨架中的“皮肤”文件夹并点击“新…”⇒“皮肤”
  3. 重要 - 确保你要编辑的皮肤在骨架中被选中。点击旁边的圆圈。
  4. 将图片文件拖拽到你创建的皮肤占位符中。

点击圆圈!

查看你的角色有多个皮肤时:

  1. 选择“视图”并打开“皮肤视图”
  2. 点击皮肤右边的针头来显示/隐藏皮肤
  3. 你点击的顺序将决定如果多个皮肤使用相同插槽时的优先级

点击针头!

高级配置

你不仅可以使用图片来创建皮肤。虽然我们的游侠都有相似的身体形状,但他们的头部看起来都很不同。因为我们想让脸部的眼睛或脸部在动画中移动,所以我们需要能够改变骨骼结构。

骨骼分配给不同皮肤

为皮肤添加骨骼

  1. 选择要添加到皮肤的骨骼
  2. 将它们拖拽到皮肤文件夹中

你也可以在皮肤中使用剪裁蒙版。我们使用了这个功能来让弗林的猫眼看起来更好。可以将剪裁蒙版添加到皮肤占位符中。(我认为剪裁蒙版是Spine的专业功能)

使用剪裁蒙版、不同骨骼和不同图片,我们可以自定义角色。动画可以使用特殊骨骼,并且只有当皮肤被启用时才会出现。这让我们有很多自定义的自由,并且所有内容都被包含在一个项目中。

Gamemaker中的代码

Gamemaker使得工作与皮肤非常容易。在Plush Rangers中,我们在数据库中配置了角色和装备的皮肤。

对于角色,我们跟踪要启用的皮肤(skinItems)。当角色装备新物品时,我们在列表末尾追加适当的皮肤。我们有一些物品在Spine中使用相同的插槽,但皮肤的工作方式是最后一个插槽中的物品具有优先权。这对于我们的行为来说是完美的。真正的90%的工作是在编辑器中配置皮肤。

recomputeSkin = method(id, function(_name = object_get_name(object_index)) {
    currentSkin = skeleton_skin_create(_name, skinItems);
    skeleton_skin_set(currentSkin);    
});

考虑

  • 显然,这比绘制一个单独的精灵更耗性能。我们保留了此功能为主要角色,如玩家或boss。
  • 保持一致的命名和组织方案是非常重要的,以便你可以找到和引用适当的皮肤。
  • 在Spine中编辑时要小心!当你有很多皮肤时,很容易误伤一个皮肤。确保你意识到你正在编辑皮肤。
  • 你确实可以使用大量的皮肤。我们当前有超过90个皮肤在我们的游侠文件中。(计划添加至少90个)

看看它的动作

我们已经发布了我们的项目的演示,如果你想看看结果。

Plush Rangers Demo现在已经发布!

https://store.steampowered.com/app/3593330/Plush_Rangers/

https://short-leg-studio.itch.io/plush-rangers-demo (浏览器版本可用!)