来自内联网址的x3d导入和导出节点

时间:2012-11-07 22:41:17

标签: import export inline x3d

我需要从父x3d文件中的内联x3d文件访问节点。例如,假设我们将房间模型作为x3d文件。我们在这个房间里摆放着几把椅子。我们使用内联网址将room.x3d与几个chair.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以及它们如何用于从内联网址获取节点的信息,但是我还没有找到一个好的工作示例。我看过这个:

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的快速示例,以及如何从内联网址路由节点,以便我可以发送事件等,我们将不胜感激。如果我不够清楚,请告诉我。

1 个答案:

答案 0 :(得分: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'/>

Haven尚未完成对命令的测试 - 文档有点怪异。