主人公キャラが一部の壁にめり込んでしまいます。
特に斜め移動(↑と左右キー同時押し)時に発生しやすいです。

rigidbody.position = new Vector3
(
Mathf.Clamp (rigidbody.position.x, xMin, xMax),
Mathf.Clamp (rigidbody.position.y, yMin, yMax),
Mathf.Clamp (rigidbody.position.z, zMin, zMax)
);

以上のようにRigidbody.positionで強制的に正しい位置に戻したいのですが
・キーを押して移動している間 → 壁にめり込み続ける
・キーを離す → 正しい位置に戻る

という動きをし続けます

スクリプトは公式のspace shooterのものをアレンジしたのですが、より良い方法で
壁にめり込まないようにできれば教えて頂けませんか