美文网首页
unity3d 概述

unity3d 概述

作者: terie | 来源:发表于2019-07-21 10:48 被阅读0次

unity3d版本号

unity 5.x以后的版本,取消以数字命名的版本规则,采用年份表示。新的版本发布计划中包括两个版本,TECH版(技术前瞻版本)和LST版(稳定支持版本)。前者每年有三次大更,后者从前者的选择最后一个版本并且提供为期两年的支持。

游戏对象

游戏对象是一个很小的东西,负责引用外部资源,比如模型,贴图,声音,等等,其原理就是通过程序控制需要的游戏对象。unity3d的游戏对象其实就是在一个空的GameObject上挂几个脚本,比如Transform,Camera,Box Collider,等等。通常游戏内部提供的脚本叫做组件,而设计师自己定义的脚本才叫脚本(Script)。

Pivot和Center,Local和Global

这四个属性都是针对处于移动模式的时候,三维坐标轴在地图上的显示方式。

  • Pivot将三维坐标轴的中心显示在物体的几何中心
  • Center将三维坐标轴的中心显示在所有子物体的动力学中心
  • Local模式下三维坐标轴的方向即本物体的方向。(即本物体在做旋转的时候,坐标轴也会跟着旋转)
  • Global模式下三维坐标轴的方向是固定的,即全局的坐标轴方向。物体旋转不会影响Global坐标轴的方向。
    在Inspector视图里Transform组件里的position,显示的永远是物体相对于父物体的坐标,坐标原点是父物体的Pivot坐标原点。但是在代码中Transform.position表示的是物体的全局坐标(绝对坐标),坐标原点即世界的原点。

多线程

Unity脚本不支持单线程,它是用C#的协程来模拟多线程。

Awake()和Start()的区别

在Unity中所有的Awake()会在任何脚本的Start()前面执行。两者都是永远只执行一次。但是计算机由于没有“同时”这个概念,所以,不同脚本的Awake()方法仍然是按照一定的顺序执行。这样造成的问题是,如果Awake()方法里有需要访问其他脚本的代码,同时这个脚本又在自己之后执行,就会出问题。所以Unity划分出了Awake()和Start(),让Awake()做真正的初始化,Start()才适合安全访问其他脚本的数据。

相关文章

网友评论

      本文标题:unity3d 概述

      本文链接:https://www.haomeiwen.com/subject/qemylctx.html