Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 没有在jsfiddle.net上加载外部资源的three.js示例_Javascript_Html_Dom_Three.js - Fatal编程技术网

Javascript 没有在jsfiddle.net上加载外部资源的three.js示例

Javascript 没有在jsfiddle.net上加载外部资源的three.js示例,javascript,html,dom,three.js,Javascript,Html,Dom,Three.js,我正在尝试让这个示例项目工作: github.com/josdirksen/learning-threejs/blob/master/chapter-09/07-first-person-camera.html 我已经尝试在pages.github.io帐户上镜像代码,并且为了在JSFIDLE上运行代码而做了一些小的修改 例如:jsfiddle.net/bk4wm7sf/(派生自:/5hcDs/) 我对该示例所做的唯一更改是修改了文件位置(使用rawgit.com为CDN手动上传到JSFIDLE

我正在尝试让这个示例项目工作: github.com/josdirksen/learning-threejs/blob/master/chapter-09/07-first-person-camera.html

我已经尝试在pages.github.io帐户上镜像代码,并且为了在JSFIDLE上运行代码而做了一些小的修改

例如:jsfiddle.net/bk4wm7sf/(派生自:/5hcDs/)

我对该示例所做的唯一更改是修改了文件位置(使用rawgit.com为CDN手动上传到JSFIDLE作为参考资料)并删除了html代码

例:

我还尝试:

var texture = THREE.ImageUtils.loadTexture('https://rawgit.com/josdirksen/learning-threejs/master/assets/textures/Metro01.JPG');
//texture.wrapS = texture.wrapT = THREE.MirroredRepeatWrapping;
loader.load('https://rawgit.com/josdirksen/learning-threejs/master/assets/models/city.obj', 'https://rawgit.com/josdirksen/learning-threejs/master/assets/models/city.mtl', load);
其他尝试: /zy448tn2/&/jw20wtq5/(这一个有rawgit URL)

我认为成品应该是这样的:

通过将JSFIDLE设置“RequestAnimationFrame”从onLoad更改为“onDomready”,我看到了一些改进,但city.obj文件仍然没有渲染

我对javascript/three.js相当陌生,所以我怀疑这是一个愚蠢的问题?感谢您的帮助

更新:好的,所以我能够解决404错误。

我使用浏览器javascript控制台的反馈在JSFIDLE上尝试了14种不同的版本。 IE:/bk4wm7sf/1/etc

当控制台错误消息根据我上传的文件three.js的具体版本开始改变时,我最终感到沮丧

我想消除JSFIDLE和版本不兼容作为可能的变量,所以我使用“wget”从smartjava上的“已知良好”示例中提取各个.js文件,并继续将它们上传到我的页面。 此处版权确认:cantren.github.io/blob/master/README.md

我认为这已经将问题隔离到“index.html”文件中,但我已经没有想法了。。。 github.com/cantren/cantren.github.io/blob/master/index.html

现在,我的javascript控制台显示:

THREE.WebGLRenderer 63
2OBJMTLLoader.js:447 THREE.OBJMTLLoader: Unhandled line usemtl

我只是逐字地对“已知良好”页面源代码执行了Ctrl+C和Ctrl+V操作,然后除了文件位置之外什么都没有修改。这次成功了。不知道为什么。可以运行一个“diff”/“diffchecker.com”,但它现在可以工作了,所以我很高兴。谢谢你的帮助

如果在浏览器中打开控制台,大多数外部资源都是404,可能它们位于登录屏幕后面?此外,加载纹理图像时也会遇到CORS问题。阅读2pha,感谢您提供有关CORS问题的提示。那种“领域知识”需要我很长时间才能独立找到。我目前正在使用cantren.github.io进行调试,但一旦这个示例生效,我将把代码移回jsfiddle.net。
THREE.WebGLRenderer 63
2OBJMTLLoader.js:447 THREE.OBJMTLLoader: Unhandled line usemtl