分类:Unity、C#、VS2015

创建日期:2016-05-02

一、简介

碰撞组件(Collider) 是另一种必须随刚体 (Rigidbody) 添加的组件,以便允许它和其他组件发生碰撞。或者说,如果仅仅是两个刚体 (Rigidbody) 相互碰撞,则物理引擎不会计算碰撞,除非这两个对象又都附加了碰撞组件 (Collider)。

无碰撞组件 (Collider) 的刚体 (Rigidbody) 在物理模拟过程中只会穿过彼此。

二、基本概念

1、添加碰撞体的方法

首先选中一个游戏对象,然后依次打开菜单的【Component】--【Physics】选项,选择不同的碰撞体类型,这样就在该对象上添加了碰撞体组件。

2、碰撞体

碰撞体和刚体的共同作用使得游戏对象产生了物理效果,刚体可使得对象受到物理效果的控制和影响,而碰撞体可使对象彼此之间发生碰撞。碰撞体并不一定需要绑定刚体,但是刚体一定要绑定一个碰撞体到对象上才会有碰撞效果。

当两个碰撞体发生碰撞并且其中至少有一个添加了刚体,就会有三个碰撞消息发送给绑定它们的对象,这些事件可以被脚本所处理,并允许用户创建—个独一无二的相关行为。

3、触发器

如果要使碰撞体生效,并将其看作一个触发器,可在lnspector视图中将Is Trigger属性开启。

触发器不受物理引擎的控制,当一个触发器发生碰撞时会发送三个触发消息。触发器对于在游戏中触发各种事件非常有用,比如切换场景、自动门开启、显示帮助教程等。当然为了使两个应用触发器的对象在碰撞时发送触发事件,其中一个对象必须要有刚体组件。

4、摩擦力和弹力

摩擦力、弹力和柔软度是由物理材质决定的,Unity提供的物理材质资源包中包含了大部分常见的物理材质,导入后即可直接使用。当然你也可以创建新的物理材质并调整其参数、属性。

三、基本碰撞体

碰撞体包括球体碰撞体(Sphere Collider)、箱体碰撞体(Box Collider)、网格碰撞体(Mesh Collider)、物理材质(Physics Material)、铰链关节(Hinge Joint)、弹簧关节(Spring Joint)等。

1、箱体碰撞体 (Box Collider)

箱体碰撞体 (Box Collider) 是基本立方体形碰撞基元。

盒碰撞体是一个立方体外形的基本碰撞体。该碰撞体可以调整为不同大小的长方体,可用作门、墙及平台等,也可用于布娃娃的角色躯干或者汽车等交通工具的外壳,当然最适合用在盒子或箱子上。

(1)Is Trigger

触发器。勾选该顶,则该碰撞体可用于触发事件,并将被物理引擎所忽略。

(2)Material

材质。采用不同的物理材质类型决定了碰撞体与其他对象的交互形式,单击右侧的圆圈按钮可弹出物理材质选择对话框。

(3)Center

中心。碰撞体在对象局部坐标中的位置。

2、球形碰撞体 (Sphere Collider)

球形碰撞体(Sphere Collider) 是基本球形碰撞基元。

球体碰撞体的三维大小可以均匀等地调节,但不能单独调节某个坐标轴方向的大小,该碰撞体适用于落石、乒乓球等游戏对象。

(1)Is Trigger

触发器。若开启该项,则此碰撞体可用于触发事件,并将被物理引擎所忽略。

(2)Material

材质。采用不同的物理材质类型决定了碰撞体与其他对象的交互形式,单击右侧的圆圈按钮可弹出物理材质选择对话框,可为碰撞体选择一个物理材质。

(3)Center

中心。碰撞体在对象局部坐标中的位置。

(4)Radus

半径。球形碰撞体的大小。

3、胶囊碰撞体 (Capsule Collider)

胶囊碰撞体由一个圆柱体和与其相连的两个半球体组成,是一个胶襄形状的基本碰撞体。

胶囊碰撞体的半径和高度都可以单独调节,可用在角色控制器或与真他不规则形状的碰撞结合来使用。

Unity中的角色器通常内嵌了胶囊碰撞体。

(1)Is Trigger

触发器。若开启该项,则此碰撞体可用于触发事件,并将被物理引擎所忽略。

(2)Direction

方向。在对象的局部坐标中胶囊的纵向方向所对应的坐标轴,默认是Y轴。

4、网格碰撞体 (Mesh Collider)

网格碰撞体 (Mesh Collider) 采用网格资源 (Mesh Asset) 并基于该网格构建其碰撞体 (Collider)。对于碰撞检测,这比将基元用于复杂网格要精确得多。标记为 凸体 (Convex) 的网格碰撞体 (Mesh Collider)可以与其他网格碰撞体 (Mesh Collider) 碰撞。

通过对象的网格创建碰撞体 (Collider),不能与其他网格碰撞体 (Mesh Collider) 碰撞

网格碰撞体通过获取网格对象并在其基础上构建碰撞,与在复杂网格模型上使用基本碰撞体相比,网格碰撞体要更加精细,但会占用更多的系统资源。

(1)Is Trigger

触发器。若开启该项,则此碰撞体可用于触发事件,并将被物理引擎所忽略。

(2)Convex

Convex:凸起。开启Convex参数的网格碰撞体才可以与其他的网格碰撞体发生碰撞。

勾选该顶,则网格碰撞体将会与其他的网格碰撞体发生碰撞。网格碰撞体按照所附加对象的Transform组件属性来没定碰撞体的位置和大小比例,碰撞网格使用了背面消隐方式,如果一个对象与一个采用背面消隐的网格在视觉上相碰撞的话,那么他们并不会在物理上发生碰撞。

