您的位置:首页 > 移动开发 > Unity3D

Unity3D学习之transform。

2014-12-18 10:50 225 查看
欢迎来到unity学习unity培训unity企业培训教育专区,这里有很多U3D资源U3D培训视频U3D教程U3D常见问题U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。

1、Unity常用的必然事件。  
       在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事件时调用。 
2、输出。

       print("hello");

       Debuge.Log("hello");

       Debuge.LogWarning("hello");

       Debuge.LogError("hello");





3、游戏对象的Transform。

       Transform属性可以进行位置、旋转、大小的设置

       位置:position

       旋转:rotate

       大小:localScale

       如果要操作脚本当前使用的GameObject,则可以省略要操作的GameObjiect.
4、Vector3向量介绍。

       Vector3是Unity中定义的一个含有x,y,z三个字段的类,可以表示位置点,也可以表示一个向量。Vector3乘以数值表示对向量的三个值乘以相应的值,v1-v2则表示从v2指向v1的向量。

       transform.Translate(vector3)让对象沿着vector3向量的方向移动,比如transform.Translate(new Vector3(0.2f,0.2f,0))就是Z轴不动,向斜上方移动,移动的分量X、Y都是0.2f。

       Vector类内置成员:up,down,left,right,forward,back,zero

       写法:

       transform.Translate (Vector3.forward);     //向前移动(即沿Z轴移动)的语句表示。

       transform.Translate (new Vector3(10,0,0));     //沿X轴移动的Vector3表示。

       transform.Rotate (new Vector3(0,10,0));     //以自身远点作为本地坐标原点(0,0,0)沿Y轴旋转。

       transform.localScale += new Vector3 (0.1F, 0, 0);    //沿X轴左右伸长。
5、沿物体旋转。

       RotateAround(v1,v2,angle),元素围绕着世界坐标的v1点采用v2向量旋转angle角度。案例:FixedUpdate中transform.RotateAround(Camera.main.transform.position,Vector3.up,0.5f)元素围绕着摄像头运动。

       例题:地球围绕着太阳转。

       代码:using UnityEngine;

                 using System.Collections;

                 public class Halo : MonoBehaviour {

                     // Use this for initialization

                     void Start () {}

                     // Update is called once per frame

                     void Update () {}

                     Vector3 Sun=new Vector3(1,9,-16);

                 void FixedUpdate(){

                     transform.RotateAround (Sun, Vector3.up, 1);

                     }

                 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: