有没有人遇到过这种问题?
用Spine做的角色在3D场景里总是被半透模型或粒子特效遮挡错乱
想给Spine角色加个地面阴影或者3D粒子特效,结果特效要么浮在空中要么穿模!
其实核心问题在于:Cocos Creator3.x的Spine默认走的是UI渲染队列,而不是真正的3D渲染!
这导致两个致命伤:
- 深度关系混乱:Spine角色和3D半透物体之间没有正确的遮挡
- 特效无法融合:3D粒子、光影和Spine动画像是活在两个世界,永远没法自然叠加
为什么需要这个功能?
Top-down游戏(俯视角/战棋/卡牌)使用spine解决方案的优势! 举个例子:
《明日方舟》《饥荒》就是使用spine作为角色解决方案,给角色一定角度就能细致观察整个角色,而作为对比的3d模型,尤其卡通模型,头身比越大,俯视效果越差,巨大的头颅占据很大的视线范围
对Cocos开发者的意义:过渡方案救星!
很多用Cocos的团队(尤其是中小厂商)可能还没有足够的全3D开发的经验,但3D场景+Spine角色其实是性价比超高的方案:
美术成本低:不用全3D建模,Spine动画可以保留2D美术风格
性能更友好:3D场景做地形和特效,Spine做角色,比纯3D项目省资源
开发门槛低:程序不用从头学3D骨骼动画,直接用成熟的Spine工作流
具体功能请求
求支持以下功能:
- 渲染模式开关 :让Spine可以选择作为2D对象(现有模式)或3D对象(走3D渲染队列)
- 深度写入支持 :Spine导出的骨骼信息带上Z轴深度,角色才能和3D物体正确遮挡
但如果Spine不能和3D场景深度交互,这一切都白搭!更何况creator2.x是支持的,只是设置深度写入存在问题,但是据我所了解到的信息,spine导出是可以带深度的