2014-04-01 3 views
1

유니티는 쇠약 해지거나 개체가 다른 물체 안에 있거나, 두 손길이 닿지 않거나 두드러지지 않는다는 것을 알지만, 내가 알고 싶은 것은 좀 더 구체적입니다.Unity Sphere Collision

제 연구에서 나는 Physics.OverlappedSphere에 대해 알아 냈습니다.이 글에서 읽을 수있는 것은 구체 내의 충돌기가있는 모든 개체에 대한 정보를 제공한다는 것입니다. 물리학을 사용하는 두 개의 구체가 있다면 제가 알고 싶습니다 .OverlappedSphere,이 구체들이 만나고 교차하는 지점을 알 수 있습니까?

이렇게 할 수 없다면 누군가이 정보를 찾을 수있는 다른 방법을 제안 할 수 있습니까?

답변

2

당신이 충돌 클래스와 당신이 할 수 있어야 (contactpoints의 배열입니다) 그 안에 Collision.contacts ...

Taken from here를 사용하는 경우

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); 
    } 
} 

는의 크기를 점점 시도 contacts 배열을보고 마지막 점을 봅니다.

// 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); 
}