默认输入轴:

  horizontal 和 vertical被映射到w, a, s, d键和方向键

  fire1, fire2, fire3被分别映射到ctrl,option(alt)和command键

  mouse x 和 mouse y被映射到鼠标移动增量

  window shake x 和 window shake y 被映射到窗口的移动

  添加新的输入轴

  添加新的虚拟轴,选择菜单edit->project settings->input :

  名称(name):名称用于从脚本使用这个轴

  描述名称(descriptive name):正值名称显示于配置对话框的输入标签,用于独立版。

  描述负名称(descriptive negative name):负值名称显示于配置对话框的输入标签,用于独立版。

  负按钮(negative button):该按钮用于在负方向移动轴 (如:左)

  正按钮(positive button):该按钮用于在正方向移动轴 (如:右)

  备选负按钮(alt negative button):备选按钮用于在负方向移动轴(如:a)

  备选正按钮(alt positive button):备选按钮用于在正方向移动轴 (如:d)

  重力(gravity):当没有按钮被按下,在单位每秒速度,轴下降到0。

  死亡(dead):模拟的死区大小。 设定范围内所有模拟设备的值为0。

  灵敏度(sensitivity):在单位每秒速度,轴将移向目标值。这近用于数码设备。

  捕捉(snap):如果启用,当按下相反方向的按钮,该轴值将重设为0。

  反向(invert):如果启用,负按钮将提供一个正值,反之亦然。

  类型(type):控制轴的输入设备类型

  轴(axis):连接设备的轴将控制这个轴 (因为上面正负按钮设置的是左右,所以这里要选x轴)

  操作杆(joy num)连接操纵杆将控制这个轴

  移动设备输入

  unity 为你提供访问ios/android系统的input 和 ios input脚本接口。

  多点触控

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

  触控状态(touchphase):(例子:if(touch.phase != touchphase.began))

  began:手指已触摸屏幕。

  moved:手指在屏幕上移动。

  stationary:手指触摸屏幕,但并没有移动。

  ended:手指从屏幕上移开。这是一个触摸的最后状态。

  canceled:系统取消跟踪触摸,如用户把屏幕放到他脸上或超过五个接触同时发生。这是一个触摸的最后状态。

  设备面朝方向

  input.deviceorientation : (例子:if (input.deviceorientation == deviceorientation.facedown))

  unknown:设备的方向不能被确定。

  portrait:设备在纵向模式,设备直立并home按钮在底部。

  portraitupsidedown:设备在纵向模式,但颠倒一下,设备直立并home按钮在顶部。

  landscapeleft:设备在横向模式,设备直立并home按钮在右边。

  landscaperight:设备在横向模式,设备直立并home按钮在左边。

  faceup:设备保持与地面平行,屏幕的面向上。

  facedown:设备保持与地面平行,屏幕的面向下。

  加速传感器

  input.acceleration :竖直拿着设备(home按钮在底部),x轴指向右,y轴指向上,z轴指向前。

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

//加速器刷新间隔

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;

}

更多unity2018的功能介绍请到paws3d爪爪学院查找。