碰撞描述类 collision

转载 2012年03月31日 15:42:12

文章转载自: http://www.d3dweb.com/Documents/201203/08-6325983507.html

碰撞描述类 collision

    Collision 信息被传递到Collider . OnCollisionEnter , Collider . OnCollisionStay和Collider.OnCollisionExit事件。参见: ContactPoint.

    变量

    ◆var collider : Collider    //  描述:碰撞到的Collider ( 只读 ).为了得到所有被碰撞到的碰撞器的细节,你需要迭代接触点( contacts属性)。

    ◆var contacts : ContactPoint [ ]    //  描述:接触点由物理引擎产生。每个contact包含一个接触点,法线和两个发生碰撞的碰撞器(参考ContactPoint)。在OnCollisionStay或者OnCollisionEnter内可以确保contacts有至少一个元素。

    function OnCollisionStay ( collision : Collision ){

    for ( var contact : ContactPoint in collision . contacts ) //检查碰到碰撞器是否有刚体
    {

    print ( contact.thisCollider . name + "hit" + contact . otherCollider .name );    //检查碰到碰撞器是否有刚体

    Debug.DrawRay ( contact . point , contact . normal, Color .white ) ;  //可视化接触点
    }
    }

    var explosionPrefab : Transform; 

    function OnCollisionEnter( collision : Collision ) //一枚手榴弹,在击中一个表面时初始化一个爆炸预设,然后销毁它

    {
     var contact = collision . contact [ 0 ];    

     var rot = Quaternion . FromToRotation ( Vector3.up , contact . normal ) ;

     var pos = contact . point ;

     Instantiate ( explosionPrefab , pos , rot ) ;//   旋转这个物体使y轴面沿着表面法线的方向

     Destory ( gameObject );//销毁这个投射物

   }

    ◆var gameObject : GameObject    //   描述:/ gameObject / 是与之碰撞的物体(只读)

    ◆var relativeVelocity : Vector3    //    描述: 两个碰撞物体的相对线形速度(只读)。

   function OnCllisionEnter ( collision : Collision ) 
    {

    if ( collision . relativeVelocity . magnitude > 2 )//当以较大的速度碰到一个物体时播放声音

    audio .Play ( );
    }

    ◆var rigibody : Rigidbody      //    描述:碰撞到的Rigidbody(只读),如果碰到的物体是一个没有附加刚体的碰撞器,返回null

    function OnCollisionStay ( collision : Collision ) {

    if ( collision . rigidbody )    //检查碰到的碰撞器是否有一个刚体 ,然后使用力
    {

    collision . rigidbody .AddForce ( Vector3 . up * 15 ) ;    //让所有碰到的刚体向上飞

    }
    }

    ◆var transform : Transform  //  描述:碰撞到的物体的Transform(只读)。如果碰到一个带有Rigidbody的碰撞器,transform将是所有附加刚体的变换。如果碰到了一个没有刚体的碰撞器,transform将是所有附加碰撞器的变换。

    碰撞接触点结构 ContactPoint

    ContactPoint 碰撞发生的接触点。接触点被存储在collision结构中,参见collision , collision . OnCollisionEnter,        Collision . OnCollisionStay  , Collision . OnCollisionExit.

    变量

    ◆var normal : Vector3    //   描述:接触点的法线

    ◆var otherCollider : Collider    //    描述:碰撞中的另一个碰撞器

    ◆var point : Vector3  //   描述:接触点

    ◆var thisCollider : Collider    //  描述:碰撞中的第一个碰撞器

    ControllerColliderHit  类

    ControllerColliderHit被CharacterController . OnControllerColliderHit使用来给出详细的关于碰撞和如何处理它们的信息。

    变量

    ◆var collider : Collider    //    描述:被控制器碰到的碰撞器。

    ◆var controller : CharacterController   //   描述:碰到该碰撞器的控制器。

    ◆var gameObject : GameObject    //    描述:被控制器碰到的游戏物体。

    ◆var moveDirection : Vector3    //    描述:从胶囊的中心到接触点的大致方向。这可以用来找到一个合理的方向将力应用到接触的刚体。

    ◆var moveLength : float    //  描述:角色碰到这个碰撞器时已经行走了多远。注意这可能不同于你传递到CharacterController . Move的。因为所有的移动都是被碰撞器制约的。

    ◆var normal : Vector3    //    描述:在世界空间中碰撞表面的法线。

    ◆var point : Vector3    //    描述:世界空间中的碰撞点。

    ◆var rigidbody : Rigidbody    //    描述:被控制器碰到的刚体。如果没有接触一个刚体而是一个静态碰撞器时为null。

    ◆var transform : Transform  ///    描述:被控制器碰到的变换

