unity学习之Transform
来源:互联网 发布:从hive迁移到spark sql 编辑:程序博客网 时间:2024/04/28 10:56
Unity的脚本中常用的必然事件:
在Unity的脚本中,可以定义一些特定的函数,这些函数会在满足某些条件时由Unity自动调用,它们被称为必然事件(Certain Events)。而Start和Update正是最常用的两个事件,因此Unity默认为新建的脚本添加了这两个事件。
还有一个我们也会经常用到Unity没有默认添加的事件——Awake
1、Awake():唤醒脚本,此方法为系统执行的第一个方法,用于脚本的初始化,在脚本的生命周期中只执行一次。
2、Update():正常更新,用于更新逻辑。每创建一个脚本,脚本中会默认添加这个方法。此方法每帧都会由系统自动调用一次。
3、Start():此方法在Awake()方法之后,Update()方法之前执行,并且只执行一次
坐标系
----World Coordinate System--世界坐标系:
这个坐标系将世界空间或模型空间作为一个整体。
世界空间是世界坐标系,世界坐标系是软件用于在场景中追踪对象的。当你看到视口中的主珊格,你就见到世界空间坐标系。世界空间是固定不变的。
在世界坐标系下,从前视图front看去,X轴正方向指向(屏幕)右侧,Z轴正方向指向(屏幕)上方,Y轴正方向背离你。
----Local局部坐标(本地坐标):
使用所选择对象的坐标系统。一个对象的局部坐标来自它的枢轴点。你可以通过使用选项中的Hierarchy命令面板, 相对于对象调整局部坐标的位置和方向。
当局部坐标处于激活状态,按钮“Use TransformCenter”是不起作用的,所用的变换使用局部坐标轴作为变换的中心。在一个选择集中的几个物体,每个分别使用它自己的中心来做变换。
游戏对象的Transform
Transform属性可以进行位置、旋转、大小的设置
位置:position
旋转:rotate
大小:localScale
如果要操作脚本当前使用的GameObject,则可以省略要操作的GameObjiect.
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));
Transform.RotateAround 围绕旋转
用一个小例子来完成对它的介绍:
实现地球围着太阳转
脚本代码:
- using UnityEngine;
- using System.Collections;
- public class Sphere1 : MonoBehaviour {
- private GameObject earth;
- private GameObject sun;
- // Use this for initialization
- void Start () {
- earth = GameObject.Find ("earth");//找到相对应的对象
- sun = GameObject.Find ("sun");//
- }
- // Update is called once per frame
- void Update () {
- earth.transform.RotateAround (sun.transform.position,Vector3.up,0.5f);
- }
- }
把脚本放到地球游戏对象上。
给物体施加普通力
同样举例来说明
点击鼠标左键向XZ轴对角线方向发射小球
脚本代码:
- using UnityEngine;
- using System.Collections;
- public class Sphere : MonoBehaviour {
- // Use this for initialization
- void Start () {
- }
- // Update is called once per frame
- void Update () {
- if(Input.GetButton("Fire1"))
- {
- transform.rigidbody.AddForce (0,0,250);
- }
- }
- }
把脚本放到要执行动作的游戏对象上。
欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。
- unity学习之Transform
- Unity学习之transform和Input
- unity学习一之(初学脚本 Transform类 )
- Unity Transform 学习和应用
- Unity之Transform和Input
- Unity Manual之Transform 变换
- unity使用之Rect Transform
- unity心得之transform移动
- Unity3D学习之transform。
- css3学习之:transform
- 蓝鸥Unity入门Transform学习笔记
- Unity之EdiotrGUILayout-transform、rotation、scal-三
- Unity Transform
- c++X学习之transform
- STL学习之transform函数
- H5学习笔记之Transform
- Unity之路(四):变换组件Transform
- 蓝鸥Unity开发教程之课时10 Transform
- 我的博客Hello World
- java开发中常用插件二jcrop---jQuery 图像裁剪插件
- 用单词计数的代码演示Mapre获取命令行参数
- Netty之Google Protobuf编解码
- hibernate的原生 sql查询
- unity学习之Transform
- 几个常用的适配属性和写代码要注意的方法
- Treedp入门问题—Anniversary party
- BestCoder Round #22 03 NPY and shot(三分)
- 遍历硬盘的每一个文件夹,实现增删
- 关于tomcat的context元素的使用
- Big Number
- Eclipse之GUI设计初步
- C-----------------LessonRecursion