C# 手动操作FBX全局设置

C# 手动操作FBX全局设置,c#,xna,fbx,dataformat,C#,Xna,Fbx,Dataformat,使用XNA中的模型时,我发现默认情况下,它的方向不正确。在其上使用旋转矩阵非常简单,但这往往会破坏matrix.Forward和某些着色器代码(如灯光方向)等内容。我在FBX文件中发现了以下代码,我已经成功地对其进行了有限程度的操作: GlobalSettings: { Version: 1000 Properties60: { Property: "UpAxis", "int", "",2 Property: "UpAxisSign", "int", "

使用XNA中的模型时,我发现默认情况下,它的方向不正确。在其上使用旋转矩阵非常简单,但这往往会破坏matrix.Forward和某些着色器代码(如灯光方向)等内容。我在FBX文件中发现了以下代码,我已经成功地对其进行了有限程度的操作:

GlobalSettings:  {
   Version: 1000
   Properties60:  {
      Property: "UpAxis", "int", "",2
      Property: "UpAxisSign", "int", "",1
      Property: "FrontAxis", "int", "",1
      Property: "FrontAxisSign", "int", "",1
      Property: "CoordAxis", "int", "",0
      Property: "CoordAxisSign", "int", "",1
      Property: "UnitScaleFactor", "double", "",7
   }
}
可以说,它目前正在做的是让模型“肚皮朝上”。我看到的是模型的底部,而我想看到的是顶部。我试图改变不同的轴和轴符号,但没有运气

我不能在blender中简单地重新导出它的原因是我必须在启用XNA严格模式的情况下导出,否则这个特定的模型似乎会崩溃。严格模式强制进行特定旋转,因此在“导出”菜单中更改轴没有任何作用


我可以更改(或添加)什么属性来实现我的目标?

您可以在解决方案资源管理器中右键单击model.fbx并选择属性,然后展开内容处理器,并设置处理器在将fbx构建到内容管理器加载的xnb中时希望处理器对其执行的任何旋转。然后,它将加载到xna中,并内置这些旋转。

这似乎几乎可以做到,但修改Y和Z旋转会产生相同的结果-它们都围绕同一轴旋转。