我需要从父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中的一些节点来操纵场景。我读过关于导入和导出的内容,以及如何使用它们从内联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。
如果有人能给我一个如何使用导入和导出的快速示例,以及如何从内联url中路由节点,以便我可以向它发送事件等,将非常感谢。如果我说得不够清楚,请告诉我。
发布于 2013-02-17 02:43:03
这对我很有效: 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'/>还没有完成命令的用例测试--文档有点可疑。
https://stackoverflow.com/questions/13279526
复制相似问题