关于3.2rc的sprite3D贴图问题

随着3.2rc的发布,测试了一个3D模型的运行效率

在layer上添加了100个demo自带的orc.c3b模型,发现顶点数超过30W,帧率也掉到35帧左右

这个效率没有办法接受啊

请问是否有类似SpriteBitchNode的类可以添加相同的3D模型?

目前是两个相同的模型需要绘制两次,但是渲染状态不会切换,还没有类似SpriteBitchNode那种接口。

3D动画做这种事情比较麻烦,需要考虑的东西比较多。

3D需要骨骼动画,每个模型都是不一样的,不能做合并。
2D的sprite一般是2个三角形,6个顶点,合并很快,30W除以6,可以画5W个sprite了,但是3D就只能画100个3000顶点,大概1000面的模型了。

加入50个orc模型在我的iPhone4s上试了试UNITY的,还不如cocos2d-x,其实能画100个已经还可以了,PC上的端游同屏百十人也就差不多了,UNITY和cocos2d-x测试如下。
UNITY


cocos2d-x

恩多谢各位的热心回复,本来是想做一个类似小小军团的战斗场景,目前看来除了减少模型数量和面以外没有其他更好的解决办法了

小小军团的战斗场景 》》 用 2D 序列帧做 省力省心 效果好

骨骼动画的承载能力有限,那么多小人都用骨骼动画肯定不行。
想用3D可以这样,比如小人的攻击动作,让美术导出几个小人的关键帧动作,attack_1, attack_2, attack_3, …
不能带骨骼,当做静态模型来导出。

绘制时直接根据动画时间选择用attack_1, attack_2, attack_3, …模型

这样承载能力会大很多。