我的问题与Not able to visualize a loaded data类似,但我没有控制台错误,我已经在我的Chrome浏览器中添加了'-allow-file-access-from-files'标志。这是我的Java编码,
window.onload = function() {
var r = new X.renderer3D();
r.init();
pros = new X.mesh();
pros.file = 'file:///C:/Users/Nathan/Downloads/JB Farmer STL ACII.stl';
pros.caption = 'Prosthetic';
r.add(pros);
r.render();
};
我应该用相机位置“玩”,我知道我必须在Three.js中这样做。 也许模型需要法线?我不确定它是否成功。除了Three.js之外,我还没有使用3D建模。
更新:嗯,我不确定这是怎么回事,但我意识到XTK生成了2幅画布。我查看了前两个课程,他们有一个课程。 ^现在消除了额外的画布,必须复制一块并且就在那里。
答案 0 :(得分:0)
如果修改文件名没有空格会怎么样?
JB Farmer_STL_ACII.stl而不是JB Farmer STL ACII.stl
答案 1 :(得分:0)
目前,xtk的加载器似乎不是为本地做的。我的意思是:它使用XMLHttpRequest(XHR)来获取带有GET请求的文件。首先,请求必须发送到可以处理它的东西(由Wamp或等效的emilated服务器或localhost)。那么让我们想象一下,如果一个broswer,无论是什么,允许XHR在他的网址的客户端文件,并想象我是一个海盗,你来到我的网站。我很了解Windows,我知道在C:/ Windows / System32中总有一个文件,我可以找到你的个人数据。我该怎么办 ? XHR!你被黑了。这是一个故事,但你看到了这个想法。
这就是为什么浏览器允许访问本地文件的唯一方法是HTML5 File API& HTML5 Drag& Drop API (不幸的是......)。 Actualy一种经历这种限制的方法是在客户端使用二进制代码(flash,java applet)。客户是唯一可以要求打开文件或删除文件的人,因此浏览器确保不会因为他而导致任何安全故障。
所以你应该用Wamp之类的东西进行测试,并使用类似“http://localhost/.../myfile.stl”或相对网址“/.../myfile”的网址访问你的文件。 stl“,或者如果您真的想要本地文件,请执行以下操作。
几个星期前,我为xtk和本地文件编写了自己的私有格式解析器,它运行良好,我只是使用HTML5 API读取文件并从中获取String或BinaryArray,然后编写了一个解析器在X.mesh中转换它。所以我认为最好是扩展HTML5文件API的X.loader,或者像我一样手动加载文件。
来自Haehn的以下jsFiddle帮助 :here!
答案 2 :(得分:0)
X.loader支持本地文件 - 请查看以下js小提琴
http://jsfiddle.net/haehn/TaeEF/
并尝试在那里选择你的stl文件。如果这不起作用,那么它可能是文件或解析XTK的东西。你可以共享文件吗?