0

我需要从父 x3d 文件中的内联 x3d 文件访问节点。例如,假设我们有一个房间模型作为 x3d 文件。我们在这个房间里放了几把椅子。我们使用内联 url 用几个 chair.x3d 文件填充 room.x3d。我们在 room.x3d 文件中有这样的东西来放置椅子:

<Transform DEF = 'Chair'
        translation = '0 0 0'
        scale = '1 1 1'
        rotation='-0.600546 0.600546 90 0'>
        <Inline DEF ='chr' url = 'Chair.x3d' />
    </Transform>

现在,我需要访问 Chair.x3d 中的一些节点来操作场景。我已经阅读了有关 IMPORT 和 EXPORT 以及它们如何用于从内联 url 获取节点的信息,但是我还没有找到一个好的工作示例。我看过这个:

http://www.web3d.org/x3d/content/examples/Basic/development/_pages/page27.html

但这似乎不起作用。

我也读过这个:

http://www.web3d.org/files/specifications/19775-1/V3.2/Part01/components/networking.html

但是语法是 VRML 而不是 x3d。

如果有人能给我一个关于如何使用 IMPORT 和 EXPORT 以及如何从内联 url 路由节点以便我可以发送事件等的快速示例,将不胜感激。如果我不够清楚,请告诉我。

4

1 回答 1

0

这对我有用: X3D 对象的源文件(棕色圆柱体):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" .stuff..>
<X3D profile='Interchange' version='3.0'
    xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' ..stuff..>
<Scene>
<Transform DEF='XFER_OBJECT'>
    <Shape> 
        <Cylinder radius='1' height='1'/> 
        <Appearance> 
            <Material diffuseColor='.9 .3 .3'/> 
        </Appearance>
    </Shape> 
</Transform>
<Export localDEF='XFER_OBJECT' as='Cyl'/>
</Scene>
</X3D>

以及我的 xhtml 文件中的 url/import 代码:

<Transform translation='2 0 0' >
    <Inline DEF='objectBrnCyl' url='"test33.x3d"' />
</Transform>
<IMPORT InlineDEF='objectBrnCyl' exportDEF='Cyl' as='brnCyl'/>

还没有完成对命令的案例测试——文档有点吓人。

于 2013-02-16T18:43:03.427 回答