Three.js 通过 Gui 防止 Raycast
Three.js prevent Raycast through Gui
我想 select 带有光线投射的对象,但每次我想 select three.js gui 上的东西时,都会触发 Mousdownevent。
我怎么能说 "if the Gui is in front of the object, dont trigger"
document.addEventListener( 'mousedown', onDocumentMouseDown, false );
function onDocumentMouseDown( event ) {
if (event){}
这个 gui 是一个普通的 three.js gui 是这样制作的:
gui = new GUI( { width: 330 } );
解决这个问题的一种方法是使用 jQuery
和一个额外的控制变量:
$( gui.domElement ).mouseenter(function(evt) {
enableRaycasting = false;
} );
$( gui.domElement ).mouseleave(function() {
enableRaycasting = true;
} );
然后您可以使用 enableRaycasting
来确定是否应该进行光线投射。
我想 select 带有光线投射的对象,但每次我想 select three.js gui 上的东西时,都会触发 Mousdownevent。 我怎么能说 "if the Gui is in front of the object, dont trigger"
document.addEventListener( 'mousedown', onDocumentMouseDown, false );
function onDocumentMouseDown( event ) {
if (event){}
这个 gui 是一个普通的 three.js gui 是这样制作的:
gui = new GUI( { width: 330 } );
解决这个问题的一种方法是使用 jQuery
和一个额外的控制变量:
$( gui.domElement ).mouseenter(function(evt) {
enableRaycasting = false;
} );
$( gui.domElement ).mouseleave(function() {
enableRaycasting = true;
} );
然后您可以使用 enableRaycasting
来确定是否应该进行光线投射。