在新版的threejs中,用了OrbitControls鼠标控制后,又想使用Raycaster射线拾取3D场景里的物体,想要实现在一个3D环境贴图里,点击环境里自己创建的立方体,发现OrbitControls控件阻止了click的冒泡,导致除了能左右上下移动场景外,却不能触发场景内其他click事件,这样Raycaster射线拾取就不能使用了。应该怎么办呢?
我想在场景里,用Raycaster射线拾取那个小的蓝色正方体,但是点击事件click被OrbitControls鼠标控件一直监听着,只能VR查看整个环境模型,却不能点击获取蓝色正方体
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。
可以尝试在渲染dom上面覆盖一层空块div,div宽高要包裹渲染dom,z-index>=渲染dom,然后尝试通过点击事件获取Raycaster射线的交点。反正这个方法可以使用,目前也不知道为什么点击事件失效!
请问楼主找到解决方法了吗
控件加一个开关不就好了 移动场景 开关是true 需要射线的时候 开关false 你总不可能 一边移动的时候一边射线捕获吧 那有什么操控性
点击失效是因为OrbitControls 占用了canvas的鼠标事件,并阻止了向下传播。解决有两种途径