繁体   English   中英

Unity球形碰撞

[英]Unity Sphere Collision

我知道Unity有很多方法可以确定一个对象是否在另一个对象内,它们是否在触摸等,但是我想知道的是更具体的内容。

在我的研究中,我发现了有关Physics.OverlappedSphere的知识 ,据我所读,它为您提供了球体中具有碰撞器的每个对象的信息。 我想知道的是,如果我有两个使用Physics.OverlappedSphere的球体,我能找出这些球体在哪个点相遇并相交?

如果无法做到这一点,有人可以建议我以其他方式找到此信息吗?

如果您使用Collision类以及其中的Collision.contacts(是接触点数组),则应该能够...

从这里取

function OnCollisionStay(collision : Collision) {
    for (var contact : ContactPoint in collision.contacts) {
        print(contact.thisCollider.name + " hit " + contact.otherCollider.name);
        // Visualize the contact point
        Debug.DrawRay(contact.point, contact.normal, Color.white);
    }
}

尝试获取联系人数组的大小并查看最后一点。

// Print how many points are colliding this transform 
// And print the first point that is colliding.
function OnCollisionEnter(other : Collision) {
    print("Points colliding: " + other.contacts.Length);
    print("First point that collided: " + other.contacts[0].point);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM