漏洞? Physijs 克隆不保留 Phsyijs 属性(碰撞能力)
BUG? Physijs Clone does not retain Phsyijs properties (collide-ability)
在 Physijs 中,我创建了一个 "bumper" 圆柱体网格,供球体弹开。
然后我克隆了网格,定位了克隆(在这个例子中,是原始网格)并将它们添加到 "ground" 框中,如下所示:
// 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 );
只有原来的保险杠起作用,球体穿过克隆体。
工作示例HERE
我是不是做错了什么? "clone" 不打算在 Physijs 中以这种方式工作吗?
我发现错误了吗?
现在,我将为我需要的每个保险杠创建新的 Phsyijs 网格...
-Marqso
我想我知道你在说什么。
内部 clone()
函数创建一个新的 THREE.Mesh
,而不是 Physijs
。要解决这个问题,只需创建一个克隆函数,将 THREE.Mesh
封装到 Physijs.CylinderMesh
:
function cloneBumper(){
var obj = new Physijs.CylinderMesh(bumper.clone().geometry, bumper.material, bumper.mass);
return obj;
}
完成!您的保险杠现在应该已正确克隆!
在 Physijs 中,我创建了一个 "bumper" 圆柱体网格,供球体弹开。 然后我克隆了网格,定位了克隆(在这个例子中,是原始网格)并将它们添加到 "ground" 框中,如下所示:
// 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 );
只有原来的保险杠起作用,球体穿过克隆体。
工作示例HERE
我是不是做错了什么? "clone" 不打算在 Physijs 中以这种方式工作吗?
我发现错误了吗?
现在,我将为我需要的每个保险杠创建新的 Phsyijs 网格...
-Marqso
我想我知道你在说什么。
内部 clone()
函数创建一个新的 THREE.Mesh
,而不是 Physijs
。要解决这个问题,只需创建一个克隆函数,将 THREE.Mesh
封装到 Physijs.CylinderMesh
:
function cloneBumper(){
var obj = new Physijs.CylinderMesh(bumper.clone().geometry, bumper.material, bumper.mass);
return obj;
}
完成!您的保险杠现在应该已正确克隆!