【发布时间】:2014-06-19 10:55:09
【问题描述】:
我想在我的游戏中显示平坦的地形。它将包含几个正方形段。例如 3x3。我在 Blender 中创建一个平面,添加纹理并将其保存为 fbx 文件。问题是我不知道如何在 MonoGame 中计算这个正方形的大小。举个例子,如果我想在 MonoGame 中使用宽度为 2.0f 的方形平面,那么在 Blender 中应该有什么宽度?
【问题讨论】:
我想在我的游戏中显示平坦的地形。它将包含几个正方形段。例如 3x3。我在 Blender 中创建一个平面,添加纹理并将其保存为 fbx 文件。问题是我不知道如何在 MonoGame 中计算这个正方形的大小。举个例子,如果我想在 MonoGame 中使用宽度为 2.0f 的方形平面,那么在 Blender 中应该有什么宽度?
【问题讨论】:
这个问题是不久前提出的,它可能更适合游戏开发 stackexchange,但我仍然想为后代回答:
导入 XNA 游戏的模型的规模取决于用于从原始内容构建运行时内容资产的导入器,以及游戏的相机矩阵。例如,在黄金时代的原始 XNA 中,内置的 FBX 导入器具有 X、Y 和 Z 缩放和旋转选项。这些设置以及游戏中使用的相机矩阵的比例决定了游戏中模型的大小。
人们从 Blender 导入模型时遇到的另一个常见问题是旋转,这也是由内容导入器控制的。由于 Blender 使用右手 Z-up 坐标系,而大多数 XNA/Monogame 程序员使用右手 Y-up 坐标系,因此必须使用旋转属性。
也就是说,找出如何缩放/旋转模型的最快方法通常是摆弄Matrix 的转换方法,直到通过反复试验找到正确的值。 编译您的游戏代码几乎总是比每次更改导入器属性都重新构建整个内容项目要快,尤其是在您的模型非常大或非常复杂的情况下。
【讨论】: