unity学习,希望我的博客能对喜欢unity的朋友们有帮助
坐标:
transfrom分为世界坐标系(world)和局部(本地)坐标系(local)
世界坐标系:所有物体的世界坐标系都是相同的、不会改变;
本地坐标系:每个物体都有一个本地坐标系,当物体旋转时,本地坐标系统也会跟着物体一起旋转。
如果当两个物体在同一位置时,他们的transfrom属性全都一致时,他们的世界坐标和本地坐标是一样的,但把其中一个物体的rotation 改为 (45,0,0),这样世界坐标和本地坐标就不一样了。
常用的必然事件
在Unity的脚本中,可以定义一些特定的函数,这些函数会在满足某些条件时由Unity自动调用,它们被称为必然事件(Certain Events)。而Start和Update正是最常用的两个事件,因此Unity默认为新建的脚本添加了这两个事件。
常用的必然事件都包括:
1、Awake():唤醒脚本,此方法为系统执行的第一个方法,用于脚本的初始化,在脚本的生命周期中只执行一次。
2、Update():正常更新,用于更新逻辑。每创建一个脚本,脚本中都会默认添加这个方法。此方法每帧都会由系统自动调用一次。
3、Start():此方法在Awake()方法之后,Update()方法之前执行,并且只执行一次
4、LateUpdate():此方法在Update()方法执行后调用,同样每一帧都调用。
5、FixedUpdate():固定更新,更新频率为0.02s
6、OnGUI():OnGUI()在每一帧都会由系统自动调用一次,渲染和处理GUI事件时调用。
下面就在unity中试验一下来了解这些必然事件的特性和用法:
- public class cube : MonoBehaviour {
- // Use this for initialization
- void Start () {
- print("Start().............");
- }
-
- // Update is called once per frame
- void Update () {
- print ("Update()...........");
- }
- void Awake(){
- print ("Awake()............");
- }
- void LateUpdate(){
- print("LateUpdate().........");
- }
- void FixedUpdate(){
- print("FixedUpdate().........");
- }
- void OnGUI(){
- print ("OnGUI()...........");
- }
- }
输出
print("hello");//输出
Debuge.Log("hello");
Debuge.LogWarning("hello");//警告
Debuge.LogError("hello");//错误
MonoBehanviour类
所有的脚本类均需要从它之间或者间地继承,脚本必然事件就是从它继承而来。除了必然事件它还定义了各种特定事件的响应函数。如下图:
监视变量
public int id;//在监视面板里面可以看到
private string name;//在监视面板里面看不到
protected string sex;//在监视面板里面看不到
int age;//在监视面板里面看不到
Transform
transform.Translate (Vector3.forward);
transform.Translate (new Vector3(10,0,0));//位移
transform.Rotate (new Vector3(0,10,0));//旋转
transform.localScale += new Vector3 (0.1F, 0, 0);//缩放
RotateAround(v1,v2,angle),元素围绕着世界坐标的V1点采用V2向量旋转angle角度
例:在FixedUpdate中,元素围绕着摄像机运动
transform.RotateAround (Camera.main.transform.position, Vector3.up, 0.5f);
给物体施加普通力
1、先给物体添加刚体
2、transform.rigidbody.AddForce (0,0,1000);
更多精彩请点击 http://www.gopedu.com/article