Comment empêcher les collisionneurs de passer l'un par l'autre?

Je vais avoir du mal à garder les objets de jeu à l'intérieur d'un espace clos. Quand ils atteignent le bord, il y a quelques poussoir momentané de retour, mais ensuite ils iront droit dans le mur.

Je suis l'aide d'une Boîte de Collider sur le joueur, et un Mesh Collider pour le niveau du mur. Je vais avoir des problèmes avec à la fois un Personnage Joueur (un vaisseau spatial) que le mouvement est contrôlé par le joueur. Et avec des projectiles, qui sont le feu et oublier déplace à une vitesse constante.

C'est mon mouvement de code pour mon lecteur. Il est en cours d'exécution dans le FixedUpdate() fonction.

//Movement
    haxis = Input.GetAxis("Horizontal") * speed;
    vaxis = Input.GetAxis("Vertical") * speed;

    moveVector.x = haxis;
    moveVector.z = vaxis;

    if(moveVector.magnitude > 1)
    {
        moveVector.Normalize();
    }

    rigidbody.MovePosition(transform.position + moveVector * speed);

Avec les balles, ils sont de vitesse et le moteur calcule leur moviements. Ils sont à l'aide de la Boîte de Collider et il est défini comme un Déclencheur de sorte qu'ils n'ont pas de physique. Mais j'utilise OnTriggerEnter pour les détruire.

//Projectiles without physics collisiions
function OnTriggerEnter (other : Collider) {
    Destroy(gameObject);
}

Certains, mais pas tous, les balles seront détruits lors de la frappe de l'mesh collider mur. Le lecteur est parfois frappé et s'arrêter, mais peuvent généralement passer à travers. Comment puis-je faire les collisions avec le mesh collider de travail à chaque fois?

source d'informationauteur Chris