内容简介:最近把3DTouch功能加入到游戏中了,调研了一下,其实挺方便了。代码很简单,如下代码所示,判断当前手机是被是否支持3DTouch ,在Update中获取压力的大小,接着就能做逻辑了。Android应该有些手机也支持3DTouch功能。
最近把3DTouch功能加入到游戏中了,调研了一下,其实挺方便了。
代码很简单,如下代码所示,判断当前手机是被是否支持3DTouch ,在Update中获取压力的大小,接着就能做逻辑了。
//压力的取值在0F-6.xF之间,我们测试4F是个不错的力度
const float PRESSURE_MAX = 4F;
void Update ()
{
if (Input.touchPressureSupported) {
if (Input.touchCount > 0) {
Touch touch = Input.GetTouch (0);
if (touch.pressure >= PRESSURE_MAX) {
//触发3dtouch
}
}
}
#if UNITY_EDITOR
//editor下用鼠标右键来模拟
if (Input.GetMouseButtonDown (1)) {
} else if (Input.GetMouseButtonUp (1)) {
} else if (Input.GetMouseButton (1)) {
}
#endif
}
Android应该有些手机也支持3DTouch功能。
唯一需要注意的是,当触发3DTouch的时候希望有一个震动的反馈,Unity提供了一个震动的方法 Handheld.Vibrate(); 但是震动的效果不好,因为它是长震动,3DTouch震动应该是短震动。所以这时候播放短震需要调用到oc的代码去播放短震动。
#import <AudioToolbox/AudioServices.h> AudioServicesPlaySystemSound(1520);
OK 这就完美了。
- 本文固定链接: http://www.xuanyusong.com/archives/4455
- 转载请注明:雨松MOMO 于雨松MOMO程序研究院 发表
雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!
捐 赠 如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。
以上所述就是小编给大家介绍的《Unity3D研究院之3DTouch》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 清华人工智能研究院成立「知识智能研究中心」,发布四大知识平台
- 中国电信广州研究院与思博伦通信共同推动智能化承载网络测试技术研究
- 巨头们的AI研究院战事
- AWS在上海成立人工智能研究院
- 清华大学人工智能研究院成立自然语言处理与社会人文计算研究中心,孙茂松教授任中心主任
- 微软亚洲研究院:NLP将迎来黄金十年
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。