Unity3D学习笔记——Android重力感应控制小球
一:准备资源
两张贴图:地图和小球贴图。
二:导入资源
在Assets下建立resources文件夹,然后将贴图导入。


三:建立场景游戏对象
1.建立灯光:


2.创建一个相机,配置默认。

3.建立一个Plane用来表示地面,将导入的地面图片付给Plane。


4:建立一个小球,并为其添加一个刚体,因为之后会通过重力感应为小球添加外部作用力,所以需要有刚体组件。


三:创建脚本
1.控制小球运动的脚本:首先要将手机的重力感应控件坐标转换为游戏世界的空间坐标。

建立一个C#脚本:

using UnityEngine;
using System.Collections; public class BallControl : MonoBehaviour
{
//移动速度
public int speed = ; void Update ()
{
//建立一个向量变量,将手机向量坐标改变为游戏向量坐标
Vector3 dir = Vector3.zero;
dir.z = Input.acceleration.y;
dir.x = Input.acceleration.x; //钳制加速度向量到单位球
if (dir.sqrMagnitude > )
dir.Normalize (); //使它每秒移动10米,而不是每帧10米
dir *= Time.deltaTime; // Move object 移动物体
rigidbody.AddForce (dir * speed, ForceMode.Force);
}
}
将这个脚本附加给小球:

Speed:小球运动的速度。
2.控制相机脚本,使相机跟随小球移动
using UnityEngine;
using System.Collections; public class CameraControl : MonoBehaviour
{
public Transform target;
public int relativeHeight = ;
public int zDistance = ;
public int dampSpeed = ; // Update is called once per frame
void Update ()
{
Vector3 newPos = target.position + new Vector3 (, relativeHeight, -zDistance);
transform.position = Vector3.Lerp (transform.position, newPos, Time.deltaTime * dampSpeed);
}
}
然后将这个脚本附加给相机:

Target:指向小球物体。
Relative Height:相机的相对高度
ZDistace:Z轴相对的距离。
Damp Speed:物体移动的时候,相机跟随物体的速度。
最后运行如下:
源码及APK下载:http://download.csdn.net/detail/as294985925/7053823
Unity3D学习笔记——Android重力感应控制小球的更多相关文章
- Unity3D学习笔记——Android远程真机调试(Unity Remote)
前言:当使用Unity开发移动端的游戏,特别是使用到手机的传感器,如重力感应等,调试的时候,很麻烦, 因为每次都需要编译成APK后安装到手机中测试,而Unity Remote便能很好的解决这个问题,U ...
- 基于野火M3开发板(STM32F103VET6)的迷宫小球(重力感应控制)游戏开发
2013-03-03 这是研一上学期<实时嵌入式系统实验>课程的大作业,是利用野火板的资源,加上一个AHRS(Attitude and Heading Reference System,姿 ...
- unity3d学习笔记(一) 第一人称视角实现和倒计时实现
unity3d学习笔记(一) 第一人称视角实现和倒计时实现 1. 第一人称视角 (1)让mainCamera和player(视角对象)同步在一起 因为我们的player是生成的,所以不能把mainCa ...
- Unity3D学习笔记3——Unity Shader的初步使用
目录 1. 概述 2. 详论 2.1. 创建材质 2.2. 着色器 2.2.1. 名称 2.2.2. 属性 2.2.3. SubShader 2.2.3.1. 标签(Tags) 2.2.3.2. 渲染 ...
- Unity3D学习笔记12——渲染纹理
目录 1. 概述 2. 详论 3. 问题 1. 概述 在文章<Unity3D学习笔记11--后处理>中论述了后处理是帧缓存(Framebuffer)技术实现之一:而另外一个帧缓存技术实现就 ...
- Android动画学习笔记-Android Animation
Android动画学习笔记-Android Animation 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...
- Android重力感应开发
http://blog.csdn.net/mad1989/article/details/20848181 一.手机中常用的传感器 在Android2.3 gingerbread系统中,google提 ...
- [转]Android重力感应开发
http://blog.csdn.net/mad1989/article/details/20848181 一.手机中常用的传感器 在Android2.3 gingerbread系统中,google提 ...
- .NET MVC 学习笔记(七)— 控制input控件
.NET MVC 学习笔记(七)— 控制input控件 画面中有时候需要输入数字,这时就需要控制input的输入.以下为保留两位有效数字. /* * 初始化数字输入 */ function initD ...
随机推荐
- 用Storyboard构建标签栏多页面应用程序UI
注: 貌似CSDN的显示效果不佳,假设有须要的话我能够上传pdf格式的: 另外假设文章中有错误还请给位多多提意见,谢谢. pdf格式文档:http://download.csdn.net/detail ...
- C++之类静态成员变量和静态成员函数
1.静态成员变量必须在类外初始化 2.静态成员变量在类中不占内存字节: 3.静态成员变量,被所有的类对象共 享 class G {public: static int a; //静态成员变量 int ...
- dx12 memory management
https://msdn.microsoft.com/en-us/library/windows/desktop/dn508285(v=vs.85).aspx Map with D3D11_MAP_W ...
- javascript数组及操作方法
数组及操作方法 数组就是一组数据的集合,javascript中,数组里面的数据可以是不同类型的. 定义数组的方法 //对象的实例创建 var aList = new Array(1,2,3); //直 ...
- MySQL 创建数据库及数据表
1.创建数据库 (1) 命令行创建 [root@host]# mysqladmin -u root -p create RUNOOB Enter password:****** (2) php创建 语 ...
- 在ASP.NET MVC中支持 HttpHandler
写HttpHandler与ASP.NET WebForm基本没有什么不同.只是部署的时候需要注意,只在Web.config中注册还不行,需要在Global.asax.cs添加一条ignore规则: p ...
- 帮朋友转发招聘信息 南京知名互联网公司招聘java、测试、前端,具体私聊
一.java开发 1.5年及以上J2EE方向开发经验 2.精通spring等开源框架 3.熟悉html.javascript.css.jsp/freemarker.jquery的使用 4.熟悉使用my ...
- 转:winform_webApiSelfHost及 OWIN WebAPI Service
winform_webApiSelfHost 窗本构造函数中添加以下代码: var baseAddress = ConfigurationManager.AppSettings["baseA ...
- Android解决button反复点击问题
public class BaseActivity extends Activity { protected boolean isDestroy; //防止反复点击设置的标志.涉及到点击打开其它Act ...
- Codeforces Round #244 (Div. 2)——Checkposts
题目链接 题意: 给定n个点,每一个点有一个权值的有向图.如今须要选定一些点,使得这些点权值和最小.且满足:假设i能到达j且j能到达i,那么i.j能够仅仅选一个 分析: 强联通模板题 //使用时仅仅更 ...