在3.0版本的文档里,关于骨骼动画相关的描述,有点疑问,期待大佬回答。

1.对于材质中已经开启 instancing 的模型,平面阴影系统也会自动同步使用 instancing 绘制。
问题:平面阴影,不是shadow map么,为什么需要instancing?

2.特别地,蒙皮模型的阴影合批对骨骼贴图布局的要求更高一些,因为阴影的管线状态是统一的,所有开启阴影的蒙皮模型的动画 都需要保证在同一张贴图上(相比绘制模型本身,只需要相同 Drawcall 内的 instance 之间保持骨骼贴图一致)。
问题:换句话说,如果同一模型,每个动作分别单独一张骨骼贴图,那播放不同动作的时候,不会合批对么?

  • 平面阴影指 planar shadow,是通过把模型投影到平面直接绘制的,和 shadow map 是并列的关系,在场景节点的 shadow 部分可以选择使用哪种阴影
  • 骨骼贴图布局需要用户自己确保正确,是否合批只取决于材质中的 instancing 开关是否开启,如果的确如你所说“每个动作分别单独一张骨骼贴图”,那绘制效果一定是错的,可以参考文档中贴图布局那一节有更明确的展示:骨骼贴图布局设置 · Cocos Creator

谢谢大佬回答。
1.planar shadow是直接将模型绘制为平面投影的话,按照大佬说的,应该是新增了一遍独立的绘制,重新做一遍阴影模型的通道绘制,在绘制不透明物体之前,先绘制一遍阴影,再绘制不透明物体等,对吧。

  1. 我说的是这个功能,并不是错误的哈,文档内容:通过菜单 Panel -> Animation -> Joint Texture Layout 打开骨骼贴图布局设置面板:

然后这种情况,不就是多个动作各自有一张贴图么。这种情况下,不同的动作是否影响instancing。

  • 是在透明物体之前,不透明物体之后
  • 不影响 instance 合并,无非是效果是错的而已,那篇文档已经说得很清楚了

大佬,昨天问了一半忘记了打完字了~~ :joy:

1.通用的骨骼贴图全局复用逻辑就已经把所有动画数据写入了同一张贴图,因此效果是正确的。但随时可能加入的新动画如果超出了默认骨骼贴图的大小,动画效果就一定会出问题了,这也就是为什么骨骼贴图布局面板必须存在的原因。
于是诞生骨骼贴图布局面板==》
2.然后变成注意这里的 9 张贴图上都只有同一个骨骼的动画信息,所以最终效果哪怕贴图已经错了,渲染出来也只是动作错了而已;但如果一张贴图内有多个骨骼的动画信息,同时出现贴图不匹配情况的话,渲染效果就会完全错乱。
如果动作错,那有虾米用处呢。

没什么用,但你问的是影不影响合批,那答案肯定是不影响。