查看: 2580|回复: 1
打印 上一主题 下一主题

[经验分享] Unity3D脚本中文教程2.7

[复制链接]

5552

主题

2

听众

8万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
11

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-5-16 14:34:04 |只看该作者 |倒序浏览
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 )
{

      //旋转这个物体使y轴面沿着表面法线的方向

       var contact = collision . contact [ 0 ];

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

       var pos = contact . point ;

       Instantiate ( explosionPrefab , pos , rot ) ;

       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将是所有附加碰撞器的变换。

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

nts    

3

主题

1

听众

743

积分

初级设计师

Rank: 3Rank: 3

纳金币
7
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2013-10-18 18:57:44 |只看该作者
学习了谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-23 19:27 , Processed in 0.123878 second(s), 27 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部