gpt4 book ai didi

javascript - 如何使用 three.js 拖放 Object3D 元素?

转载 作者:行者123 更新时间:2023-11-29 22:13:42 25 4
gpt4 key购买 nike

我拿了this拖放对象的示例,它工作得很好。但现在我想将一些元素分组以将它们拖放到一起。我用一些球体替换了示例中的立方体,并将它们组合在一个 Object3D() 中。

var data = [[0,10],[50,20],[100,7],[150,18],[200,15],[250,3],[300,10],[350,25]];
var group = new THREE.Object3D();
for(var i = 0; i< data.length; i++){
var mesh = new THREE.Mesh( new THREE.SphereGeometry(data[i][1],20,20), sphereMaterial);
mesh.position.y = data[i][0];
mesh.updateMatrix();
group.add(mesh);
}
objects.push(group);
scene.add(group);

但我无法在我的场景中选择这组对象 :( 我做错了什么?难道不能选择一个组吗?或者它必须看起来像什么?

最佳答案

没有代码很难判断,但我认为您可能正在使用 .intersectObjects(objects),您应该尝试使用 .intersectObjects(objects, true)。

这是文档:

.intersectObjects(对象,递归)

objects — 要检查与光线相交的对象。

recursive — 如果设置,它还会检查对象的所有后代。否则它只检查与对象的交集。检查光线与有或没有后代的物体之间的所有交集。

three.js Raycaster

关于javascript - 如何使用 three.js 拖放 Object3D 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16585146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com