【问题标题】:Load 3D object in Silverlight 3/4在 Silverlight 3/4 中加载 3D 对象
【发布时间】:2010-12-17 01:21:23
【问题描述】:

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

【问题讨论】:

    标签: silverlight 3d 3dsmax


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      不是。

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

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

      【讨论】:

        【解决方案3】:

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

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

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

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

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

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

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

        【讨论】:

          【解决方案4】:

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

          Google o3D 可能是你要走的路。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-01-15
            • 2013-02-22
            • 2023-03-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多