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

3

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

4个回答

4
我认为受控的3D引擎Balder可能是您的正确选择。它在Silverlight中运行良好,我已经使用过Silverlight 3和4b。目前,Balder支持ASE格式,但Einar和他的贡献者正在努力开发该引擎,并希望将来支持更多网格格式。

3

不完全是这样。

可能有一些库可以为SL带来一些有限的3D效果(事实上,SL 3本身就带有一些)。但是,SL并没有很好的3D支持。

有一个旧的Kit3D项目,但不知道现在它在哪里,它已经一年没有更新了。


1

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

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

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

你不能很有效地进行顶点光照,所以你可能会被限制在平面着色上。在每一帧之前,你必须:

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

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

是的,完全有可能,但这不是现成的东西,也没有集成到Silverlight中。目前,我们必须采用像旧时代一样手工制作3D图形的方式。


0

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

Google o3D可能是您的解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接