我一直在玩Blender比我编码的时间长得多,当我得知你可以使用three.js在浏览器中加载和操作混合时,我感到非常兴奋。我查了一个教程,导出了一个简单的icosphere,并插入了我的.json文件。唉,在查看了许多不同的页面和示例后,我仍然无法让它出现在浏览器中,尽管我的代码中找不到任何可见的错误。我用它制作了一个codepen项目(这是我能找到让json文件在线的唯一方法。)
https://codepen.io/redheadedmandy/project/editor/ZjNEQG#0
以下是调用.json文件的代码片段:
function initMesh() {
function addModelToScene(geometry, materials) {
var material = new THREE.MeshFaceMaterial(materials);
model = new THREE.Mesh(geometry, material);
model.scale.set(1, 1, 1);
model.position.set(50, 0, 0);
scene.add(model);
var loader = new THREE.JSONLoader();
loader.load("casvusnion.json", addModelToScene);
}
}
如果有人能发现问题,或者对问题可能有什么建议,我会非常感谢帮助!
答案 0 :(得分:0)
试试这个:
function initMesh() {
var loader = new THREE.JSONLoader();
loader.load("casvusnion.json", addModelToScene);
function addModelToScene(geometry, materials) {
var material = new THREE.MeshFaceMaterial(materials);
model = new THREE.Mesh(geometry, material);
model.scale.set(1, 1, 1);
model.position.set(50, 0, 0);
scene.add(model);
}
}
并在浏览器的控制台日志中查看警告和错误消息。
另外,你的相机
camera = new THREE.PerspectiveCamera(70, WIDTH / HEIGHT, 1, 10);
camera.position.set(0, 3.5, 5);
camera.lookAt(scene.position);
和你的模特
model.position.set(50, 0, 0);
模特的位置看起来远离相机的视野。
最后,你的项目是只读的,所以其他人不可能在那里改变一些东西。