1

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

感谢!

4

2 回答 2

2

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

org.papervision3d.scenes.Scene3DAPI中查看。

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

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

于 2009-02-06T13:03:01.040 回答
0

您可以诚实地构建一个,而您需要搜索一个:

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

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

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

而已。如果边界形状在视锥体中不可见,您可以使用不调用其子级的 BoundsNode 进一步增强事物。

于 2009-02-06T13:25:30.810 回答