如何在THREE.js中对json模型进行分组?

时间:2016-01-08 02:22:56

标签: json three.js

我希望在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

1 个答案:

答案 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;
};