unity学习之Transform

来源:互联网 发布:从hive迁移到spark sql 编辑:程序博客网 时间:2024/04/28 10:56


Unity的脚本中常用的必然事件:

 

     在Unity的脚本中,可以定义一些特定的函数,这些函数会在满足某些条件时由Unity自动调用,它们被称为必然事件(Certain Events)。而StartUpdate正是最常用的两个事件,因此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 围绕旋转



用一个小例子来完成对它的介绍:

实现地球围着太阳转

 

脚本代码:

  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class Sphere1 : MonoBehaviour {
  5.         private GameObject earth;
  6.         private GameObject sun;
  7.         // Use this for initialization
  8.         void Start () {
  9.                 earth = GameObject.Find ("earth");//找到相对应的对象
  10.                 sun = GameObject.Find ("sun");//
  11.         }
  12.         
  13.         // Update is called once per frame
  14.         void Update () {
  15.                 earth.transform.RotateAround (sun.transform.position,Vector3.up,0.5f);
  16.         }
  17. }
  18.  

       把脚本放到地球游戏对象上。

       

       给物体施加普通力

      同样举例来说明

      点击鼠标左键向XZ轴对角线方向发射小球

 

脚本代码:

  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class Sphere : MonoBehaviour {
  5.  
  6.         // Use this for initialization
  7.         void Start () {
  8.         
  9.         }
  10.         
  11.         // Update is called once per frame
  12.         void Update () {
  13.                 if(Input.GetButton("Fire1"))
  14.                 {
  15.                         transform.rigidbody.AddForce (0,0,250);
  16.  
  17.                 }
  18.  
  19.  
  20.         }
  21. }
  22.  

      把脚本放到要执行动作的游戏对象上。

 

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

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果x手机触屏失灵怎么办 苹果7手机变成黑白屏怎么办 苹果手机屏不动了怎么办 苹果6老是卡屏怎么办 苹果x卡屏死机怎么办 苹果6死机卡屏怎么办 苹果手机主屏死机怎么办 苹果7手机卡屏死机怎么办 苹果6s卡死了怎么办 6s手机显示丢失锁定怎么办 酷比s9被root怎么办 垃圾清理把相片删除了怎么办 小米电脑怎么下载软件怎么办 华为手机pin码忘了怎么办 锁屏密码忘了怎么办 抖音停止运行了怎么办? 华为手机右下角有个小人怎么办 华为手机程序停止运行怎么办 华为手机不支持软件搬家怎么办 红米手机没有任务键怎么办 进网许可丢了怎么办 华为稳私空间被稳蔵怎么办 华为手机安装不了软件怎么办 华为手机自动安装软件怎么办 手机在实体店买贵了怎么办 日本买的kindle坏了怎么办 华为麦芒4屏幕失灵怎么办 华为麦芒6屏幕失灵怎么办 手机为什么总显示内存不足怎么办 小米云服务满了怎么办 魅蓝s6声音小怎么办 华为畅享7s丢失怎么办 华为耳机孔坏了怎么办 苹果手机耳机插孔坏了怎么办 荣耀8听筒声音小怎么办 荣耀8听筒音量小怎么办 华为荣耀6声音小怎么办 华为荣耀v8通话声音小怎么办 华为p20没有耳机孔怎么办 华为荣耀手机耳机声音小怎么办 小米5x显示耳机怎么办