X3DOM没有拿起外部的x3d文件

时间:2014-11-21 09:21:31

标签: x3d x3dom

我是3D图形世界的新手。我有一个x3d文件,我想在Web浏览器中显示。我正在尝试使用以下代码。

<Shape>
   <Appearance>
   <Material diffuseColor='0.6 0.0 0.6' specularColor='0.8 0.8 0.8' shininess='0.145'/>
   </Appearance>
   <inline url="full.x3d"> </inline> 
</Shape>

这是用本地html文件编写的,&#34; full.x3d&#34; file与html文件位于同一目录中。当我打开html文件时,x3d框只显示加载...即使很长一段时间也没有任何加载。

x3d文件本身很好。如果我手动将其内容复制到html文件,我会得到一个好的输出。

我不确定为什么x3dom没有从文件中获取数据。我没有使用任何本地服务器,直接在浏览器中打开html。

这个问题不仅限于我的文件。当我从x3d教程网站下载并运行示例文件时,它也无法加载附加的x3d文件。

2 个答案:

答案 0 :(得分:1)

内嵌不是Shape的字段 将该节点取出形状,它将起作用 内联节点应该是分组节点的子节点(读取规范) 还有一个例子here

答案 1 :(得分:1)

您的部分问题与浏览器的安全设置有关。默认情况下,不允许浏览器在您的系统上本地访问文件。您需要以允许其访问这些本地文件的方式启动浏览器。有关启动Chrome以允许文件访问文件的信息,请参阅此答案:

How to launch html using Chrome at "--allow-file-access-from-files" mode?

请注意,您必须完全关闭Chrome才能使用此功能(包括驱动器,视频群聊或计算机上运行的任何其他Chrome相关软件。)我之前遇到过此问题;我花了一段时间才弄明白。

供您参考,这是我用来显示x3d文件的HTML(注意:我的机器本地有js文件)

 <html>
  <head>
    <title>My first X3DOM page</title>
    <link rel="stylesheet" type="text/css" href="x3dom-1.6.1/x3dom.css"></link>
    <script type="text/javascript" src="x3dom-1.6.1/x3dom-full.js"></script>
    <script type="text/javascript" src="x3dom-1.6.1/ammo.js"></script>
    <script type="text/javascript" src="x3dom-1.6.1/dash.all.js"></script>
  </head>
  <body>
    <h1>My X3DOM world</h1>
    <p>
      This is my first html page with some 3d objects!
    </p>
    <x3d width="500px" height="400px">
      <scene>
        <transform scale="15,15,15">
        <transform rotation="0,1,0,-.785">
        <transform rotation="1,0,-1,.785">
        <transform translation="0,0,.2">
        <inline url="foo.x3d" render="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" load="true" namespacename=""></inline>
      </scene>
    </x3d>
  </body>
</html>