<р> Возврат к РУКОВОДСТВО INDEX
<р> Обнаружение столкновения и ответ является жизненно важной частью почти любой 3D-игры , Он останавливает свой характер ходить сквозь стены или падающий сквозь землю. Удивительно, вы найдете более чем один 3D-движок требует, чтобы построить свою собственную систему обнаружения столкновений.
Вы можете получить несколько столкновений или пересечения тесты для простых форм, таких как сферы, оси выровнены коробки и линии, но это до вас, чтобы проверить на самом деле для столкновений, и соответствующим образом реагировать.
<Р> К счастью Irrlicht делает включают обнаружение столкновений для наиболее распространенных ситуациях можно было бы ожидать, чтобы найти в 3D-игры. В этом уроке мы будем строить с учебник местности и добавить обнаружение столкновения, которая останавливает перемещения камеры через сетку местности.
<Р> ApplicationManager.h /ApplicationManager.
cpp
<р> С местности, созданной с использованием код из учебника местности, мы затем создать селектор треугольник местности.
<р> треугольник селекторы обеспечить способ для объекта, как сетки местности, 3D модели или статического уровня, чтобы сообщить треугольники, которые существуют в удельная площадь. Треугольник селекторы широко используются в обнаружении столкновений.
<Р> Затем установите переключатель треугольник, который мы создали в качестве селектора треугольника для местности, позвонив в Funcion ISceneNode setTriangleSelector.
Это может показаться немного излишним, видя, как мы только что создали селектор из той же местности объекта мы теперь поставляем селектор обратно. Это сделано потому, что в то время как селектор треугольник мы создали один, который оптимизирован для работы с сетками местности, Irrlicht действительно дает вам возможность создать свой собственный селектор пользовательских треугольник, если вам нужно. В этом случае ваш собственный селектор пользовательских треугольник, и не один, созданный самим объектом местности, будет поставляться с функцией setTriangleSelector.
<Р> На данный момент местность имеет способ обнаружения, какие треугольники могут быть вовлечены в Столкновение, но это в одиночку не остановить перемещения камеры через него. Для этого мы создаем Collision Response Animator. Это делается путем вызова функции ISceneManager createCollisionResponseAnimator, поставляя как селектор треугольник и камеру.
<Р> По умолчанию функция createCollisionResponseAnimat
NET - C # - Использовани…