【发布时间】:2020-09-26 01:49:01
【问题描述】:
我知道通过 Physijs.BoxMesh 可以让三个.js 模型产生物理效果
new Physijs.BoxMesh(Geometry, material, 1)
但是现在我的模型是通过 objloader 导入的。怎样才能让它有物理效果
var objLoader = new THREE.OBJLoader();
objLoader.load(baseUrl+"sofa/1/file.obj", function(mesh){
mesh.scale.set(0.115, 0.115, 0.115);
mesh.rotateY(-Math.PI/2);
mesh.position.set(-105, 0, 80);
scene.add(mesh);
})
【问题讨论】:
-
我明白了! objLoader.load('xxx.obj',function(object){ var model = object; for (let x in model.children){ let material = Physijs.createMaterial(model.children[x].material, 1, 0) ; 让 mesh = new Physijs.BoxMesh(model.children[x].geometry, material, 0); mesh.castShadow = true; mesh.receiveShadow = true; scene.add(mesh); } },onProgress,onError);