我正在使用大量骨骼的大型模型,SkinnedEffect表示支持的最大骨骼数量为72,我有143,有什么可以解决这个问题吗?
答案 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)
我认为你有两个选择:
划分网格...(Obvius and simpler)
以其他方式将骨骼变换传递给着色器。 也许使用纹理....也许效率不高......我不知道......应该进行测试。