Unity AR 一种 两指缩放 两指旋转模型共存 避免冲突和抖动的解决办法

阅读: 评论:0

Unity AR 一种 两指缩放 两指旋转模型共存 避免冲突和抖动的解决办法

Unity AR 一种 两指缩放 两指旋转模型共存 避免冲突和抖动的解决办法

两指缩放 两指旋转模型共存 避免冲突和抖动的解决办法

最近在改之前的AR游戏Demo,想努力一下上个架,需要在非AR模式加入两指手势识别,因为本身游戏玩法的输入方式是一指滑动,所以设定两指同时滑动旋转模型,手势识别放大缩小。

看了一下网上普遍比较多的是单指滑动旋转模型,两指缩放。还有人说两指同时判断滑动旋转和缩放会有冲突且有抖动。其实我觉得是很好避免的。但是没有看到相关的内容,自己写了一下就发上来吧。

不是最好的办法,但是的确可以解决问题。

具体思路就是两指操作以两指距离做区分,两指距离比较近的情况视为滑动旋转,两指距离较远视为缩放。(以屏幕最宽边1/3长度为界)

具体代码见下。

if (uchCount > 1)//多指操作{Touch t1 = Input.GetTouch(0);Touch t2 = Input.GetTouch(1);//单点触控记录初始点if (t2.phase == TouchPhase.Began){startFingerPos = t2.position;}endFingerPos = t2.position;//实时手指位置 DoubleTouchCurrDis = Vector2.Distance(t1.position, t2.position);//实视两指距离if ((t1.phase == TouchPhase.Moved) && (t2.phase == TouchPhase.Moved)) //双指滑动{if(DoubleTouchCurrDis >=  Screen.width / 3)//两指间距宽{if (OLDDoubleTouchCurrDis == 0){OLDDoubleTouchCurrDis = DoubleTouchCurrDis;}else{if (OLDDoubleTouchCurrDis - DoubleTouchCurrDis > 0)//放大{transform.Translate(Vector3.forward * -0.1f);OLDDoubleTouchCurrDis = DoubleTouchCurrDis;return;}else if (OLDDoubleTouchCurrDis - DoubleTouchCurrDis < 0)//缩小{transform.Translate(Vector3.forward * 0.1f);OLDDoubleTouchCurrDis = DoubleTouchCurrDis;return;}}}else//两指间距窄{if ((Mathf.Abs(endFingerPos.x - startFingerPos.x) / Screen.width) >= 0.05f){Debug.Log("向左右滑动");transform.ansform.position, Vector3.up, 10 * (endFingerPos.x - startFingerPos.x) / Screen.width);return;}if ((Mathf.Abs(endFingerPos.y - startFingerPos.y) / Screen.height) >= 0.05f){Debug.Log("向上下滑动");Debug.ientation);if (ientation == ScreenOrientation.LandscapeLeft)transform.ansform.position, transform.right, 10 * (endFingerPos.y - startFingerPos.y) / Screen.height);if (ientation == ScreenOrientation.LandscapeRight)transform.ansform.position, transform.right, -10 * (endFingerPos.y - startFingerPos.y) / Screen.height);return;}}}}

本文发布于:2024-02-02 11:00:31,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170684282843351.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:缩放   解决办法   模型   冲突   Unity
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23