【问题标题】:Scene graph implementation for Papervision?Papervision 的场景图实现?
【发布时间】:2009-02-06 21:25:30
【问题描述】:

我正在尝试将 Papervision for Flash 用于我的这个项目,该项目涉及一个机械框架的 3D 模型,由几个连接的部分组成。部件之一的移动导致框架的其他部件的方向和位置的相应变化。 我的理解是,使用场景图来处理这种链接运动将是理想的方式,至少,如果我要在更成熟的 3D 开发选项之一中实现,例如 OpenGL 或 DirectX。 我的问题是,Papervision 是否有现有的场景图实现?或者,另一种生成所需 3D 运动的方法?

谢谢!

【问题讨论】:

    标签: papervision3d scenegraph


    【解决方案1】:

    我认为 Papervision 基本上是一个基于 Flash 的 3D 渲染引擎,因此应该包含自己的场景图。

    API 中查看org.papervision3d.scenes.Scene3D

    请参阅article,了解 Papervision 中各种对象的详细说明。您可以做的一件事是在 Google 上搜索具有 P3D 中的关键对象的文章,例如 EngineManager、Viewport3D、BasicRenderEngine、Scene3D 和 Camera3D。

    至于“生成运动”,这取决于您要达到的目标。要么自己编写代码并更改场景,要么使用物理库等第三方库,这样就不必自己编写所有代码。

    【讨论】:

      【解决方案2】:

      老实说,您可以在搜索一个的时间内构建一个:

      使用虚拟方法 Render(matrix:Matrix) 创建一个名为 Node 的类,该类包含一个子节点数组。 创建一个名为 TransformNode 的 Node 子类,它引用一个矩阵。 创建一个名为 ModelNode 的 Node 子类,它引用一个模型。

      TransformNode 的 Render 方法将传入的矩阵与自己的矩阵相乘,然后调用其子级的 render 方法与生成的矩阵。

      ModelNode 的 Render 方法将其模型发送到传入矩阵指定位置的渲染器。

      就是这样。如果边界形状在视锥体中不可见,您可以使用不调用其子级的 BoundsNode 进一步增强功能。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-16
        • 2010-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多