Unity3D脚本教程7:碰撞描述类 collision

来源:第三维度     碰撞描述类 collision     Collision 信息被传递到Collider . OnCollisionEnter , Collider . OnCollisi...
  • xfnjlove
  • xfnjlove
  • 2014年06月16日 16:06
  • 1545

Unity 3D 的 Collision碰撞 与 Trigger 触发的 区别

1) 想要讓程式判斷兩個物件有接觸,則雙方都必需要有Collider(碰撞器),  並且“正在動的一方”一定要有Rigidbody(剛體)才有效,另一方有沒有剛體無所謂。  ※也就是說,如果動的一...
  • plaxbsga
  • plaxbsga
  • 2014年08月07日 16:35
  • 1342

Unity-Rigidbody【刚体】组件-Collision Detection碰撞检测模式

Continous适用于将有可能会被高速移动物体撞上的物体。 Unity物体的Rigidbody组件提供了一个Collision Detection的属性,该属性用于更改物体的碰撞检测模式————一共...
  • Ming991301630
  • Ming991301630
  • 2017年09月10日 15:32
  • 280

基于层的碰撞检测 Layer-Based Collision Detection

In Unity 3.x we introduce Layer-Based collision detection, which is a way to make Game Objects colli...
  • wolf96
  • wolf96
  • 2014年10月22日 14:20
  • 1197

Unreal3 碰撞参考指南

碰撞参考指南 碰撞参考指南 概述创建骨架网格物体碰撞外壳创建静态网格物体碰撞外壳 使用构建画刷创建碰撞外壳使用 K-DOP 工具创建碰撞外壳使用球体简化碰撞创建碰...
  • pizi0475
  • pizi0475
  • 2013年10月22日 20:48
  • 2004

UE4碰撞规则详解(2016.7.12更新)

总结一下UE4里面的碰撞规则以及该如何配置碰撞条件: 1.每个实体Actor(有关什么是actor参考。。。。),包括static Mesh,sphere,capsule等带碰撞的组件,在detai...
  • u012999985
  • u012999985
  • 2016年05月01日 12:45
  • 14578

UE4的Collision与Physics

Collision和Physics都是各种Mesh的属性,和Unity3D很像,Collision和Physics是两个独立的Component,Collision仅仅掌管碰撞发生的检测和回调,而Ph...
  • zzk1995
  • zzk1995
  • 2015年10月10日 18:43
  • 5775

Unity3D ParticleSystem粒子系统面板参数的属性整理

原文地址:http://blog.csdn.net/asd237241291/article/details/8433534 创建"粒子系统物体"(点击菜单GameObject -> Creat...
  • u014361280
  • u014361280
  • 2018年01月12日 14:37
  • 64

Unity 物理系统--碰撞、触发

1、Box Collider:盒碰撞体,盒碰撞体是一个立方体外形的基本碰撞体,该碰撞体可以调整为不同大小的长方体,可用作门、墙、以及平台等 面板属性如下: Is Trigger:触发器,勾选该项,则...
  • Czhenya
  • Czhenya
  • 2017年08月15日 17:53
  • 469

Unreal 入门-Collision和Physics,碰撞检测

Collision仅仅掌管碰撞发生的检测和回调,而Physics仅仅模拟碰撞发生之后位置速度等等的变化。 Collision 可以设置persets,里边的标签都是不同的碰撞处理逻辑。Col...
  • shidya
  • shidya
  • 2017年03月22日 23:55
  • 322
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:碰撞描述类 collision
举报原因:
原因补充:

(最多只允许输入30个字)