[原]Unity3D深入浅出 - 物理引擎之碰撞体(Colliders)

通常Colliders会与Rigidbody一起使用,没有添加碰撞体的刚体会彼此相互穿过。

常用碰撞体有以下几种:

  • Box Collider:盒子碰撞体,是一个立方体外形的碰撞体,可调整为不同大小的长方体,一般可用作门,墙及平台等,也可用于交通工具的外壳。最适合的是使用在盒子和箱子上。

    • Is Trigger:触发器,勾选后可用于触发事件,且将被物理引擎所忽略。
    • Material:材质,采用不同的Physics Material决定了碰撞体与其他对象的交互形式。
    • Center:碰撞体在对象局部坐标的中的位置
    • Size:可调整碰撞体的大小
  • Sphere Collider:球形碰撞体,是一个基于球体的碰撞体,可用作石头,乒乓球等
    • Radius:调整球形碰撞体的半径,没有了Size属性。
  • Capsule Collider:胶囊碰撞体,由一个圆柱体两端分别连接两个半球体组成,可用在Character Controllers,或与一些其他不规则形状的碰撞结合来使用。建

    • Height:高度。
    • Direction:方向,默认是Y轴
  • Mesh Collider:网格碰撞体,通过获取网格对象并在其基础上构建碰撞器,与其他碰撞体相比,网格碰撞体更加精细,但会占用更多系统资源。只有在开启Convex属性才可以与其他的网格碰撞体发生碰撞。
    • Smooth Sphere Collisions:平滑碰撞,开启此项碰撞会变得平滑,因此在平滑的表面建议开启此选项。
    • Mesh:网格,获取对象的网格并将其作为碰撞体。
    • Convex:凸起,勾选后可以与其他的网格碰撞起发生碰撞。
    • 注意:网格碰撞器可以与所有的碰撞体发生碰撞,但要与其他的网格碰撞体发生碰撞必须开启Convex属性,且只有当网格碰撞体网格的三角形数量少于255的时候Convex属性才会生效。
  • Wheel Collider:车轮碰撞体,是一种针对地面车辆的特殊碰撞体,它有内置的碰撞检测,车轮物理系统,滑胎摩擦参考体。除了车轮也可用于其他对象。
    • Mass:车轮碰撞体的质量。
    • Radius:车轮碰撞体的半径大小。
    • Suspension Distance:车轮碰撞体的最大悬挂距离,根据局部坐标Y轴向下延伸。
    • Center:轮胎碰撞体的局部坐标的中心。
    • Suspension Spring:车轮的悬挂弹簧,通过添加弹簧和阻力使得悬挂达到目标位置。
      • Spring:弹簧,弹簧力度越大,悬挂到达目标的位置也就越快。
      • Damper:阻力器,阻尼器控制着悬挂的速度,数值越大,悬挂弹簧移动的速度越慢。
      • Target Position:悬挂沿着其方向上的静止时的距离。
    • Forward Friction:当轮胎向前滚动时的摩擦力属性。
      • Extremum Slip:滑动极值
      • Extremum Value:极限值
      • Asymptote Slip:滑动渐进值
      • Asymptote Value:渐进值
      • Stiffness Factor:刚性因子
    • Sideways Friction:当轮胎侧向滚动时的摩擦力属性。
      • 同Forward Friction一样有5个可设置值

车轮碰撞检测是通过从局部坐标Y轴向下投射一条射线来实现的,车轮有一个通过悬挂距离向下延伸的半径,可通过脚本中不同的属性值来对车辆进行控制。这些属性值有motorTorque(马达转矩)、brakeTorque(制动转矩)和steerAngle(转向角)。与其他物理引擎的碰撞体相比,车轮碰撞体是通过一个基于滑动摩擦力的参考体来单独计算摩擦力的。

时间: 2024-10-11 11:53:28

[原]Unity3D深入浅出 - 物理引擎之碰撞体(Colliders)的相关文章

[原]Unity3D深入浅出 - 物理引擎之刚体部件(Rigidbody)

在虚拟世界中,任何物体都是没有活力的,要想变的真实,Rigidbody是必不可少的组件,下面介绍Rigidbody的各个属性: Mass:质量 Drag:阻力,对象在运动时遇到的空气阻力,0表示没有空气阻力,好比丢一个东西出去,如果这个东西没有阻力的话,则会一直不停的向你丢的方向所运动. Angular Drag:角阻力也称扭矩力,扭矩力是使物体发生转动的一种特殊的力炬. Use Gravity:使用重力,开启后会受到重力影响. Is Kinematic:是否开启动力学,开启后不在受物理引擎的影

[原]Unity3D深入浅出 - 物理材质(Physics Materials)

