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);
}
}
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);
}
}
相关文章推荐
- Unity3D学习之(transform和Vector3向量)
- unity3D学习之API_Transform 位置
- Unity3D学习
- xml关联xsl的四种方法及Transformer的transform方法学习心得
- 【转载】Unity3D 学习1
- Unity3D学习 愤怒的小鸟之Play界面(三)
- Unity3D学习 愤怒的小鸟之关卡选择界面(六)
- Unity3D学习 愤怒的小鸟之Play界面(四)
- [转载]unity3d学习2
- 学习经验谈:Unity3d开发中最佳语言还是C#
- Unity3D学习 愤怒的小鸟之Play界面(二)
- GDI+ 学习记录(25): 变换 - Transform
- 学习Unity3D的好文章
- Unity3D学习和讨论地址!
- 创建一个filter实例(transform filter)(好好学习学习)
- Unity3D 学习
- O3D 学习—如何复制一个Transform的模型
- GDI+ 学习记录(25) 变换 - Transform
- Unity3D之Editor扩展学习——四大名捕闹京东
- Unity3D学习 愤怒的小鸟之Play界面(五)