Unity一周学习总结

Unity工作原理

Unity的本质是一个软件利用反射来进行工作,所有的组件就是类为物体添加组件或我们自己写的脚本就相当于进行关联,Unity会保存关联的类名及设置的数值,游戏一运行Unity通过反射实例化对象并赋值,unity本身已经写好了一个死循环,在死循环的固定时机unity通过反射执行相应脚本中的生命周期函数。

生命周期函数

Awake该对象被被new时调用

OnEnable该对象依附物体每次被激活时

Start该对象被被new后第一次帧更新前

FixedUpdate间隔固定时间调用

Update一帧调用一次

LateUpdate在每一帧中调用晚于update,通常用来对摄像机的处理因为在Update中要对动画进行更新造成渲染上的改变

OnDisable该对象依附物体每次被失活时

OnDestroy物体被删除时执行

GameObject中的静态方法与成员方法

查找单个物体

GameObject.Find("物体名");

GameObject.FindWithTag("标签名");

查找多个物体

GameObject.FindGameObjectsWithTag("标签名",列表变量);

GameObject.CreatPrimitive(PrimitiveType.物体类型);创建模型

GameObject.Instantiate(GameObject类型变量);通常克隆预制体

GameObject.Destroy(物体变量);会延迟到下一帧的合适时间删除来尽量避免卡顿也可以再在后面加一个延迟时间参数

GameObject.DestroyImmediate(物体变量);立刻删除

GameObject b;

b.GetComponent<类名>();获取b身上的组件

b.GetComponents<类名>(列表名)获取多个

b.GetComponentInChildren<类名>();获取b子物体身上的组件包括自己

b.GetComponentsInChildren<类名>(列表名);获取多个

利用GetComponentUpWard获取同上面类似获取父亲包括i自己身上的组件

b.name获取名字 b.tag获取标签 b.layer 返回对应层的数字b.activeSelf是否激活 b.SetActive(bool值)设置激活b.AddComponent<>();为物体添加组件

时间与位移

Time.timeScale时间缩放比例用来暂停或倍速

Time.deltaTime帧更新间隔时间,计算位移常用

Time.unscaledDeltaTime不受时间缩放比例影响的帧更新时间

Time.fixedDeltaTime物理帧更新间隔时间

Time.unscaledFixedDeltaTime不受时间缩放比例影响的物理帧更新间隔时间

Time.frameCount帧数,游戏从开始带现在执行死循环的次数

Time.time游戏开始到现在的时间

Time.unscaledTime不受时间缩放比例

物体移动公式 当前位置+=方向*时间*速率

transform里面里面的成员方法已经帮我们封装好了直接用transform.Translate(方向*时间(Time.DeltaTime)*速率,坐标系(Space.World相对于世界坐标Space.Self相对于自己的坐标));

放在update中后由于Time.deltaTime1秒和为1所以移动的距离就是速度的值

旋转相关

transform.eulerAngles获得角度

transform.localEulerAngles获得相对于父对象的角度

transform.Rotate(Vector3变量);可以加个Space.World相对于世界坐标

transform.Rotate(Vector3变量,转速*Time.deltaTime);绕着某个自己的轴转,可以加个Space.World相对于世界坐标的轴

transform.RotateAround(Vector3遍历代表点,Vector3遍历代表轴,转速*Time.deltaTime);绕着某个点的某个轴转

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值