无法将从Blender导出的对象加载到three.js中?
问题描述:
我一直在使用Blender比我编写代码的时间长得多,当我知道您可以使用three.js加载和操作浏览器中的混合时,我感到很兴奋。我查了一个教程,导出了一个简单的icosphere,并插入我的.json文件。唉,在查看了许多不同的页面和示例之后,尽管我无法在代码中发现任何可见的错误,但仍然无法使其显示在浏览器中。我做了一个codepen项目(这是我能找到的在线json文件的唯一途径)。无法将从Blender导出的对象加载到three.js中?
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);
}
}
如果任何人能发现问题或有什么问题,可能是一个建议,我将非常感激帮助!
答
试试这个:
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);
它看起来像该模型的位置的方式远离摄像头的视野。
最后,你的项目是只读的,所以其他人不可能改变那里的东西。
所以,这次是r75。比r71好得多:)虽然最新版本是r88。 – *er849
首先尝试将模型导入[threejs编辑器](https://threejs.org/editor/)以确保其正确导出通常是一个好主意。在这种情况下,它可以工作,但请注意它离开中心。 –
它对您有帮助吗? – *er849