在Physijs中,我创建了一个“保险杠”圆柱形网格,用于弹射球。然后我克隆了这个网格,定位了克隆体(在本例中是原始网格),并将它们添加到一个“地面”框中,如下所示:
// CREATE AND CLONE A BUMPER
bumper = new Physijs.CylinderMesh
(
new THREE.CylinderGeometry( 5, 5, 7, 20, 80, false ),
ground_material,
0 // mass
);
var Bumper01 = bumper.clone();
var Bumper02 = bumper.clone();
// POSITION THE CLONES AND THE ORIGINAL BUMPER
Bumper01.position.set( -2, 4, -50 );
Bumper02.position.set( 2, 4, -10 );
bumper.position.set( 0, 4, 30 );
// ADD THE CLONES AND THE ORIGINAL BUMPER TO THE GROUND CUBE
groundCube.add( bumper, Bumper01, Bumper02 );
scene.add( groundCube );只有原始的保险杠函数,球体通过克隆。
工作实例这里
我做错了什么吗?“克隆人”不打算在Physijs中这样工作吗?
我发现虫子了吗?
现在,我将为我需要的每一个保险杠创建新的Phsyijs网格..。
-Marqso
发布于 2015-02-25 22:56:01
我想我知道你在说什么。
内部clone()函数创建一个新的THREE.Mesh,而不是Physijs函数。要解决这个问题,只需创建一个将THREE.Mesh封装到Physijs.CylinderMesh中的克隆函数即可。
function cloneBumper(){
var obj = new Physijs.CylinderMesh(bumper.clone().geometry, bumper.material, bumper.mass);
return obj;
}完成了!你的保险杠现在应该被正确克隆!
https://stackoverflow.com/questions/28547800
复制相似问题