RT,因为看到吧友讨论性能问题,所以查了下官网文档,发现官方建议在单套骨架驱动多个skinnedmeshrenderer时合并这些蒙皮模型会提高渲染效率。虽然他说的单pass绘制出整个角色这点我还没法享用,因为本身这些部分模型使用了不同的纹理和shader,但是他说在可视性检测时一个animator搭配一个skinned mesh renderer也有提升。于是为了这个我就打算尝试合并。在wiki上找到一个前人所写的脚本,叫CombineSkinnedMeshes.cs。使用后发现怎么也不对,模型虽然合并在一起了,但是一播放动画形体就扭曲变形。调试之后感觉问题好像出在合并后的蒙皮信息里的bind pose矩阵组计算错误导致的。他计算绑定矩阵的方法是skinnedmeshRenderer.bones[i].WorldToLocalMatrix * transform.WorldToLocalMatrix。 这就相当于是吧合并后的模型的顶点先从世界空间变换到模型本地空间,再从模型本地变换到骨骼的本地空间。看起来原理上讲没错,但是实际确有问题,因为如果参与合并的多个模型的pivot本身不在一起,那么也就是会出现对应同一跟骨骼的不同模型的绑定矩阵就不一样了。大家有没有用过这个脚本的,或者自己做过类似功能的,帮我看看吧,谢谢了。