Unity手机移动设备重力感应

Unity手机移动设备重力感应

一、引入

大家对重力感应应该都不陌生,之前玩过的王者荣耀的资源更新界面就是使用了重力感应的概念,根据手机的晃动来给实体进行晃动。下图的王者荣耀刚开始的界面其实就是使用的移动设备的重力感应。

二、介绍

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
垂直方向

手机下边不动,抬起上边到90度,对应的Input.acceleration.y变化,变化为从0到-1.0,简单记录为:0 → -1.0

手机上边不动,抬起下边到90度,对应的Input.acceleration.y变化,变化为从0到1.0,简单记录为:0 → 1.0

Z轴

水平方向 :无论从哪边开始往上抬,到90度,然后到180度,就是我们的手机的玻璃正面扣到桌面上了,对应的Input.acceleration.z变化,变化为从-1.0到0再到1.0,
简单记录为 : - 1.0→ 0 → 1.0;
垂直方向 :按照上面的操作也是一样的,对应的Input.acceleration.z变化,变化为从-1.0到0再到1.0,
简单记录为: - 1.0→ 0 → 1.0;

横屏的手机,如下图

竖屏的手机,如下图

移动设备游戏中经常会遇到重力感应的开发,Unity简化了重力感应的开发,通过访问Input.acceleration属性,取回加速度传感器的值。

相关推荐
魔士于安1 小时前
unity 低多边形 无人小村 木质建筑 晾衣架 盆子手推车,桌子椅子,罐子,水井
游戏·unity·游戏引擎·贴图·模型
RReality1 小时前
【Unity Shader URP】简易卡通着色(Simple Toon)实战教程
ui·unity·游戏引擎·图形渲染·材质
时空自由民.1 小时前
SPI TFT LCD显示的颜色和电脑手机上的颜色不一样,排查原因
智能手机·电脑
魔士于安2 小时前
unity 骷髅人 连招 武器 刀光 扭曲空气
游戏·unity·游戏引擎·贴图·模型
wanhengidc2 小时前
服务器 数据科技发展
运维·服务器·爬虫·科技·游戏·智能手机
洛阳吕工3 小时前
从 micro-ROS 到 px4_ros2:ROS2 无人机集成开发实战指南
游戏引擎·无人机·cocos2d
风酥糖4 小时前
Godot游戏练习01-第29节-游戏导出
游戏·游戏引擎·godot
瑞瑞小安4 小时前
Unity功能篇:文本框随文字内容动态调整
ui·unity
李永奉5 小时前
杰理SDK开发-实现清除手机APP用户配置功能、重置参数
智能手机
南無忘码至尊5 小时前
Unity学习90天-第7天-学习委托与事件(简化版)
学习·unity·游戏引擎