我正在尝试创建一个小容器,用户可以在其中移动鼠标/拖动手指,以便在另一个容器中控制渲染器 DOM 元素。问题是 TrackballControls.js,一个包含在 THREE.js 中的控制器脚本,将控件映射到 event.clientX 和 event.clientY,所以当我在我创建的小容器中拖动时,我看不到想要的效果。我想知道从一个小区域映射输入并影响渲染器元素的正确方法,就好像用户有整个渲染区域来提供输入一样?
我需要这样做的原因是因为我将 CSS3D 视图集成到普通的 2D 页面中,如果我不禁用 TrackballControls.js 上的触摸控件,移动体验会很糟糕——用户将向下滚动页面正常,当他点击 3D div 时,3D 控件接管,用户不能再从该区域滚动回到页面内容的其余部分。所以我需要一个小区域,用户可以在其中旋转、缩放和平移我的 3D 可视化,然后能够滚动其余部分以逃避。
谢谢!