3

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

4

4 回答 4

4

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

于 2009-12-12T19:05:04.197 回答
3

并不真地。

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

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

于 2009-11-16T13:08:43.843 回答
1

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

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

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

您不能非常有效地进行顶点照明,因此您可能会被平面着色所困。在每一帧之前,您必须:

  • 遍历你的几何
  • 应用您的旋转和变换(位置、缩放)
  • 为几何图形中的每个三角形调整阵列中的一个三角形(应用矩阵)
  • 将您的三角形从后到前排序
  • 调整每个三角形的颜色(最好只调整一次)
  • 等等。

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

所以,是的。这是完全可能的,但不是现成的,也不是集成到 Silverlight 中的。目前,我们不得不求助于像过去那样制作 3D 图形的方式……手工制作。

于 2009-12-11T00:36:23.997 回答
0

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

Google o3D可能是您要走的路。

于 2009-12-12T18:38:04.350 回答