Unity3D学习基本知识
Unity的脚本中常用的必然事件:
注意:Awake()方法最先执行。
2、Update():正常更新,用于更新逻辑。每创建一个脚本,脚本中会默认添加这个方法。此方法每帧都会由系统自动调用一次。
3、Start():此方法在Awake()方法之后,Update()方法之前执行,并且只执行一次
坐标系
----World Coordinate System--世界坐标系:
这个坐标系将世界空间或模型空间作为一个整体。
世界空间是世界坐标系,世界坐标系是软件用于在场景中追踪对象的。当你看到视口中的主珊格,你就见到世界空间坐标系。世界空间是固定不变的。
在世界坐标系下,从前视图front看去,X轴正方向指向(屏幕)右侧,Z轴正方向指向(屏幕)上方,Y轴正方向背离你。
----Local局部坐标:
使用所选择对象的坐标系统。一个对象的局部坐标来自它的枢轴点。你可以通过使用选项中的Hierarchy命令面板, 相对于对象调整局部坐标的位置和方向。
当局部坐标处于激活状态,按钮“Use Transform Center”是不起作用的,所用的变换使用局部坐标轴作为变换的中心。在一个选择集中的几个物体,每个分别使用它自己的中心来做变换。
游戏对象的Transform
Transform
位置:position
旋转:rotate
大小:localScale
Vector3向量
Vector3是Unity中定义的一个含有x,y,z三个字段的类,可以表示位置点,也可以表示一个向量。Vector3乘以数值表示对向量的三个值乘以相应的值,v1-v2则表示从v2指向v1的向量。
Vector类内置成员:up,down,left,right,forward,back,zero
写法:transform.Translate (Vector3.forward);
transform.Translate (new Vector3(10,0,0));
GetKeyDown 当用户按下指定名称的按键时的那一帧返回true。
GetKeyUp 在用户释放给定名字的按键的那一帧返回true。
GetAxis(“Horizontal")和GetAxis(“Verical”)
用方向键或WASD键来模拟-1到1的平滑输入
示例
if (Input.GetKey(“up”)) {
print("up arrow key is held down");
}
if (Input.GetKey(“down”)) {
print("down arrow key is held down");
}
If(Input.GetKeyDown(KeyCode.Escape)){
print(“按下Esc键”);
}
If(Input.GetKeyUp(KeyCode.Escape)){
print(“松开Esc键”);
}
If(Input.GetKeyDown(KeyCode.A)){
print(“按下A键”);
}
If(Input.GetKeyUp(KeyCode.D)){
print(“松开D键”);
}
If(Input.GetAxis(“Horizontal")){
print(“按下水平键”);
}
If(Input.GetKeyUp("Verical“)){
print(“按下垂直键”);
}
鼠标判断
GetButton 根据按钮名称返回true当对应的虚拟按钮被按住时。
GetButtonDown 在给定名称的虚拟按钮被按下的那一帧返回true。
GetButtonUp 在用户释放指定名称的虚拟按钮时返回true。
示例:
按下鼠标左键
if(Input.GetButton("Fire1")){
print(“按下鼠标左键”);
}
if (Input.GetMouseButton(0)) {
Debug.Log("按下鼠标左键");
}
if (Input.GetMouseButton(1)) {
Debug.Log("按下鼠标右键");
}
if (Input.GetMouseButton(2)) {
Debug.Log("按下鼠标中键");
}
给物体施加普通力
先给物体添加刚体
transform.rigidbody.AddForce (0,0,1000);
更多精彩内容请到:http://www.gopedu.com/