Unity 3D 物体碰撞后实现连接

/*
当进入碰撞 by fm
[Collision:描述碰撞]
[Collision.contacts 接触点列表;]
*/
function OnCollisionEnter(collision : Collision){
    if(!this.hingeJoint){
        var hingeJ : HingeJoint =new HingeJoint() ;//铰链关节
        if(collision.rigidbody){//如果碰撞体是刚体
            this.gameObject.AddComponent(typeof(hingeJ));//加铰链关节
            this.hingeJoint.connectedBody=collision.rigidbody;//设置铰链关节的另一个连接的刚体
        }
    }
    for (var contact : ContactPoint in collision.contacts) {
        print(contact.thisCollider.name + " hit " + contact.otherCollider.name);
        
        Debug.DrawRay(contact.point, contact.normal, Color.red,1);//可视化接触点
    }
    
    if (collision.relativeVelocity.magnitude > 2){// 如果碰撞体有较大冲击就播放声音
        audio.Play();
    }
}

 

posted @ 2013-04-07 19:24  码写人生  阅读(1205)  评论(0编辑  收藏  举报