使用网格碰撞体有一些限制的条件:通常两个网格碰撞体之间并不会发生碰撞,但所有的网格碰撞体都可与基本碰撞体发生碰撞。如果碰撞体的Convex参数设为开启,则它也会与其他的网格碰撞体发生碰撞。需要注意的是,只有当网格碰撞体网格的三角形数量少于255的时候,Convex参数才会生效。

【Unity】11.3 基本碰撞体(箱体、球形、胶囊、网格)相关推荐

  1. unity 根据模型生成碰撞体_Unity之碰撞体组件

    3D物理组件中碰撞体组件添加与设置 碰撞体是物理组件中的一类,3D物理组件和2D物理组件有独特的碰撞体组件,它要与刚体一起添加到游戏对象上才能触发碰撞.如果两个刚体相互撞在一起,除非两个对象有碰撞体时 ...

  2. Unity物理系统中碰撞体、刚体、isKinematic、isTrigger的关系(附动画演示)

    Unity物理系统中碰撞体.刚体.isKinematic.isTrigger的关系 写在前面 产生碰撞的条件 产生触发的条件 实验一:蓝块(碰撞体).红块(碰撞体) 实验二:蓝块(碰撞体).红块(碰撞 ...

  3. Unity 之刚体,碰撞体,触碰器

    Unity中文官方文档https://docs.unity.cn/cn/current/Manual/class-Rigidbody2D.html Rigidbody 刚体 是赋予物体力的的作用效果的 ...

  4. unity 根据模型生成碰撞体_快速准确立体碰撞体自动生成器Unity游戏素材资源

    本游戏资料是快速准确立体碰撞体自动生成器Unity游戏素材资源,大小:5 MB ,格式:unitypackage,使用软件:unity5.6.4或更高,资产版本:Version 1.1(current ...

  5. Unity 物理系统 -- 碰撞体简介(碰撞、触发条件)

    Unity 物理系统 -- 碰撞体简介(碰撞.触发条件) 几个常用的碰撞体: Box Collider:盒碰撞体,盒碰撞体是一个立方体外形的基本碰撞体,该碰撞体可以调整为不同大小的长方体,可用作门.墙 ...

  6. Unity 3D 碰撞体(Collider)|| Unity 3D 触发器(Trigger)

    在游戏制作过程中,游戏对象要根据游戏的需要进行物理属性的交互. 因此,Unity 3D 的物理组件为游戏开发者提供了碰撞体组件.碰撞体是物理组件的一类,它与刚体一起促使碰撞发生. 碰撞体是简单形状,如 ...

  7. Unity 碰撞体 composite

    unity中盒型碰撞体与多边形碰撞体有used by composite这一选项,如果勾选这一选项代表该碰撞体可以被之后添加的composite 复合碰撞体使用,复合碰撞体会将该碰撞体的box与pol ...

  8. 详解Unity中的车轮碰撞器Wheel Collider

    前言 碰撞体组件定义了物体的物理性状,Unity中有一系列基本碰撞体,我们可以使用它们组合成任意形状,但除了基本碰撞体之外,Untiy还提供了诸如车轮(Wheel).网格(Mesh).地形(Terra ...

  9. 【Unity入门计划】制作RubyAdventure03-使用碰撞体触发器实现世界交互

    目录 8 添加生命系统 演示效果 9 使用触发器实现吃血包 9.1 添加一个可以被吃掉的血包 10 使用触发器添加伤害区域 10.1 设置伤害区域 10.2 设置无敌时间 关于无敌时间的讨论 10.3 ...

最新文章

  1. 常用的Meta标签写法和作用
  2. SVG(H5可缩放的矢量图形)
  3. 面试题3-二维数组中的查找
  4. 三星emcp型号详解_Samsung eMCP(三星eMCP).pdf
  5. SD question:客户主数据中“合伙人功能”视图里面的数据怎么样才能自动带出来?...
  6. jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
  7. WebRTCon 2018 Day One精彩回顾
  8. ABB机器人ROBOTSTUDIO中轨迹与二次开发的问答
  9. c++ list遍历_Creo二次开发 文件循环遍历
  10. 在非MVC环境下使用 Razor引擎
  11. 嵌套for in循环组合cat方式文件中包含空格问题
  12. AppCan入门教程
  13. 10、Cocos2dx 3.0游戏开发找小三之容器篇:Vector、Map、Value
  14. 趋势安全软件卸载:如何不需要密码或忘记密码卸载Trend Micro OfficeScan Agent?
  15. C# winform使用InstallShield2019打包
  16. SonicWall远程命令执行漏洞
  17. 微信授权登录(更新。。。)
  18. irq_desc操作
  19. Vim/Neovim ALE system verilog使用xvlog时出现“ ‘logic‘ is uan unknown type “ 等
  20. Rockchip开发系列 - 3.Pin-Ctrl 开发指南

热门文章

  1. 怎么解决包冲突--删除EE5中的jar
  2. python 卷积神经网络猫狗大战_卷积神经网络入门(1) 识别猫狗
  3. Windows电脑任务栏出现卡顿黑屏
  4. 俞敏洪不是新东方的瓶颈,“选择困难症”才是
  5. 最新最全MySQL 8知识,关注这篇就够了!
  6. Credit Card Interest-余额利息
  7. openstack bdm基础
  8. 大专学计算机课程好找工作吗,2021计算机大专毕业后好找工作吗
  9. 深度学习/云计算 - 【学生党】【GPU】16个云服务器资源大汇总
  10. 《Java SE实战指南》00:参考资料