Unity知识点随手记

好记性不如烂笔头,我把学习时遇到的点都记一下

  • Transform代表物体的几何学概念,其中position是三维空间的笛卡尔坐标
  • 碰撞体可以设置成Trigger,成为Trigger之后发生碰撞会回调Trigger相关函数
  • GameObject是游戏物体,可以挂载各种组件,控制脚本也是组件之一。通过GetComponent可以获取到组件
  • 物体的材质决定了它的光学特性,例如颜色,反光,漫反射
  • 物体的刚体特性决定了它的重力学特性,要有重力效果需要添加刚体
  • 物体的碰撞体决定了它与其他物体的交互,要有碰撞效果需要碰撞方至少一方有刚体。Raycast射线检测常用来判断物体的运动轨道,以及两个特定物体之间是否发生碰撞
  • 动画由动画控制器来控制切换,物体激活后会自动执行默认动画,一个控制器可以复用来控制多个逻辑相同的动画
  • 在游戏中,让物体发光的方式是,给物体添加材质,然后添加光源。添加材质后无光源物体不会发光,模拟物理性质,只有添加了光源后物体才会反射光
  • 在游戏中,调整视角的方式是,调整主Camera的位置,包括调整坐标和倾斜角度
  • 在游戏中,每一帧会调用Update回调方法,但是由于机器性能差异,帧与帧之间的间隔并不确定。FixedUpdate则是每固定时间间隔调用一次,相对来说频率更确定。帧与帧之间的固定时间间隔可以通过Time.fixedDeltaTime获得
  • 脚本不止可以控制游戏内物体,也可以控制Unity编辑器,但是需要使用特殊的命名空间,即UnityEditor命名空间。只有位于Editor目录下的脚本可以使用这个命名空间
  • 子物体默认会使用父物体的transform作为自己的transform,这个特性可能会导致改变父物体的transform后,子物体发生意料外的变形
  • 游戏的按键系统可以通过Project Settings查看和修改,可以添加自定义的按键,通过Input类的静态方法获取特定名称的按键输入
  • 游戏的所有UI元素,包括文本,图片,按钮,他们必须要有一个Canvas父节点,他们的坐标是相对于这个Canvas的,可以绑定到Canvas的特定位置
  • Prefab预制体和GameObject之间的关系,就好像Class和实例的关系,不同的是在GameObject上做的修改可以通过UnityEditor的Override操作写回到预制体。单独修改游戏物体不会影响预制体,修改预制体会影响所有它派生的游戏物体
  • Editor通过文件夹的名字来实现特定功能,所以Unity项目的文件目录相对比较统一。在获取对象的时候,也可以通过相对路径的方式获取Project视图里的游戏物体的引用
  • Start的调用在Awake之后,但是只会调用一次,即便是不同的实例。Awake则会调用多次

后面我分几个专门的功能点来介绍我所学习的Unity

你可能感兴趣的:(Unity知识点随手记)