spine应用--使用spine动画制作动作游戏

gameDesigner gameDesigner     2022-11-19     408

关键词:

在前面的文章中,已经陆陆续续的讲解了一些使用Spine动画的细节,有了这些细节,我们已经满足了在unity中使用Spine动画制作动作游戏的技术基础。

那么,要使用Spine动画在unity中制作一款动作游戏,究竟还有哪些是需要注意的呢?

 

1. 主角的控制系统

  主角的控制,主要分为以下三个部分:

  1. 输入检测 &&输入数据加工
  2. 接受输入数据,改变主角的位置
  3. 根据输入数据 && 当前状态,播放对应的Spine动画。

  输入检测,这个根据不同的游戏输入方式,有不同的处理,输入的加工,也因游戏而不同,这里不做过多的说明。

 

  至于改变主角的位置,这里使用 Unity自带的控制器:Character Controller。Character Controller会在主角的身上挂上一个 胶囊碰撞体,用这个胶囊碰撞体来检测物理碰撞,这个Controller除了提供移动主角API外,还处理了

  许多的逻辑,比如主角可以上坡的角度,主角是否碰撞到了地面等问题。

 

  播放动画组件,这里需要考虑的是Spine各个动画之间转换的动画融合问题,比如从走到跑,这样的过程需要一个渐进的过程,也就是动画融合了。

 

  这里尤其需要注意的是,因为我们使用了Character Controller来控制 主角的移动,那么,在Spine动画里面,一定不能有位移,不然的话,这样就会出现一个问题,那就是明明看着主角已经走过去了,

  但实际上这个人的碰撞体根本没动!如下图:

  技术分享图片

2.伤害检测系统

  动作游戏,当然要有伤害检测了,这里的伤害检测,我们使用Unity的物理碰撞检测来做。从1中我们已经知道,Spine动画不能有位移,但是在一些酷炫的技能中,

主角难免会有些微的位移,但是因为Character Controller其实是不会随着Spine动画的移动而移动的(其实可以看成这样,Character Controller 在父层级,而Spine动画播放时,移动的是Character Controller的子层级),

但是问题是我们又要实实在在的让碰撞检测跟着 Spine动画走(比如A拿大刀砍怪物,那肯定是刀看到怪物算是伤害成功),那么到底该如何办呢?

  解决方案很简单,我们不使用 Character Controller的胶囊碰撞体来做伤害检测,我们额外的添加碰撞体来做伤害检测。至于怎么添加可以跟随Spine动画移动的碰撞体,请看我的Spine学习系列文章,里面有提到。

   在骨骼上绑定Collider 2D 和 Rigidbody 2D,因为骨骼是靠Spine动作来驱动,并且我们并不想使用物理引擎来控制人物的移动,所以呢,骨骼上的Rigidbody 2D的类型,选择为:Kinematic。

  然后喃,我们在碰撞的时候,显然刀子什么的是可以穿透身体,那么最好 Collider 2D也勾选上 Is Trigger属性。具体设置如下:

  技术分享图片

  这样的设置以后,该物体就可以碰撞到 任意勾选了 Is Trigger的物体了,并且会触发 OnTriggerxxx函数。

  同时,在该物体上添加适合的 Tag,就可以通过Tag区分到底是什么物体与自己产生了碰撞。

3.总结

  当然,制作动作游戏可不是像我说的那样,只要解决了上面两个问题就可以了,具体的制作还有许许多多的细节问题,也有可能需要新的 人物控制,上面的两个方面也只是为制作动作游戏搭好了一个前提。

谈谈spine动画在产品中的应用

...计及完整的功能而被开发人员追捧。Spine动画已经广泛的应用在游戏开发或者APP中。做2D开发的,曾经做动画採用的都是採 查看详情

如何将 Spine 动画添加到 Phaser 游戏?

...Spine动画添加到Phaser。有没有办法做到这一点?我还尝试使用Pixi.js播放我的动画并且效果很好。另外我知道Phaser是建立在Pixi之上的,可以直接从Phaser访问 查看详情

spine学习二-播放spine动画(代码片段)

