2019-07-13 17:41:03 qq_41938259 阅读数 211

打开unity进入如空的界面后,点击GameObject->3DObject->Plane/Cube/Sphere分别创建一个平面/立方体/球体。摆放成如图所示:

在inspector界面上点击最下面的add component->physics->Rigidbody添加刚体属性。添加完了是这样的:

两个都要添加。这样立方体从上面掉落砸到球体使其滚动的画面就有了。还可以添加更多的物体进行试验。

注意:不要把plane(平面)设置为刚体,否则平面会掉落。

 

 

 

2014-04-01 02:31:52 Monzart7an 阅读数 12358

郁闷,今天被这个问题搞了一个下午,弄到现在,记录一下:

本来想说今天学习一下unity3d中的物理的,学到刚体和碰撞这一章,就想说先在场景里面摆一个平面(plane)和一个球体(sphere),然后让球体落下来砸在平面上然后反弹,看各种效果,步骤如下:

一、新建一个plane对象,此时这个对象默认有一个Mesh colider碰撞组件。

二、新建一个sphere对象,放置于plane对象之上,此时该对象有一个sphere colider碰撞组件,然后呢再给它添加一个刚体组件rigidbody,之后运行程序。


问题就来了:

一、球没有下落,后来查了半天,才发现是重力没设置(这个待会儿再说为啥没设置,默认新建一个工程是有的),点击Edit->Project Settings->Physics,打开The Physics Manager 物理管理器,如图:



设置那个Y值,一般重力我们都只设置这个y值的,下面这句摘自官网:

Gravity The amount of gravity applied to all Rigidbodies. Usually gravity acts only on the Y-axis (negative is down). Gravity is meters/(seconds^2).

OK,设置之后,球倒是可以落下了,但又来了个问题。

二:球径直穿过了平面,没有任何碰撞和反弹?

这个就有点郁闷了,各种查啊,试啊,最后终于搞明白了,还是上面那个物理管理器设置得有问题,看见俺那个Layer Collision Matrix没,就是下面那个矩阵。

那里定义了层与层之间的碰撞关系,每个对象都属于一个层级,如下图:



上面那个矩阵定义了哪两个层级之间是开启了碰撞检测的,两个层级之间如果没有开启碰撞检测(就是上面那个矩阵对象的复选框没有勾上),那么属于这两个层级的物体都不会有碰撞检测。我就是创建的两个物体都属于Default层级,但Default与Default层级之间没有开启碰撞,类似下图:



所以就没有碰撞,把Default和Default之间的那个复选框勾选上后就有碰撞和反弹了。

其实默认,新建一个工程时这几个默认层级之间都是有碰撞关系的。下面就来说说我为啥工程里面都不是默认值。


原因很简单,就是我这个工程是从网上下下来的Demo,直接用Unity打开了,而这个Demo把工程的物理管理器设置给改了,结果导致了我今天的悲剧。这个也说明了这个物理管理器的设置是针对工程生效的,就是说只要你把这个设置改了后,无论你在这个工程里面新建多少个Scene,这个物理管理器的设置对那个Scene都生效。


所以,忠告就是:对于像我这种刚开始入门的新手来说,实现书上说的内容时,还是从新开一个工程,或者保证工程的设置是默认设置没有更改过为好。


2013-05-30 17:31:50 molti 阅读数 646

转自:http://www.cnblogs.com/oldman/articles/2396074.html


具体的一些,可以看 unity3d的 manual refrernce的东西,有几个表格在后面可以参考:

几个类型碰撞器:
1. 静态碰撞器: 就是只有碰撞器,但没有刚体的
2.刚体碰撞器: 带Rigidbody的碰撞器,这个是最基本的碰撞器
3.运动学刚体碰撞器: 带Rigidbody, 而且Rigidbody的IsKinematic打勾的,注意这个碰撞器是不能加力的,只能修改他的transform才能移动

Triggers 触发器

仅需要选中Inspector中的IsTrigger属性选择框。触发器不受物理引擎控制,当和一个触发器发生碰撞时会发出三个独特的触发信息,为了使两个触发器碰撞时发出碰撞事件,其中一个必须包含刚体.

