Unity物理引擎基础

  • 修改重力环境
  • 刚体Rigidbody
  • 碰撞体Collider
  • SpringJoint弹簧关节
  • HingeJoint链锁关节
  • ConstantForce恒力组件
  • Raycast光线投影

修改重力环境

Edit-ProjectSettings-Physics-PhysicsManager面板:Gravity-xyz

刚体Rigidbody

常用API:

  • AddForce(Vector3.up*20) 方向力
  • AddTorque(Vector3.up*20) 扭矩力

碰撞体Collider

MeshCollider对于复杂模型选择一个近似的简单模型,减少三角形面片数,提高游戏性能。

SpringJoint弹簧关节

HingeJoint链锁关节

实现开门效果

  • ConnectedBody 关联结点
  • Axis调整旋转纬度
  • Anchor调整旋转锚点
  • limites 限制角度

实现风扇效果

  • 按自身的轴旋转则不需要关联结点
  • Anchor调整旋转锚点
  • UseMotor 开启马达

    • TargetVelocity 马达目标速度
    • Force 给一个初始的力,会一直加速到目标速度
  • UseSpring 开启弹簧效果

    • Spring 弹力
    • Damper 阻力
    • TargetPosition

ConstantForce恒力组件

  • Force 方向力(全局坐标系)
  • RelativeForce (本地坐标系)
  • Torque 扭矩力(全局坐标系)
  • RelativeTorque(本地坐标系)

Raycast光线投影

Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
Physics.Raycast(ray, out hit)
Physics.Raycast(transform.position, transform.forward, out hit)

你可能感兴趣的:(Unity)