骨架有143块骨头,但最大支撑为72块

时间:2012-05-01 20:42:54

标签: c# animation xna 3d

我正在使用大量骨骼的大型模型,SkinnedEffect表示支持的最大骨骼数量为72,我有143,有什么可以解决这个问题吗?

4 个答案:

答案 0 :(得分:1)

我假设您使用的是.X模型,因为我也遇到过这个问题。我使用的是FBX而且接缝不会出现这个问题。

如果您使用.fbx,请忽略我!

答案 1 :(得分:1)

它与位于SkinningData.cs中的if语句有关:在该文件中搜索

if (bones.Count > SkinnedEffect.MaxBones)
{
                throw new InvalidContentException(string.Format(
                    "Skeleton has {0} bones, but the maximum supported is {1}.",
                    bones.Count, SkinnedEffect.MaxBones));
 }

并将其注释掉,然后重建skinnedmodelpipeline.dll

答案 2 :(得分:0)

快速谷歌收益率:

http://en.wikibooks.org/wiki/Creating_a_Simple_3D_Game_with_XNA

本教程包含了blender方面的内容,但应该涵盖您需要的内容

http://en.wikibooks.org/wiki/Creating_a_Simple_3D_Game_with_XNA/Rendering_Your_Model

这是您可能追求的确切页面。

答案 3 :(得分:0)

我认为你有两个选择:

  1. 划分网格...(Obvius and simpler)

  2. 以其他方式将骨骼变换传递给着色器。 也许使用纹理....也许效率不高......我不知道......应该进行测试。