首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >窃听器?Physijs克隆人不保留Phsyijs属性(碰撞能力)。

窃听器?Physijs克隆人不保留Phsyijs属性(碰撞能力)。
EN

Stack Overflow用户
提问于 2015-02-16 18:15:47
回答 1查看 130关注 0票数 0

在Physijs中,我创建了一个“保险杠”圆柱形网格,用于弹射球。然后我克隆了这个网格,定位了克隆体(在本例中是原始网格),并将它们添加到一个“地面”框中,如下所示:

代码语言:javascript
复制
    // 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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-25 22:56:01

我想我知道你在说什么。

内部clone()函数创建一个新的THREE.Mesh,而不是Physijs函数。要解决这个问题,只需创建一个将THREE.Mesh封装到Physijs.CylinderMesh中的克隆函数即可。

代码语言:javascript
复制
function cloneBumper(){
    var obj = new Physijs.CylinderMesh(bumper.clone().geometry, bumper.material, bumper.mass);
    return obj;
}

完成了!你的保险杠现在应该被正确克隆!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28547800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档