希望官方支持Spine在3D场景中深度渲染

有没有人遇到过这种问题?
:point_right: 用Spine做的角色在3D场景里总是被半透模型或粒子特效遮挡错乱
:point_right: 想给Spine角色加个地面阴影或者3D粒子特效,结果特效要么浮在空中要么穿模!

其实核心问题在于:Cocos Creator3.x的Spine默认走的是UI渲染队列,而不是真正的3D渲染!
这导致两个致命伤:

  1. 深度关系混乱:Spine角色和3D半透物体之间没有正确的遮挡
  2. 特效无法融合:3D粒子、光影和Spine动画像是活在两个世界,永远没法自然叠加

为什么需要这个功能?

Top-down游戏(俯视角/战棋/卡牌)使用spine解决方案的优势! 举个例子:
《明日方舟》《饥荒》就是使用spine作为角色解决方案,给角色一定角度就能细致观察整个角色,而作为对比的3d模型,尤其卡通模型,头身比越大,俯视效果越差,巨大的头颅占据很大的视线范围


对Cocos开发者的意义:过渡方案救星!

很多用Cocos的团队(尤其是中小厂商)可能还没有足够的全3D开发的经验,但3D场景+Spine角色其实是性价比超高的方案
:white_check_mark: 美术成本低:不用全3D建模,Spine动画可以保留2D美术风格
:white_check_mark: 性能更友好:3D场景做地形和特效,Spine做角色,比纯3D项目省资源
:white_check_mark: 开发门槛低:程序不用从头学3D骨骼动画,直接用成熟的Spine工作流

具体功能请求

求支持以下功能:

  1. 渲染模式开关 :让Spine可以选择作为2D对象(现有模式)或3D对象(走3D渲染队列)
  2. 深度写入支持 :Spine导出的骨骼信息带上Z轴深度,角色才能和3D物体正确遮挡

但如果Spine不能和3D场景深度交互,这一切都白搭!更何况creator2.x是支持的,只是设置深度写入存在问题,但是据我所了解到的信息,spine导出是可以带深度的

1赞

对对对,我最近也遇到了这个问题。非常麻烦,我也是需要spine在3D空间中深度排序。我正在寻找解决方案。cocos 3D管线中的2D功能支持非常匮乏,由于项目是一个割草类型的,就想在3D空间中通过GPU Instancing去渲染,测试海量同屏。简单的Spine动画VAT的形式存在,复杂的BOSS保留Spine动画但是希望参与3D 深度测试。 你这里现在有解决方法了吗?

挂在renderroot2d下面

挂了它不走3D深度测试,前后遮挡关系就不正确。还是我姿势不对?

用的不对,深度写入开起来没有

1赞

非常感谢老哥的回复,帮助我解决了问题,我检查了所有材质。的确是我使用不对,我新建的3D模型材质,默认Depth Func 居然是Always。

1赞