在Unity3d中已经配置好了5种常用的物理材质,Bouncy.Ice.Metal.Rubber.Wood,在菜单中依次选择Assets - Import Package - Physics Materials 即可导入,下面以Ice(冰)材质为例介绍其物理参数. Daynamic Friction:动力摩擦力,对象在运动时的摩擦力,取值范围0~1 Static Friction:静态摩擦力,对象被放置在表面时的摩擦力,取值范围0~1,取值接近0时可模拟冰的效果. Bounciness:反弹,取

[原]Unity3D深入浅出 - 之碰撞体(Colliders)

通常Colliders会与Rigidbody一起使用,没有添加碰撞体的刚体会彼此相互穿过. 常用碰撞体有以下几种: Box Collider:盒子碰撞体,是一个立方体外形的碰撞体,可调整为不同大小的长方体,一般可用作门,墙及平台等,也可用于交通工具的外壳.最适合的是使用在盒子和箱子上. Is Trigger:触发器,勾选后可用于触发事件,且将被物理引擎锁忽略. Material:材质,采用不同的Physics Material决定了碰撞体与其他对象的交互形式. Center:碰撞体在对象局部坐标

[原]Unity3D深入浅出 - 认识开发环境中的Component(组件)菜单

Component(组件)是用来添加到GameObject对象上的一组相关属性,本质上每个组件都是一个实例,比如在Cube上添加一个Mesh网格,即面向对象的思维方式可以理解成Cube对象里包含了一个Mesh对象. Component主要包含以下组件:  Mesh:添加网格类型的组件 Mesh Filter:网格过滤器 Text Mesh:文本网格 Mesh Renderer:网格渲染器 Effects:添加特效类型组件 Particle System:粒子系统 Trail Renderer:拖

[原]Unity3D深入浅出 - 认识开发环境中的Project面板

前面几个是用来创建脚步的,从Prefab说起: Prefab:预设物体,若一个Object在Scene中多处用到,即可选择为改对象创建一个Prefab.创建一个Prefab后,将源Object拖拽置新建的Prefab下,即可在场景中多处使用,且在修改任意一处,Apply后即可修改所有的形态. Material:材质,可自己设定贴图等. Animation:可新建一个动画剪辑 Cubemap:立方体贴图 Lens Flare:可用来模拟太阳光晕效果,可拖置光源的Flare属性下. Custom F

[原]Unity3D深入浅出 - 之刚体部件Rigidbody

在虚拟世界中,任何物体都是没有活力的,要想变的真实,Rigidbody是必不可少的组件,下面介绍Rigidbody的各个属性: Mass:质量 Drag:阻力,对象在运动时遇到的空气阻力,0表示没有空气阻力,好比丢一个东西出去,如果这个东西没有阻力的话,则会一直不停的向你丢的方向所运动. Angular Drag:角阻力也称扭矩力,扭矩力是使物体发生转动的一种特殊的力炬. Use Gravity:使用重力,开启后会受到重力影响. Is Kinematic:是否开启动力学,开启后不在受物理引擎的影

[原]Unity3D深入浅出 - 认识开发环境中的自带的Package资源包

Character Controller:角色控制器 Glass Refraction(pro only):玻璃反射资源包 Image Effects :图像效果资源包 Light Cookies:光效资源包 Light Flares:光晕资源包 Particles:粒子效果资源包 Physic Materials:物理材质资源包 Projectors:幻灯机效果资源包 Scripts:脚本资源包 Skyboxes:天空盒资源包 Standard Assets(Mobile):标准资源包 Ter

[原]Unity3D深入浅出 - 认识开发环境中的GameObject菜单栏

Create Empty:创建空对象 Create Other:创建其他对象 Particle System:创建粒子系统 Camera:创建相机 GUI Text:GUI文本 GUI Texture:创建GUI贴图 3D Text:创建3D文本 Directional Light 方向光(太阳光) Point Light 点光源(灯泡) Spot Light 聚光灯(手电筒) Area Light  Pro版才有 只能用来烘培Lightmap Cube:创建正方体 Sphere:创建球体 Ca

[原]Unity3D深入浅出 - 粒子系统(Particle System)

粒子系统是在三维控件渲染出来的二维图像,主要用于烟,火,水滴,落叶等效果.一个粒子系统由例子发射器.粒子动画器和粒子渲染器三个独立的部分组成. Unity中自带了一些粒子效果,在Assets>ImportPackage>Particles,即可将Prticles.UnityPackage导入到项目中,这些粒子效果包括:Dust(沙尘).Fire(火焰).Water(水).Smoke(烟雾).Sparkles(闪光),还有一些粒子资源 Sources.Misc(杂项),如下图 随便拖出来几个 接