【问题标题】:Load 3d scene into Silverlight将 3d 场景加载到 Silverlight
【发布时间】:2013-02-22 06:16:11
【问题描述】:

长话短说:

是否可以将.vrml 加载到 Silverlight 中并渲染 3d 场景?

现在了解更多我为什么要这样做的背景信息。我想实现以下设置:

  1. 在服务器上进行一些长时间运行的计算
  2. 使用 mayavi 渲染一些 3D 场景
  3. 将其导出为.vrml 文件。
  4. 将其传输到 Silverlight 客户端
  5. 在 Silverlight 中渲染 3D 场景
  6. 让用户与该场景进行交互,即缩放、平移、旋转……

我原以为 XNA 附带了最新版本的 Silverlight,所以这很容易,但我在 Google 和 SO 上的研究并没有给我任何有用的提示。如果有人能指出我正确的方向,那就太好了,任何指向教程、库或代码 sn-ps 的链接将不胜感激。

根据 mayavi 文档,我也可以生成替代文件格式

  • 肋骨(渲染)
  • oogl (geomview)
  • iv (OpenInventor)
  • obj(波前)

【问题讨论】:

  • Balder可以导入ASE格式。它不是 VRML,但您可以编写转换器。您也可以考虑为OBJ format 编写自己的阅读器并以编程方式构建网格,因为它非常易于阅读。
  • 不敢相信我忘记了这一点:专为 Silverlight 5 设计以展示其 3D 功能的 Babylon Toolkit 具有 built-in Wavefront OBJ import
  • 这看起来不错。我马上试试。您也可以将其设为答案,因此如果我的尝试成功,我可以将其标记为解决方案。

标签: python silverlight 3d mayavi vrml


【解决方案1】:

这看起来很有希望:

http://www.postvision.net/SilverMotion/Default.aspx

直接来自网站:

只需将 SilverMotion 组件放入 Silverlight 开发 环境并导入您的 .3DS 文件,直接从 3D 导出 建模环境(Blender、3DS Max、Maya、MilkShape 等) 进去。而已。场景将被渲染,准备好进行交互 在您的浏览器中。

您可能需要进行中间文件转换,但是对于显示组件,它听起来很容易使用。

【讨论】:

  • 感谢您的提示,但使用 Mayavi 编写 3ds 格式似乎并不容易,尽管我需要对这个问题进行更多研究。
  • 是的,想想看,我可能应该像上面的 Chris Sinclair 那样在评论中留下建议。事实上,他的建议可能比我的更有希望,因为它是开源的。
  • 转换似乎很难,我先试试Babylon Toolkit,看看对我有没有帮助。
【解决方案2】:

您可以试一试Babylon Toolkit(专为 Silverlight 5 设计以展示其 3D 功能),因为它具有built-in Wavefront OBJ import。我无法具体评论它的导入效果,因为我没有专门使用它。

【讨论】:

    猜你喜欢
    • 2012-04-25
    • 1970-01-01
    • 2021-08-23
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多