...必须要在一个物体上绑定一个Spine播放的组件,这里暂时使用SkeletonAnimation组件。然后就是编写动画的控制脚本。这里提一个特性:[SpineAnimation]:这个特性可以获取到SkeletonAnimation组件中绑定的Spine资源的所有动作名字,[SpineAnimat... 查看详情

spine游戏开发的2d

...的人力物力更好的投入到游戏开发中去。流畅性:Spine动画使用差值算法计算中间帧,这能让你的动画总是保持流畅的效果。装备附件:图片绑定在骨骼上来实现动画。如果你需要可以方便的更换角色的装备满足不同的需求。甚... 查看详情

unity游戏开发入门-spine(代码片段)

...xff09;,这里主要针对SkeletonAnimation形式,说明方式使用代码注释记录。代码每块全博客衔接1.spine当前播放的动画名称--获取SkeletonAnimation组件localskeleton=obj[Spine.Unity.SkeletonAnimation]localskeletonName=skeleton.AnimationName2.spine当... 查看详情

如何利用spine制作简单的2d骨骼动画(附软件下载)

...力物力更好地投入到游戏开发中去。流畅性: Spine动画使用差值算法计算中间帧,这能让你的动画总是保持流畅的效果。装备附件: 图片绑定在骨骼上来实现动画。如果你需要可以方便地更换角色的装备满足不同的需求。... 查看详情

ue5使用spine插件(代码片段)

Spine插件调研结论:已验证插件可以正常使用,通过官方库安装插件,在spine软件中导出对应格式的文件,即可通过UE5插件转化为UE5资源,插件功能可以正常使用,但是安装插件的版本需要和spine版本对应存... 查看详情

ue5使用spine插件(代码片段)

Spine插件调研结论:已验证插件可以正常使用,通过官方库安装插件,在spine软件中导出对应格式的文件,即可通过UE5插件转化为UE5资源,插件功能可以正常使用,但是安装插件的版本需要和spine版本对应存... 查看详情

ue5使用spine插件(代码片段)

Spine插件调研结论:已验证插件可以正常使用,通过官方库安装插件,在spine软件中导出对应格式的文件,即可通过UE5插件转化为UE5资源,插件功能可以正常使用,但是安装插件的版本需要和spine版本对应存... 查看详情

spine在unity中的应用

Spine是什么?1.Spine的英文意思是脊柱,脊椎。2.Spine是专注于游戏的2D动画软件。可以创建骨骼动画,并将其整合到游戏当中,提供了一套高效的工作流程。3.代码通过API可以直接访问骨骼、附件、皮肤以及动画等... 查看详情

骨骼动画编辑器——spine

...这笔记是来自cocos2d-x官网,各位不要喷!我只是给我自己使用的,未来一系列的游戏文章都是这样。因本人平时使用手机较多,故写在上方便本人使用而已。Spine是一款针对游戏的2D骨骼动画编辑工具,它具有良好的UI设计和完整... 查看详情

unity之spine骨骼动画使用

导入spine插件需要使用龙骨动画的话,首先我们得去spine官网下载Unity插件包:spine官网打开Unity工程双击下载好的spineunity插件包或者你也可以在Unity菜单中依次点击:Ass 查看详情

cocoscreator基础-spine骨骼动画组件使用(代码片段)

...调骨骼的运动等来形成动画2:spine是一个非常流行的2D骨骼动画制作工具3:spine动画美术人员导出3个文件:  (1).png文件:动画的”骨骼”的图片集;  (2).atlas文件:每个骨骼在图片集里面位置 查看详情

基于spine动画的avatar换装系统优化

...制作人物AVATAR动画,作为一款广泛应用于游戏中的2D动画制作软件,Spine提供了良好的骨骼动画功能和库接口来实现人物AVATAR动画。                 自从Spine支持顶点网格以来,很多用来表现长发,长裙动... 查看详情

基于spine动画的avatar换装系统优化

...制作人物AVATAR动画,作为一款广泛应用于游戏中的2D动画制作软件,Spine提供了良好的骨骼动画功能和库接口来实现人物AVATAR动画。                 自从Spine支持顶点网格以来,很多用来表现长发,长裙动... 查看详情

基于spine动画的avatar换装系统优化

...制作人物AVATAR动画,作为一款广泛应用于游戏中的2D动画制作软件,Spine提供了良好的骨骼动画功能和库接口来实现人物AVATAR动画。                 自从Spine支持顶点网格以来,很多用来表现长发,长裙动... 查看详情

基于spine动画的avatar换装系统优化

...制作人物AVATAR动画,作为一款广泛应用于游戏中的2D动画制作软件,Spine提供了良好的骨骼动画功能和库接口来实现人物AVATAR动画。                 自从Spine支持顶点网格以来,很多用来表现长发,长裙动... 查看详情

在libgdx中使用spine骨骼动画

.../EsotericSoftware/spine-superspineboy2.我推荐这个,很棒的例子及使用合集https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-libgdx下面,我详 查看详情