1

我无法将物理添加到加载的 JSON 模型中。模型正在显示,但我无法添加addEventListener( 'collision', handleCollision )"undefined"当我添加监听器时,控制台会说。我用普通的非加载方式尝试了它,Physijs.BoxMesh它工作得很好。Physijs.BoxMesh但是,如果我按照它所说的那样加载 json 模型"undefinded"。有人能帮我吗 ?您可以在我的代码中看到,我创建了一个未加载的立方体和一个已加载的 json_cube。

cube.addEventListener( 'collision', handleCollision ); -> works.

json_cube.addEventListener( 'collision', handleCollision ); -> do not work.

// cube 
var material = new THREE.MeshBasicMaterial({map: THREE.ImageUtils.loadTexture("Textures/crate.jpg")});
var cube = new Physijs.BoxMesh(new THREE.CubeGeometry(20, 20, 20), material);
cube.position.x = 0;
cube.position.y = 50;
cube.position.z = 0;
scene.add(cube);

//JSON Cube
var loader = new THREE.JSONLoader();
var json_cube = loader.load("uvcube.json", function ( geometry, material ) {
    materials = new THREE.MeshBasicMaterial({
      map: THREE.ImageUtils.loadTexture("Textures/new_layout.png")
    });

    json_cube = new Physijs.BoxMesh( geometry, materials);
    json_cube.scale.set( 10, 10, 10 );

    json_cube.position.x =0;
    json_cube.position.y =50;
    json_cube.position.z =40;
    scene.add(json_cube);
}); 
4

0 回答 0