今天遇到的一个情况是:如果刚体碰撞器不动,静态碰撞器去碰撞,则不会触发任何信息,而如果静态碰撞器不动,刚体碰撞器(包括运动学刚体碰撞器)去碰撞静态碰撞器,则会触发碰撞,如果是触发器,则会触发事件。所以下面的表格提供了触发的条件,但主动性大家也还需要注意,不然要纠结一段时间的。



Collision detection occurs and messages are sent upon collision
碰撞后有碰撞检测并有碰撞信息发出
  Static Collider
静态碰撞器
Rigidbody Collider
刚体碰撞器
Kinematic 
Rigidbody Collider
运动学刚体碰撞器
Static 
Trigger Collider
静态触发碰撞器
Rigidbody 
Trigger Collider
刚体触发碰撞器
Kinematic Rigidbody 
Trigger Collider
运动学刚体触发碰撞器
Static Collider 静态碰撞器   Y        
Rigidbody Collider 刚体碰撞器 Y Y Y      
Kinematic Rigidbody Collider 
运动学刚体碰撞器
  Y        
Static Trigger Collider
静态触发碰撞器
           
Rigidbody Trigger Collider
刚体触发碰撞器
           
Kinematic Rigidbody Trigger Collider
运动学刚体触发碰撞器
           
Trigger messages are sent upon collision
碰撞后有触发信息
  Static Collider
静态碰撞器
Rigidbody Collider
刚体碰撞器
Kinematic 
Rigidbody Collider
运动学刚体碰撞器
Static 
Trigger Collider
静态触发碰撞器
Rigidbody 
Trigger Collider
刚体触发碰撞器
Kinematic Rigidbody 
Trigger Collider
运动学刚体触发碰撞器
Static Collider 静态碰撞器         Y Y
Rigidbody Collider 刚体碰撞器       Y Y Y
Kinematic Rigidbody Collider
运动学刚体碰撞器
      Y Y Y
Static Trigger Collider 静态触发碰撞器   Y Y   Y Y
Rigidbody Trigger Collider
刚体触发碰撞器
Y Y Y Y Y Y
Kinematic Rigidbody Trigger Collider
运动学刚体触发碰撞器
Y Y Y Y Y Y

2018-03-30 14:41:46 Scopperil 阅读数 749

    做一个小demo的时候遇到这个问题,查了许多资料终于搞明白了,特此记录一下:

    刚体是发生碰撞时不发生形变的物体,当然这是一种理想状态。

    先看刚体,在physics里,rigidbody,翻译还是很直白的微笑

          

        参数说明:

        Mass: 质量,单位kg

        Drag: 空气阻力

        Angular Drag:转动阻力

        Use Gravity: 重力,默认为false

        Is Kinematic: 大概意思是不受外力影响,勾选了这个重力以及其他外力就不起作用了。

下面还有其他的用的较少,就不记了。

    说说碰撞体,但我更愿意叫它包围盒,想想自动门你可能就明白它是什么意思了,我们在一定范围内会触发某种机制。

    

 参数说明:

    Is Trigger: 是否触发触发器,勾上之后会让你的刚体失效,也就是说去撞另一个刚体,会直接穿过去。

    Material:材质

    Center:中心点,一般默认在物体正中心

    size:包围盒的大小

脚本上加上下面这些代码,猜猜会发生什么,

public void OnCollisionEnter(Collision collision)
    {
        Destroy(collision.gameObject);
    }

是的,碰撞瞬间会摧毁被撞物体,OnCollisionEnter函数就是碰撞瞬间。

学习使我快乐,我爱学习微笑

2016-11-22 13:19:52 qq_32165329 阅读数 454

我们在创建游戏物体时,引擎都会默认给物体添加一个Collder属性,也就是碰撞体。拥有的碰撞体,游戏运行时才不会变得透明能够穿越,与刚体的区分可以这么来比较:

——刚体的话控制的物体的受力,运动,而Collider则控制的是物体之间接触时的反馈,要么发生碰撞要么穿过,秉着这个原则,刚体与碰撞体的概念就区别开了。

Unity3d 刚体碰撞器

阅读数 890

没有更多推荐了,返回首页