Nac*_*tel 2 javascript three.js
如果场景没有显示在整个页面上并且您可以滚动,则 Raycaster 将停止工作并被您滚动的内容抵消。
向下滚动到一边 20 像素,单击对象下方有 20 像素,以便 Raycaster 正确识别对象。
如何解决我的问题?
非常感谢您的帮助
使用
var rect = renderer.domElement.getBoundingClientRect();
mouse.x = ( ( event.clientX - rect.left ) / ( rect.width - rect.left ) ) * 2 - 1;
mouse.y = - ( ( event.clientY - rect.top ) / ( rect.bottom - rect.top) ) * 2 + 1;
Run Code Online (Sandbox Code Playgroud)
会为你工作。这是一个演示,滚动到底部单击立方体。
var rect = renderer.domElement.getBoundingClientRect();
mouse.x = ( ( event.clientX - rect.left ) / ( rect.width - rect.left ) ) * 2 - 1;
mouse.y = - ( ( event.clientY - rect.top ) / ( rect.bottom - rect.top) ) * 2 + 1;
Run Code Online (Sandbox Code Playgroud)