[Unity3D] Input按键系统

发布时间:2020-02-28 21:08:15 作者:蓬莱仙羽
来源:网络 阅读:252

默认输入轴:

添加新的输入轴

添加新的虚拟轴,选择菜单Edit->Project Settings->Input :


移动设备输入

Unity 为你提供访问iOS/Android系统的Input 和 iOS Input脚本接口。

多点触控

触控列表(Input.touches):返回上一帧所有触控状态的对象列表(Touch[]:单个触摸状态)。

触控状态(TouchPhase):(例子:if(touch.phase != TouchPhase.Began))

设备面朝方向

Input.deviceOrientation : (例子:if (Input.deviceOrientation == DeviceOrientation.FaceDown))

加速传感器

Input.acceleration :竖直拿着设备(home按钮在底部),X轴指向右,Y轴指向上,Z轴指向前。

加速度传感器数值可能被颠簸影响。应用低通过过滤器可以是它平滑,摆脱干扰。

[Unity3D] Input按键系统
//加速器刷新间隔 float AccelerometerUpdateInterval = 1.0f / 60.0f; //值越大, 被过滤值将汇集当前输入采样越慢 float LowPassKernelWidthInSeconds = 1.0f; 

//过滤范围
private float
LowPassFilterFactor = AccelerometerUpdateInterval / LowPassKernelWidthInSeconds; private Vector3 lowPassValue = Vector3.zero; void Start () { lowPassValue = Input.acceleration; } //过滤方法 (获取加速量调用此方法即可) Vector3 LowPassFilterAccelerometer(){ lowPassValue = Mathf.Lerp(lowPassValue, Input.acceleration, LowPassFilterFactor); return lowPassValue;
}
[Unity3D] Input按键系统

 


GPS地理位置定位

通过iPhoneSettings.StartLocationServiceUpdates()方法开始定位服务的更新。最后通过iPhoneInput.lastLocation可以收回位置坐标变量。

static void 

desiredAccuracyInMeters - 理想服务精确度(单位是米)。使用更高的值像500通常不需要打开GPS芯片从而保持电池电量,像5-10的值可以被用来得到最好的精确度。默认值是10米。

iPhoneInput.lastLocation

[Unity3D] Input按键系统
void Start () {     // 开始服务在查询定位之前     iPhoneSettings.StartLocationServiceUpdates();     // 等待知道服务初始化
  //iPhoneSettings.locationServiceStatus为当前服务状态
int maxWait = 20; while (iPhoneSettings.locationServiceStatus == LocationServiceStatus.Initializing && maxWait > 0) { yield return WaitForSeconds(1); maxWait--; } // 在20秒内服务没有初始化 if (maxWait < 1) { print("Timed out"); return; } // 用户拒绝访问定位服务 if (iPhoneSettings.locationServiceStatus == LocationServiceStatus.Failed) { print("User denied access to device location"); return; } // 被给予许可并且定位数值可以取回 else { print("Location: " + iPhoneInput.lastLocation.latitude + " " + iPhoneInput.lastLocation.longitude + " " + iPhoneInput.lastLocation .altitude+ " " + iPhoneInput.lastLocation.horizontalAccuracy + " " + iPhoneInput.lastLocation.timestamp); } // 如果不需要持续查询刷新定位停止服务 iPhoneSettings.StopLocationServiceUpdates(); }
推荐阅读:
  1. python中的input有什么用
  2. vue如何清空input标签中file的值

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

npu un

上一篇:Office365中国地区数据中心的不同

下一篇:关于HTML5的简单理解

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》