首页 > 解决方案 > 如何跟踪 3d 模型所有部分的“名称”

问题描述

我正在将 Flare3d 导出的 3dmodel 成功加载到 Flash 中。我可以使用MouseCollision().

目标:

在没有鼠标碰撞的情况下动态提取所有模型零件名称/零件号。

*我想在模型添加到舞台之前检索相同的数据。

我希望输出所有 3d 模型的零件名称,然后操作数据以供我的应用程序使用。我想动态地执行此操作,以便于更新 3d 模型。

我已经追踪了主要场景:我正在使用的 Scene3D scene = new Viewer3D(this)

输出返回 [object Camera3D], [object Flare3DLoader]

这是目前仅适用于鼠标碰撞的内容:

private function updateEvent(e: Event): void {
        if (mouse.test(Input3D.mouseX, Input3D.mouseY)) {

        // get access to the first and closest collision.
        var over: Pivot3D = mouse.data[0].mesh;

        if (over != last) {

         // name of 3d part is traced.
        trace("mouse in", over.name);
        }
        over.rotateY(10);
        last = over;
        Mouse.cursor = MouseCursor.BUTTON;
        } else {
          if (last) {
        trace("mouse out", last.name);
        }
        last = null;
        Mouse.cursor = MouseCursor.AUTO;
        }
     }

标签: flashtraceflare3d

解决方案


私有函数 updateEvent(e: Event): void {
for each (var n:Surface3D in holder.surfaces)

            {

            trace(n.name);

            }

}


推荐阅读