Javascript threejs blend json导出+;无法读取属性';类型';未定义的
打开新项目时,我尝试在Chrome浏览器中渲染Blender v2.74加载的默认三维立方体模板。 我已经使用ThreeJSV1.4.0附加组件将其导出为json。 我正在使用Three.js修订版71 参考以下文档,我尝试加载当前存储在数据库中的json模型。() 看起来一切正常,但它失败了,出现以下错误: 未捕获的TypeError:无法读取未定义的属性“attributes” 未捕获的TypeError:无法读取未定义的属性“transparent” 生成的json是:Javascript threejs blend json导出+;无法读取属性';类型';未定义的,javascript,json,3d,three.js,blender,Javascript,Json,3d,Three.js,Blender,打开新项目时,我尝试在Chrome浏览器中渲染Blender v2.74加载的默认三维立方体模板。 我已经使用ThreeJSV1.4.0附加组件将其导出为json。 我正在使用Three.js修订版71 参考以下文档,我尝试加载当前存储在数据库中的json模型。() 看起来一切正常,但它失败了,出现以下错误: 未捕获的TypeError:无法读取未定义的属性“attributes” 未捕获的TypeError:无法读取未定义的属性“transparent” 生成的json是: { &qu
{
"faces": [33,0,1,2,3,0,1,2,3,33,4,7,6,5,4,5,6,7,33,0,4,5,1,0,4,7,1,33,1,5,6,2,1,7,6,2,33,2,6,7,3,2,6,5,3,33,4,0,3,7,4,0,3,5],
"name": "CubeGeometry",
"metadata": {
"faces": 6,
"uvs": 0,
"normals": 8,
"type": "Geometry",
"vertices": 8,
"generator": "io_three",
"version": 3
},
"normals": [0.577349,-0.577349,-0.577349,0.577349,-0.577349,0.577349,-0.577349,-0.577349,0.577349,-0.577349,-0.577349,-0.577349,0.577349,0.577349,-0.577349,-0.577349,0.577349,-0.577349,-0.577349,0.577349,0.577349,0.577349,0.577349,0.577349],
"vertices": [1,-1,-1,1,-1,1,-1,-1,1,-1,-1,-1,1,1,-1,0.999999,1,1,-1,1,1,-1,1,-1],
"uvs": []
}
用于加载json的代码是:
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
camera.position.z = 5;
// instantiate a loader
var loader = new THREE.JSONLoader();
// load a resource
loader.load(
// resource URL
$scope.parentScope.apiRootUrl + "/" + $scope.selectedItem.model3D,
// Function when resource is loaded
function (geometry, materials) {
var material = new THREE.MeshFaceMaterial(materials);
var object = new THREE.Mesh(geometry, material);
scene.add(object);
}
);
var render = function () {
requestAnimationFrame(render);
renderer.render(scene, camera);
};
render();
在init()方法之后,当调用window.requestAnimationFrame(update)时,JSON模型已正确加载。它已更新,错误已消失。感谢您的反馈,我可能错过了一些东西。我不确定你说的是哪个init()。我刚刚添加了json和我使用的javascript代码。