我开始使用XNA编写3D游戏,我想制作一个可以根据高度,宽度和深度属性创建3D立方体的功能。我在Google上找不到类似的东西,这就是我在这里问的原因。
我希望函数返回一个Model类型变量(3D框)。
答案 0 :(得分:1)
首先:我假设你想要一个长方体而不是一个立方体。立方体具有相同的高度,宽度和深度 - 始终如此。长方体是一个矩形棱柱。
第二:XNA不允许你动态创建“模型”类(或者,至少,不容易)。所以你有两个选择:
选项A :(简单修复)创建一个完美的1x1x1立方体模型,将其用于所有内容,但在绘图时,使用设置为高度/宽度/深度选择的Vector3进行缩放。
选项B :(毫无意义的困难方法)忘记XNA中关于3D模型的所有知识(特别是关于Model和ModelMesh类的部分),并构建 VertexPositionNormalTexture [] VertexArray 和 int [] IndexArray 并使用 BasicEffect 对象和 device.DrawUserIndexedPrimitives(PrimitiveType.TriangleList,...)
呈现它如果选择选项B,请注意一个合适的长方体有8个顶点和12个三角形(36个索引)
答案 1 :(得分:-1)
阅读此处的前3个教程: