求助 2.5d 龙骨问题(creator 3.4.1)

实现思路参考的这个:

  • 问题1:
    我用的透视摄像机仰视30度角拍摄场景
    sprite用九宫格模式+setRotationFromEuler可正对摄像机 正常
    label用char模式+setRotationFromEuler也可正对摄像机 正常
    在3.4.0下龙骨动画直接设置setRotationFromEuler也可正对摄像机
    但是升级3.4.1后就不行了。
    3.4.0:
    image
    3.4.1:
    image

  • 问题2:上面的参考项目升级3.4.1打开报错。
    image

开发组提前放假了吧,帮顶一下

@pandamicro

当byteLength 大于 申请的MeshBuffer的长度时,这里会报错。 申请的是固定长度的buffer,没有考虑超出的情况

2.5D你就不能用现有的2D的那个sprite,你可以同理借鉴下UE4的paper2D和godot的AnimateSprite3D,这些都是3D的一个平面上用2D的纹理做的,只要是涉及实际3D场景中的物体就应该用3D的东西,即使它们看起来像是一个平面图片,但是其实这些平面都是3D模型。

一看到你要用2D的sprite和dragonbones组件就知道肯定是错误的做法,你只能是把dragonbones组件每次计算玩的spriteFrame用在一个平面模型的贴图上然后放到3D环境中,任何走2D组件的方式照常理来说都不是八方女人的那种做法。

收到,多谢,我们会在 assert 那边加强一下判断,遇到这种情况必须手动增加 BATCHER2D_MEM_INCREMENT

@panda龙骨2.5d显示问题有没有临时的修复方案

透视旋转问题请尝试使用此PR解决 https://github.com/cocos-creator/engine/pull/10031
另外建议将这个PR也一起添加上 https://github.com/cocos-creator/engine/pull/10071
可解决多个DB组件在原生端的渲染异常
感谢您的反馈信息

还是不行,坐标计算错误,上个版本在fillBuffers里面带上z轴重新计算了坐标数据

,但是这版本的Batcher2D已经重构了,拿不出MeshBuffer,ArmatureDisplay的renderData里面也没有chunk,不知道怎么解决这个问题,希望可以尽快的处理一下这个问题

坐标计算错误? 根据上面的描述,我这边测试修复后显示效果和之前一致。
可以上传个测试工程,我看下你的具体用法。

assets.zip (41.3 KB) 按qe调整摄像机的旋转角度

v3.4.1
v3.4.1

v3.4.1+ https://github.com/cocos-creator/engine/pull/10031 的两个commits
v3.4.1-fix

可以了,多谢