【发布时间】:2019-07-18 10:03:57
【问题描述】:
我想要实现的目标:起初,您只能选择“可交互”组中的对象。当您单击“可交互”对象时,您现在可以选择组“主”中的任何对象。 (你拿起一个可交互的对象,然后选择一个对象来放置它。)
“master”包含组“interactable”。现在我只能从在“可交互”中选择切换到在“主”中选择而不在“可交互”中选择。
这是我的代码:
function render() {
raycaster.setFromCamera(mouse, camera);
if (obj_selected) {intersects = raycaster.intersectObjects(master.children)}
else {intersects = raycaster.intersectObjects(interactable.children)}
if (intersects.length > 0) {
if (INTERSECTED) INTERSECTED.material.emissive.setHex(INTERSECTED.currentHex);
INTERSECTED = intersects[0].object;
INTERSECTED.currentHex = INTERSECTED.material.emissive.getHex();
INTERSECTED.material.emissive.setHex( 0xf4425f );
} else {
if (INTERSECTED) INTERSECTED.material.emissive.setHex(INTERSECTED.currentHex);
INTERSECTED = null;
}
renderer.render(scene, camera);
}
我希望我的解释不会太混乱。提前致谢。
【问题讨论】:
标签: three.js raycasting