人气 595

2D动画,是用dragonbones还是spine更强大? [复制链接]

VeronikaMBup 2022-2-19 19:37:28

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
看了一些介绍和视频,感觉spine功能更强大一些,制作的效果更自然。请有用过的高手来解答下
回复

使用道具 举报

风云堂Simon52 2022-2-19 19:49:28
目前spine 比 dragonbones 更强大。IK,FFD自由变形,网格Meshes,边界框 Bounding Boxes
多种输出格式。  这些都比 dragonbones强的多。 最重要的是,官方支持众多平台,

  • cocos2d-iphone – Objective-C
  • cocos2d-x – C++
  • Corona – Lua
  • Flash – ActionScript 3, demo
  • libgdx – Java, HTML5 demo, game demo
  • LÖVE – Lua
  • MonoGame – C#
  • SFML – C++
  • Starling – ActionScript 3, demo
  • Torque2D – C++ / TorqueScript
  • Turbulenz – JavaScript, demo
  • XNA – C#
  • Unity – C#, demo, documentation
  • Unity 2D Toolkit – C#
官方里,包括了对 cocos2d-x  Unity   HTML5 的支持的运行时库。
这个dragonbones官方没有。
但是,注意: Spine由于作者取向问题,导致Spine数据结构,对纸娃娃系统可以说严重不支持,
这个可以说是Spine的一个大坑,也是一个严重发展隐患。
就是说Spine目前的版本,不支持做换装类系统的游戏,(这里说的换装,不是换武器,是指换人物模型的 衣服、脸型、眼型、嘴型、手型、眉毛发行等等)。
Spine初学者可能说,你说的不对啊,Spine可以换装啊。上身衣服找到插槽换一个附件不就换装了吗。    如果你这样说,那说明你没用Spine做过带“纸娃娃系统”的游戏。
例如,有这样一个普通需求,我的游戏人物可以允许换眼的造型和嘴的造型。
     注意人物的眼是有动画的,睁眼闭眼的序列帧动画, 嘴也是一样有的。
     眼由3张图片构成动画。 如果换眼型,就要换成另外3张图片。
如果用Spine做,眨眼是在 Spine动画里做的,在Key帧时,设置此时间显示的是那张眼图片。
但是,如果用户点击按钮选择一种眼型时,
我用代码找到眼对应的Slot插槽,然后换另外一个附件后,
当我播放当前动画时,动画会自动把眼设置回默认的图片。
也就是说我做不了换眼。
用户换眼型:
skeleton.FindSlot("eyes").Attachment = attachment;
播放动画:
skeletonAnimation.state.SetAnimation(1, "idle", false);
放了动画,眼的图片又会被重置会原来的图片。换装失败。
有人说,用Skin。但Skin是整体换,不是组合换。 另外,SetSkin()内部就是换Slot插槽的附件,会上面是一样的。

造成Spine严重不支持纸娃娃换装的原因是他的数据结构设计问题,作者在论坛里也没有一个解决办法。
Spine的结构是 Skeleton(骨架)-->Bone(骨头)-->Slot(插槽)-->Attachment(附件)。
这个结构的最大问题是,你只能控制到附件 Attachment 一级,你不能换Image图片(或Sprite)。
因为Spine不提供你操作Image 。      
你只能给Slot插槽换一个Attachment附件。 一个Slot当前状态只能有一个Attachment存在。
眨眼是动画,就是不停切换Attachment实现。
但是你编辑的一个Idle动画里是内部设定好了不停切换哪几个Attachment。
所以,你代码换了装,一播放动画就会被动画设置回原来的Attachment,又回去了。
Spine做换装游戏是一个大坑,不光是改改他的底层runtime代码就能用的,要改代码的解析结构。
打开它的导出json文件,你看看,他把 Attachment 设置到了 animations 里了。
而且,你在runtime API接口里找不到 遍历一个 Slot上所有Attachment的接口,Spine不提供。
原因是他放在了 animations里了, 当前播放是Idle还是其他动画,这是不确定的,所以他不提供你找插槽上的所以附件的接口。
----------------
希望 dragonbones 不要太参考 Spine的数据结构,他那结构做换装不好。
希望 dragonbones 以后结构是 Skeleton(骨架)-->Bone(骨头)-->Slot(插槽)-->Attachment(附件) -->Sprite(图片)。
提供给程序可以操作纹理图片的接口。这样实现纸娃娃系统就好多了。
现在找一款很好支持,动画换装的工具很难。
回复 支持 反对

