找回密码
 立即注册
查看: 296|回复: 0

Unity3D进阶教程(三)刚体运动,扭矩,物理更新,碰撞

[复制链接]
发表于 2022-5-10 20:34 | 显示全部楼层 |阅读模式
八 刚体的运动


  • 刚体的运动

    • 物理系统的运动
        Force力 Velocity速度 Impulse冲量 Accelaration加速度 Angular Velocity角速度 Torque扭矩

    • unity操作
        成为rigidbody
      • FixedUpdate()
          rb.AddForce()



  • 摩擦力
      物理材质属性

  • 力与速度
      F*T=M*V

  • FixedUpadte

    • 更新时间
        0.2s一次,每秒50次

    • AddForce()
        施加力


  • 加力的方式
      ForeMOde.Force作用力 ForceMOde.Acceleration加速度 ForceMode.Impulse冲量 ForceMOde.VelocityChange速度冲量

  • 减速运动
      减少速度为0
    • 脚本操作
        rb.velocity velocity.magnitude velocity.normalized


  • 运动学刚体

    • Kinematic不受力的作用
        移动方式直接控制position

    • 物理系统三种物体
        静物 刚体 运动学刚体


九 (练习)运动小车


  • 添加小车
      添加Rigidbody 添加Box Collider

  • 向前运动
      设置物理材质
    • 添加运动脚本
        AddRelativeForce()自身坐标系施加力


  • 刹车与倒车
      条件判断+运动

十 扭矩与转动


  • 扭矩
      单位:牛*米

  • 施加扭矩
      rb.AddRelativeTorque()

  • 角速度

    • 单位为弧度
        2*PI为一圈
      rb.angularVelocity rb.maxAngularVelocity默认为7弧度

  • 加速与减速

    • 四种施加扭矩的方式
        力,加速度,冲量,角速度


  • 能量衰减

    • Rigibody组件
        drag线速度衰减系数 Angular drag角速度衰减系数

    (练习)小车的转向
十一 物理更新


  • 物理更新

    • 文档:事件函数执行顺序
        FixedUpdate()

    • 游戏时间
        Time.time经过折算的时间 Time.realtimeSinceStartup真实系统时间


  • 单线程
      无并发

  • 帧调度
      Update调度时间受系统影响 FixedUpdate相对固定

  • Input Flag
      不应在FixedUpdate中使用Input获取事件输入

十二 物理碰撞


  • 物理碰撞
      碰撞体之间碰撞

  • 碰撞条件
      Mesh Colider必须设置Convex才能实现碰撞

  • CCD连续检测
      解决速度过快的穿透问题
    • Collision Detection
        Discrete离散的 Continous连续的 Continous Dynamic基于扫掠的CCD Continuous Speculative推断性CCD


  • 碰撞事件函数
      Collision类
    • 事件函数
        OnColiisionEnter OncollisionStay OncoliisionExit

    组合碰撞体
  • 子物体碰撞体
      父物体添加刚体,接收碰撞事件 子物体添加碰撞体

  • 刚体的质心
      重心 rb.centerOfMass

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-22 11:19 , Processed in 0.091542 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表