我希望在THREE.js中对加载的json模型进行分组,但是收到错误...
THREE.Object3D.add: object not an instance of THREE.Object3D
我正在使用......的示例代码
var group = new THREE.Object3D();
然后......
group.add(model1);
group.add(model2);
我之前加载了model1和model2 - 当我将它们单独添加到场景时这些渲染很好,但是当我添加组时我得到了错误......
scene.add( group );
我尝试过不同技术的组合,例如THREE.Mesh()或将json模型添加到其他json模型,例如。 model1.add(MODEL2)。
R72
答案 0 :(得分:0)
问题是异步加载模型 - 尝试在模型加载之前对模型执行操作。
group = new THREE.Mesh(); //global to add transforms
var jsonLoader = new THREE.JSONLoader();
jsonLoader.load( "model1.json", function(geometry,materials) {
var mesh = createMesh(geometry,materials); //function to create generic mesh properties
group.add(mesh);
});
jsonLoader.load( "model2.json", function(geometry,materials) {
var mesh = createMesh(geometry,materials); //function to create generic mesh properties
group.add(mesh);
});
scene.add( group );
function createMesh( geometry, materials )
{
var material = new THREE.MeshFaceMaterial( materials );
mesh = new THREE.Mesh( geometry, material );
return mesh;
};