2009-11-16 89 views
3

可以在Silverlight 3或Silverlight 4应用程序中加载3D对象吗? (3DS Max对象或其他格式)。除了加载对象,我还需要一些基本的交互 - 简单的旋转,放大/缩小。在Silverlight中加载3D对象3/4

回答

5

我认为托管3D引擎Balder可能是您的正确选择。它在Silverlight中运行得非常好,我用它与Silverlight 3和4b一起使用。 Balder目前支持ASE格式,但Einar和他的贡献者正在努力研究引擎,他们希望在未来支持更多的网格格式。

3

不是。

可能有一些libaries可以给SL带来一些限制3D-esq效果(事实上SL 3自带一点点)。然而SL并没有真正的3D支持。

有旧的Kit3D项目,但不在现在的位置,它在去年没有更新。

+0

+1对于没有真正的3D支持。 SL恕我直言的主要局限性。 – 2009-11-16 15:18:00

1

当然这是可能的。你想写多少代码?它有多好看?

Silverlight中3D的想法与Flash中的3D相同。如果你使用三角函数和基本代数,你可以做到这一点。除非你生锈,否则很容易。首先,您需要将顶点导出为可读取的格式,或直接嵌入您的项目中。接下来,您需要生成几个三角形并将它们的手柄推入到一个数组中。

你不能非常有效地做顶点照明,所以你可能会用平面着色。每次必须帧之前:

  • 遍历您的几何
  • 应用您的旋转&变换(位置,缩放)
  • 您的阵列,用于在几何每个三角形在调整一个三角形(与应用的矩阵)
  • 排序的三角形后到前
  • 调整每个三角形的颜色(只有一次是最好的)
  • 等等

你很难超过1,000个三角形/ 3,000个垂直轴。你可以做到这一点,但如果你想同时做其他事情则不行。

所以,是的。这完全有可能,但不是现成的,也没有集成到Silverlight中。就目前而言,我们不得不采取像过去一样手工制作3D图形的方式。

0

几乎不可能在Silverlight 3/4中加载3Ds Max对象。

Google o3D可能是您的选择。