查看: 1271|回复: 4
打印 上一主题 下一主题

[其他] Unity3d中 移动设备面朝方向

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-6-25 01:32:53 |只看该作者 |倒序浏览
    Input.deviceOrientation : (例子:if (Input.deviceOrientation == DeviceOrientation.FaceDown))

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

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

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

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

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

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

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

    加速传感器

    Input.acceleration :竖直拿着设备(home按钮在底部),X轴指向右,Y轴指向上,Z轴指向前。加速度传感器数值可能被颠簸影响。应用低通过过滤器可以是它平滑,摆脱干扰。
  1. //加速器刷新间隔

  2.   float AccelerometerUpdateInterval = 1.0f / 60.0f;

  3.   //值越大, 被过滤值将汇集当前输入采样越慢

  4.   float LowPassKernelWidthInSeconds = 1.0f;

  5.   //过滤范围

  6.   private float LowPassFilterFactor = AccelerometerUpdateInterval / LowPassKernelWidthInSeconds;

  7.   private Vector3 lowPassValue = Vector3.zero;

  8.   void Start () {//unity3d培训:www.unitymanual.com

  9.   lowPassValue = Input.acceleration;

  10.   }

  11.   //过滤方法 (获取加速量调用此方法即可)

  12.   Vector3 LowPassFilterAccelerometer(){

  13.   lowPassValue = Mathf.Lerp(lowPassValue, Input.acceleration, LowPassFilterFactor);

  14.   return lowPassValue;

  15.   }
复制代码
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

hyui    

1

主题

2

听众

6671

积分

高级设计师

Rank: 6Rank: 6

纳金币
2715
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-6-25 02:33:17 |只看该作者
Good to know!
回复

使用道具 举报

10

主题

8

听众

1872

积分

助理设计师

Rank: 4

纳金币
188
精华
0

活跃会员

板凳
发表于 2014-6-25 08:11:47 |只看该作者
谢谢分享
回复

使用道具 举报

3

主题

1

听众

6189

积分

高级设计师

Rank: 6Rank: 6

纳金币
370
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2014-6-25 08:17:08 |只看该作者
这是陀螺仪吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-24 18:32 , Processed in 0.090374 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部