美文网首页
Unity3D-Collider(碰撞器)

Unity3D-Collider(碰撞器)

作者: NightChord | 来源:发表于2016-12-09 11:33 被阅读0次

要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动。碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。

  • 物体发生碰撞的必要条件:
      两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。

  • 在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。

碰撞器:一群组件,它包含了很多种类,比如:Box Collider(盒碰撞体),Mesh Collider(网格碰撞体)等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。
触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。

一、碰撞器组件

  • 盒碰撞器(Box Collider)
  • 椭圆碰撞器(Sphere Collider)
  • 胶囊碰撞器(Capsule Collider)
  • 车轮碰撞器(Wheel Collider):专用于车辆
  • 网格碰撞器(Mesh Collider)
  • 地形碰撞器(Terrain Collider)

所谓触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。

note

盒碰撞器(Box Collider)

盒子碰撞器是一个立方体外形的基本碰撞体,该碰撞体可以调整为不同大小的长方体,可以做门,墙等

盒碰撞器(Box Collider)

椭圆碰撞器(Sphere Collider)

椭圆碰撞器是一个基本球形的基本碰撞体,球形碰撞体的三维大小可以均匀的调节,适用于落石,球形障碍物

椭圆碰撞器(Sphere Collider)

胶囊碰撞器(Capsule Collider)

胶囊碰撞器是由一个圆柱体和与其相连的两个半球体组成

胶囊碰撞器(Capsule Collider)

车轮碰撞器(Wheel Collider)

车轮碰撞器是一种针对地面车辆的特殊碰撞体,有内置的碰撞检测、车轮物理系统及有滑胎摩擦的参考体。

车轮碰撞器(Wheel Collider)

网格碰撞器(Mesh Collider)

网格碰撞器通过获取网格对象并在其基础上构建碰撞碰撞。更加精细,但是会使用更多系统资源。开启Convex参数的网格碰撞体才可以与其他网格碰撞体发生碰撞。

网格碰撞器(Mesh Collider)

通常两个网格碰撞体之间不会发生碰撞,但是它们都可以与基本碰撞体发生碰撞
如果要让它发生碰撞:开启Convex属性

note

地形碰撞器(Terrain Collider)

地形碰撞器是具有相同的形状的一个碰撞面地形它连接到对象

地形碰撞器(Terrain Collider)

二、碰撞检测

  • 在Unity3d中,主要有以下接口函数来处理这两种碰撞检测:

  • 碰撞信息检测:
    1.MonoBehaviour.OnCollisionEnter( Collision collisionInfo ) 当进入碰撞器
    2.MonoBehaviour.OnCollisionExit( Collision collisionInfo ) 当退出碰撞器
    3.MonoBehaviour.OnCollisionStay( Collision collisionInfo ) 当逗留碰撞器

  • 触发信息检测:
    1.MonoBehaviour.OnTriggerEnter( Collider other )当进入触发器
    2.MonoBehaviour.OnTriggerExit( Collider other )当退出触发器
    3.MonoBehaviour.OnTriggerStay( Collider other )当逗留触发器

Layer-Based Collision Detection 基于层的碰撞检测
在Unity3以后版本,我们介绍了一种称为“基于层的碰撞检测”(Layer-Based Collision Detection)的东西,可以让你有选择地控制Unity对象和他们附加的特定层碰撞。
选择选定游戏对象的层.

选择选定游戏对象的层

Edit->Project Settings->Physics.,打开物理引用界面. 在碰撞矩阵中选择要与其他层相互作用的层,勾选即可.

物理引用界面

【Unity】物理碰撞实验

相关文章

  • Unity3D-Collider(碰撞器)

    要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动。碰撞体是物理组件的...

  • Unity3D-Collider(碰撞器)与Tirgger(触发

    什么是碰撞器? 描述了物体可被碰撞的边界,以及碰撞过程中相互影响效果。碰撞效果:两个游戏对象碰在一起,通过物理引擎...

  • Unity3D-Collider(碰撞器)和触发器(Trigge

    一、碰撞器(Collider) 如: Box Collider 盒碰撞器、Capsule Coll...

  • Unity基础 -- Collider(碰撞器)

    一.碰撞器 首先,什么是碰撞器?碰撞器是描述了物体可被碰撞的边界,以及碰撞过程中相互影响效果。碰撞效果:两个游戏对...

  • Collider(碰撞器)详解

    1.Collider(碰撞器) 碰撞器即判定该物体是否与另外一个物体碰撞器接触上的而触发的机制,以碰撞器是否有接触...

  • 1.1 unity中,碰撞器与刚体的区别

    碰撞器:碰撞器是产生碰撞的前提即碰撞检测 刚体:需要模拟重力,要用到刚体; 物体间产生碰撞,主动体必须...

  • 碰撞器

    相关文章 《物理系统概述》《刚体》《碰撞器》 概述 刚体的主要作用是使物体能够受力并施力,但只有刚体组件的物体不能...

  • Unity3D-剛體(Rigidbody),碰撞器(Collid

    剛體(Rigidbody) + 碰撞器(Collider): 雙方一定要有碰撞器(Collider)。 至少一方為...

  • 碰撞(*球形) 有个小问题

    碰撞:collision.collider 是和当前物体发生碰撞的物体身上的碰撞器 改变物体颜色:GetCompo...

  • BulletDemo

    用到知识点:刚体、碰撞器、触发器、射线

网友评论

      本文标题:Unity3D-Collider(碰撞器)

      本文链接:https://www.haomeiwen.com/subject/ovmsmttx.html