我需要从父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的快速示例,以及如何从内联网址路由节点,以便我可以发送事件等,我们将不胜感激。如果我不够清楚,请告诉我。
答案 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尚未完成对命令的测试 - 文档有点怪异。