一、引入
大家对重力感应应该都不陌生,之前玩过的王者荣耀的资源更新界面就是使用了重力感应的概念,根据手机的晃动来给实体进行晃动。下图的王者荣耀刚开始的界面其实就是使用的移动设备的重力感应。
二、介绍
Unity内部的重力感应其实已经写好了,这篇文章只是讲下如何使用。Unity内部有一个Input.acceleration这个属性。下面是官方的解释

Description 描述
我们看到这个函数返回的是Vector3,尔Vector3有三个方向分别为下x,y,z这三个float组成的,其实只要搞明白这三个向量对应移动端的方向我们就可以做一些细节的操作。
三、测试成果
这里我直接把这三个向量的测试成果放在这里,我们把手机水平放在桌子上,然后俯视手机来说一下这个acceleration这个向量是如何对应的手机重力。
X Y轴

水平方向:
手机左边不动,抬起右边到90度,对应的Input.acceleration.x变化,变化为从0到-1.0,简单记录为:0 → -1.0
手机右边不动,抬起左边到90度,对应的Input.acceleration.x变化,变化为从0到1.0,简单记录为:0 → 1.0
垂直方

本文介绍了如何在Unity中利用内置的Input.acceleration属性实现重力感应功能,通过手机晃动来控制游戏元素的移动。文章详细阐述了Vector3的x, y, z三个方向与手机方向的关系,并提供了实际测试结果。通过示例代码展示了如何在Update方法中应用重力感应数据,以平移游戏对象。
最低0.47元/天 解锁文章
3700





