我是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文件。
答案 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>