我正在尝试将从 3DWarehouse 获得的模型加载到 three.js 中。我无法让 Collada Loader 工作,因此我将其导入 THREEJS 编辑器并使用“导出对象”功能将其导出。当我使用以下代码将对象加载到我的应用程序中时:
var kiss = new THREE.Object3D(), loader = new THREE.JSONLoader(true);
loader.load("model/kiss/kiss.js", function (geometry, meshKiss) {
meshKiss = new THREE.Mesh(geometry, new THREE.MeshPhongMaterial());
kiss.addChild(meshKiss);
});
scene.add(kiss);
我得到了错误:
Uncaught TypeError: Cannot read property 'length' of undefined
它指的是 THREE.JSONLoader.prototype.parse 中要求第一个参数的 uvs 长度的行。
目标文件 'geometries' 没有 uvs(它确实有顶点、法线和面):
geometries: data: uvs: [[]]
在将较旧的 JSON 格式文件导入 THREEJS 导出器时,我也发现了这个问题(我测试了 Ginger 模型)。
我的流程是否有效,如果有效,为什么 json 对象没有导入到 THREE.JS 中?