之前提到过在 ES2.0 上使用单个材质蒙皮的骨骼不能超过 75 根,在 ES3 之后就没有这个限制了,但是 UE 里目前还有这个限制。
Warning: SkeletalMesh SK_m0146b0003, is not supported for current feature level (ES3_1) and will not be rendered. NumBones 78 (supported 75), NumBoneInfluences: 4
1 | inline int32 GetFeatureLevelMaxNumberOfBones(const FStaticFeatureLevel FeatureLevel) |
看了下相关的代码,UE 在下面这次提交中修改了 ES3.1 原本 256 到 75,commit 里提到的是修复了 Mobile Preview 的 Crash:
Limit ES3.1 to 75 bones like ES2. All ES3.1 feature level platforms use UB for Bones. Project has to set Compat.MAX_GPUSKIN_BONES=75 to support SkelMeshes with more than 75 bones for ES3.1 and ES2.
该代码在 4.21 Preview 4 中提交:Unreal Engine 4.21 Preview
在 answers 上也有一些相关的问题: