通常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(转向角)。与其他物理引擎的碰撞体相比,车轮碰撞体是通过一个基于滑动摩擦力的参考体来单独计算摩擦力的。

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

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

    在虚拟世界中,任何物体都是没有活力的,要想变的真实,Rigidbody是必不可少的组件,下面介绍Rigidbody的各个属性: Mass:质量 Drag:阻力,对象在运动时遇到的空气阻力,0表示没有空 ...

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

    在Unity3d中已经配置好了5种常用的物理材质,Bouncy.Ice.Metal.Rubber.Wood,在菜单中依次选择Assets - Import Package - Physics Mate ...

  3. [原]Unity3D深入浅出 - 脚本开发基础(Scripts)

    常用脚本事件: Update:每帧调用一次 Start:在第一次Update执行前调用 Awake:脚本实例在创建时调用 FixedUpdate:每个固定物理时间间隔调用一次 LateUpdate:每 ...

  4. UIDynamic仿物理引擎-浮动碰撞效果-b

    最近产品提了个需求(电商的APP-两鲜),需要在APP背景加上几个水果图案在那里无规则缓慢游荡...模仿 天天果园 APP的.好吧,那我就在网上找了很多文章,总结一下写个demo.效果如下: Mou ...

  5. [原]Unity3D深入浅出 - 角色控制器(Character Controller)

    角色控制器主要用于第一人称和第三人称主角的控制,并不使用刚体物理效果. 添加角色控制器的方法:依次打开菜单栏中的Component - Physiscs - Character Controller ...

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

    Component(组件)是用来添加到GameObject对象上的一组相关属性,本质上每个组件都是一个类的实例,比如在Cube上添加一个Mesh网格,即面向对象的思维方式可以理解成Cube对象里包含了 ...

  7. 实例介绍Cocos2d-x中Box2D物理引擎:碰撞检測

    在Box2D中碰撞事件通过实现b2ContactListener类函数实现,b2ContactListener是Box2D提供的抽象类,它的抽象函数:virtual void BeginContact ...

  8. 【h5游戏开发】egret引擎p2物理引擎 - 小球碰撞地面搞笑的物理现象

    重力的方向和地面的问题 p2中默认的方向是从上到下,如果重力默认是正数的话,物体放到世界中是会从上面往下面飘的 p2中plane地面默认的方向是y轴的方向,而在p2中y轴的方向默认是从上往下 首先来看 ...

  9. [原]Unity3D深入浅出 - Shader基础开发

    概述 简单来讲,shader是为渲染管线中的特定处理截断提供算法的一段代码.Shader是伴随着可编程渲染管线出现的,开发者可使用Shader对渲染过程加以控制,拥有更大的创作控件,因此Shader的 ...

随机推荐

  1. api接口通信安全性

    1.采用https协议传输数据 2.白名单.账号密码验证 3.密钥签名token 4.三次握手请求数据前,需要拿到密码才可以请求数据,否则异常

  2. Describe the difference between repeater, bridge and router.

    中继器,路由器,网桥,网关的区别. 路由器:网络层设备,实现复杂的路径选择,控制IP包从源到目的地的路径:根据IP地址进行选路和转发IP数据包 中继器:物理层设备,物理信号的重新生成,对信号进行整形和 ...

  3. DataGridView控件-学习笔记总结

    1.GridColor属性用来获取或设置网格线的颜色 dataGridView1.GridColor=Color.Blue; 2.设置宽度 .高度 dataGridView1.Columns[].Wi ...

  4. Java中的异常处理(二)

    1.finally package second; public class C { public static void main(String[] args){ String name = nul ...

  5. 二十、mysql mysqldump备份工具

    .备份所有数据库 mysqldump -uroot -p --all-database > c:\all.sql 备份所有数据库到c盘下的all,sql文件 .备份某个数据库 mysqldump ...

  6. windows 2008 R2 Activition

    无需破解:Windows Server 2008 R2 至少免费使用 900天 1.首先安装后,有一个180天的试用期. 2.在180天试用期即将结束时,使用下面的评估序列号激活Svr 2008 R2 ...

  7. Xcode 向6.0以后版本添加iOS开发空白模板

    打开finder,找到应用程序,找到xcode 右键显示包内容.按照如下目录进行查找:Contents ▸ Developer ▸ Platforms ▸ iPhoneOS.platform ▸ De ...

  8. Error building Player: CommandInvokationFailure: Failed to re-package resources. See the Console for details. ShareSDK 也有这种错误

    Error building Player: CommandInvokationFailure: Failed to re-package resources. See the Console for ...

  9. 【leetcode】Word Ladder II(hard)★ 图 回头看

    Given two words (start and end), and a dictionary, find all shortest transformation sequence(s) from ...

  10. ABC: Always Be Coding——程序员面试必

    本文作者@guitardave24 ">David Byttow 是一名程序员,曾在 Google 和 Square 等公司工作过. 在正文之前,先让我们回答几个简单的问题:第一,你面 ...