Unity2017官方案例Roll_Ball 浅析学习
来源:互联网 发布:淘宝买家秀大尺度网站 编辑:程序博客网 时间:2024/06/11 19:46
Unity2017官方案例Roll_Ball 浅析学习
- 案例中相机跟随Player设置方法:①将MainCamera设置为Player的子物体(一旦Player旋转,相机也会随之旋转)②编写脚本CameraControl.cs。
public class CameraController : MonoBehaviour { public GameObject player; private Vector3 offset; void Start () { offset = transform.position - player.transform.position; } void LateUpdate () { transform.position = player.transform.position + offset; }}
引申:unity第一人称视角设置方法:①Import Package -> Charactor,使用预设。②为游戏对象设置第三人称方法http://blog.csdn.net/a18779148177/article/details/74728380
2.Player移动方法Rigidbody.AddForce
public class PlayerController : MonoBehaviour { public float speed; private Rigidbody rb;`void Start () { rb = GetComponent<Rigidbody> (); } void FixedUpdate(){ float moveHorizontal = Input.GetAxis ("Horizontal"); float moveVertical = Input.GetAxis ("Vertical"); Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical); rb.AddForce (movement * speed); } }
①Edit->project settings->Input 打开 InputManager(Unity3D Input按键系统)。Horizontal 和 Vertical被映射到w, a, s, d键和方向键。其余Fire1,Fire2等默认输入轴映射见之。
参考:http://www.cnblogs.com/fortomorrow/archive/2012/11/01/unity08.html
②Rigidbody.AddForce()有四种重载方式,AddForce(Vector3 Force/Vector3 Force,ForceMode mode/float x,float y,float z/float x,float y,float z,ForceMode mode),案例使用第一种。
ForceMode为枚举类,下有Acceleration(加速度),Force(真实的物理力),Impulse(冲击力,瞬间发生的力),VelocityChange(忽略重量的速度变化力)
其他方式如下:①rb.AddForce(movement,ForceMode.Force);
②rb.AddForce(moveHorizontal,0.0f,moveVertical);
③rb.AddForce(moveHorizontal,0.0f,moveVertical,ForceMode.Force);
另附unity物体简单移动方法:http://www.jianshu.com/p/12f656c29a36
3.物体旋转方法以及pickup被碰撞就消失方法:
public class Rotator : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { transform.Rotate (new Vector3 (15, 30, 45) * Time.deltaTime); }}
将pickup的IsTrigger(触发模式)勾选并标记Tag为‘“pickup”,在PlayerController脚本补充
void OnTriggerEnter(Collider other) { if(other.CompareTag("pickup")) { other.gameObject.SetActive (false); } }
另一种方法是在pickup挂载的Rotato脚本补充
void OnTriggerEnter(Collider other) { this.gameObject.SetActive (false); //Collider.Destroy (this.gameObject);让物体消失还有多种方法 }
OnTriggerEnter(Collider ):当进入触发范围;OnTriggerExit(Collider ):当离开触发范围;OnTriggerStay(Collider ):在触发范围内。
4.调整Text方位要先按shift+alt键
- Unity2017官方案例Roll_Ball 浅析学习
- unity2017官方案例 SpaceShooter 浅析学习
- Unity2017官方案例Survival Shooter tutorial 浅析学习
- dubbo入门官方案例学习
- Mule学习笔记3--官方案例
- JAVA tutorial官方案例:学习笔记
- 菜鸟学习 - Unity中的热更新 - uLua官方 案例
- Unity官方案例学习(星际航行游戏一)
- 新手学习AngularJS最佳项目:angular-phonecat官方案例
- Unity2017组件Sprite Mask的使用(学习总结)
- 微软Silverlight官方案例
- secache 官方案例
- Network 官方案例
- Keras 官方案例
- Unity2017 Timeline
- 开源GIS学习:boundlessgeo官方案例“Building an Autocomplete Parcel Lookup”学习
- AngularJS 官方案例:angular-phonecat
- Unity 官方案例 打砖块
- STM32内部FLASH读写-通用
- python 判断对象是否为None
- 字符流、字节流、转换流简介
- poj 1486 匹配是否唯一
- 记录mybatis-generator的使用
- Unity2017官方案例Roll_Ball 浅析学习
- eclipse转换java项目到web项目
- PHP读取指定URL网页地址中的所有链接
- React系列-Link和Route渲染路由区别
- php让图片弹出下载框的方法
- Fiddler iOS https抓包加爬虫
- 自定义滚动条效果实现
- Hibernate中文排序乱序问题
- QSplitter类的理解