Unity学习笔记

1.Unity生命周期

  • 初始阶段
    • Awake
    • OnEnable
    • Start
  • 物理阶段
    • FixedUpdate
  • 输入阶段
    • OnMouseEnter
    • OnMouseExit
    • OnMouseOver
    • OnMouseDown
    • OnMouseUp
  • 逻辑阶段
    • Update
    • LateUpdate
  • 场景渲染阶段
    • OnBecameVisible
    • OnBecameInvisible
  • 结束阶段
    • OnDisable
    • OnDestroy
    • OnApplicationQuit

2.Unity核心类

  • Object
    • GameObject(组合了Component和自身)
    • Component
      • Tranform
      • Renderer
        • MeshRenderer
        • ParticleRenderer
      • Behaviour
        • Animation
        • Camera
        • Light
        • Monobehaviour
      • Collider
      • Rigidbody
      • MeshFilter
      • Joint
    • Material
    • Mesh
    • Texture
    • Shader

GameObject
    属性
        activeInHierarchy(bool)--物体在Hierarchy面板的激活状态
        activeSelf(bool)--物体在Inspector面板的激活状态
    方法
        SetActive(设置activeSelf)
        Find--根据名称
        FindGameObjectsWithTag--根据标签获取所有
        FindWithTag--根据标签获取一个
        FindObjectsOfType--根据类型获取所有
        Destroy--销毁
        Instantiate--克隆    
Component
    方法
        GetComponents--获取自身所有组件
        GetComponentsInChildren--获取后代所有组件
        GetComponentsInParent--获取先辈所有组件
Transform
    属性
        position(Vector3)--世界坐标
        localPosition(Vector3)--相对父亲
        eulerAngles(Vector3)--欧拉角
        rotation(Quaternion)--旋转
        localScale(Vector3)--缩放(相对于父亲)
    方法
        Rotate--旋转
        Translate--移动
        LookAt--看向
        SetParent--设置父亲
        DetachChildren--解除父子关系(孩子调用)
        Find--根据名称获取子物体变换组件
        GetChild()--根据索引获取子物体变换组件
Animation
    方法
        Play--不管动画A是否播放完成,立即播放下一个动画B
        PlayQueued--动画A播放完成,再播放动画B
        CrossFade--动画A与动画B之间有过渡

3.Time

  • Time
    • 游戏开始到现在的时间
  • deltaTime
    • 距离上一次渲染所用的时间,常用于移动和旋转
  • timeScale
    • 时间流逝的快慢,影响FixedUpdate方法和deltaTime,不影响Update方法和unscaledDeltaTime
  • 与时间相关的技巧
    • 下次执行时间
    • 累积时间间隔
    • 间隔固定时间重复调用

4.Input

  • 鼠标
    • GetMouseButton
    • GetMouseButtonDown
    • GetMouseButtonUp
    • GetAxis
    • GetAxisRaw
  • 键盘
    • GetKey
    • GetKeyDown
    • GetKeyUp

5.三维数学

Degree--角度
Radius--弧度
Vector3--三维向量
    magnitude--模长
    normalized--单位向量
    + -- 加法
    * -- 数乘
    Dot--点乘
    Cross--叉乘
    MoveTowards--匀速
    Lerp--变速(无限接近,但不相等)
    Project--投影
    ProjectOnPlane--投影到平面
    Reflect--反射
Quternion--四元数
    * -- 重载了乘号(两个四元数相加)
    Rotate--效果与乘号相同
    LookRotation--瞬间
    RotateTowards--匀速
    Lerp--变速(无限接近,但不相等)
Space
    世界坐标
    局部坐标
    屏幕坐标
    视口坐标
    局部坐标转世界坐标
        TransformPoint(受旋转、移动、缩放影响)
        TransformDirection(受旋转影响)
        TransformVector(受旋转、缩放影响)
    世界坐标转局部坐标
        InverseTansformPoint
        InverseTransformDirection
        InverseTransformVector
    世界坐标转屏幕坐标
        Camera.main.WorldToScreenPoint
    屏幕坐标转世界坐标
        Camera.main.ScreenToWorldPoint
    世界坐标转视口坐标
        Camera.main.WorldToViewportPoint
    视口坐标转世界坐标
        Camera.main.ViewportToWorldPoint

6.碰撞检测

  • Collider--有碰撞效果
    • 同时满足以下两个条件
      • 两个物体都有碰撞体
      • 运动的物体有刚体--受物理引擎检测
    • 方法
      • OnCollisionEnter
      • OnCollisionStay
      • OnCollisionExit
  • Trigger--没有碰撞效果
    • 同时满足以下三个条件
      • 两个物体都有碰撞体
      • 其中之一有刚体
      • 其中之一选择isTrigger
    • 方法
      • OnTriggerEnter
      • OnTriggerStay
      • OnTriggerExit
  • Raycast--射线检测,适用于高速运动的物体
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值