在Silverlight 3/4中加载3D对象

时间:2009-11-16 12:59:36

标签: silverlight 3d 3dsmax

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

4 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

不是。

可能会有一些库可以为SL带来一些限制3D-esq效果(事实上SL 3带有一点点这个本身)。但SL并没有真正的3D支持。

有一个旧的Kit3D项目,但现在没有,它在去年没有更新。

答案 2 :(得分:1)

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

Silverlight中3D的概念与Flash中的3D相同。如果你掌握了三角学和基本代数,你就可以做到。除非你生锈,否则这很容易。

首先,您需要将顶点导出为可以读取或直接嵌入到项目中的格式。接下来,您需要生成几个三角形并将句柄移动到一个数组中。

你不能非常有效地进行顶点照明,所以你可能会遇到平面阴影。在每一帧之前,您必须:

  • 遍历几何体
  • 应用你的旋转&变换(位置,缩放)
  • 为数组中的每个三角形调整数组中的一个三角形(应用矩阵)
  • 将三角形排在前面
  • 调整每个三角形的颜色(只有一次最佳)

你很难超过1,000个三角形/ 3,000个顶点。你可以这样做,但如果你想同时做其他事情,那就不行了。

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

答案 3 :(得分:0)

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

Google o3D可能是您的选择。