移动端如何修复相机旋转问题?修复后双指缩放无法定位触摸位置怎么办
修复Forge Viewer移动端双指缩放锚点偏移问题
你重写手势逻辑后旋转正常但缩放无法对准触摸位置,核心原因是你只适配了旋转事件的坐标映射逻辑,没有给缩放操作绑定双指触点对应的场景坐标作为锚点,按以下步骤调整即可:
- 监听
gesturestart事件触发时,先计算两个触摸点的屏幕坐标平均值,作为本次缩放的2D锚点坐标 - 调用Viewer内置的
clientToWorld方法,将上述2D屏幕坐标转换为场景对应的3D世界坐标,将该坐标存储为本次缩放操作的固定锚点 - 处理
gesturechange事件的缩放逻辑时,不要使用默认的场景中心作为缩放基准,每次应用缩放系数前,先将相机的临时目标点对准你存储的3D锚点再执行缩放 gestureend事件触发后,将相机的目标点恢复为缩放前的原始值,避免后续单指旋转操作出现视角跳变
仅替换缩放锚点即可,不要修改Viewer原生的缩放系数计算规则,否则会出现缩放速度和原生操作体验不一致的问题
内容的提问来源于stack exchange,提问作者yamada-k-25
相关产品推荐
相关产品推荐