使用道具 举报

朔月夜独行 2022-2-19 20:01:28
做为DragonBones的作者,我还是顶一下DB,经过过去半年的快速发展,目前DB的功能已经和Spine不相上下了,当然这离不开Egret这样的平台。相信未来是H5的天下,DB对H5和Egret的支持比Spine要好,同时提供了制作H5广告营销动画的工作流,未来会支持3D。
DB做为免费国产软件,更加注重本地的用户支持,拥有Egret这样的大平台,有着比Spine更长远的目标,相信未来一定会比Spine做的更好,希望大家能给与支持。
DragonBones下载链接:
DragonBones 官方网站
16-10-19更新内容
DragonBones C#运行库正式上线了,支持Unity 5.x
GitHub - DragonBones/DragonBonesCSharp: DragonBones C# RuntimeDragonBones C#库 支持Unity示例展示—在线播放—优酷网,视频高清在线观看视频




16-7-14更新内容
各个运行库的案例已经全面完善,包含基础骨架、换装、性能测试等等。分享一段demo的视频
DragonBones C 库示例展示—在线播放—优酷网,视频高清在线观看视频



16-6-17更新内容
Cocos已经支持了。运行库已经基本稳定,未来会补充更多的案例。Unity正在开发中
GitHub - DragonBones/DragonBonesCPP: DragonBones C++ Library
16-5-15更新内容:
DragonBones 4.6发布了 支持骨骼绑定权重和蒙皮动画。发两段视频和大家分享
用DragonBones制作动画—在线播放—优酷网,视频高清在线观看视频



DragonBones制作蒙皮动画—在线播放—优酷网,视频高清在线观看视频
回复 支持 反对

使用道具 举报

傲翔天下 2022-2-19 20:13:28
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

傲翔天下 2022-2-19 20:25:28
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

数值策划_木木夕 2022-2-19 20:37:28
最近因为一些项目需求。需要用到2D动画制作。
目前就是SPINE 和DB两种。
由于我一直用3D的。对2D了解不多。就以实际需求来说下。
首先。需求最后用DB做了。原因就是,只是一个简单需求。spine一刀切的价格太贵。不可能用的。
那么说一下我的感受:
spine作为收费商业软件。确实在细节上要来得更好一些。比如软件的流畅度。和提供的功能的完善程度。但spine作为收费软件。
DB我遇到制作比较麻烦的就是用了网格后,为了制造伪3D效果。那个权重刷得我郁闷。自动权重分配不准确。手动刷权重,由于没有柔化等功能。要一个一个顶点调权重的过渡,很困难。而且没有色彩权重图也不直观看到现在网格的权重情况。
我反复尝试了4~5次。最后不得不降低标准。制作了一个凑合着用。
在制作时在蒙皮和网格操作时。使用撤销功能还导致了几次软件崩溃现象。稳定性还待加强。
当然,必须要说的是。在功能上DB这个免费软件。几乎还是和spine差不太多。如果是纯2D的项目,应该是能满足需求。这里还是要感谢DB让我完成了项目需求。
因此就软件本身而言:spine目前还是要强于DB的。如果真是要做一个商业2D游戏。还是应该考虑SPINE可能更稳妥。
如果考虑到价格和像我这样需求并不太严格的情况。DB免费友好的目前是首选。也更适合独立游戏和小游戏这类以及偶尔2D需求的情况。
最后希望DB将来能越做越好。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-4-28 02:32 , Processed in 0.104836 second(s), 25 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.