*   >> Чтение Образование Статьи >> science >> programming

Знакомство с Irrlicht 3D движок - Столкновение Detection

<р> Скачать демо и исходный код

<р> Возврат к РУКОВОДСТВО INDEX

<р> Обнаружение столкновения и ответ является жизненно важной частью почти любой 3D-игры , Он останавливает свой характер ходить сквозь стены или падающий сквозь землю. Удивительно, вы найдете более чем один 3D-движок требует, чтобы построить свою собственную систему обнаружения столкновений.

Вы можете получить несколько столкновений или пересечения тесты для простых форм, таких как сферы, оси выровнены коробки и линии, но это до вас, чтобы проверить на самом деле для столкновений, и соответствующим образом реагировать.

<Р> К счастью Irrlicht делает включают обнаружение столкновений для наиболее распространенных ситуациях можно было бы ожидать, чтобы найти в 3D-игры. В этом уроке мы будем строить с учебник местности и добавить обнаружение столкновения, которая останавливает перемещения камеры через сетку местности.

<Р> ApplicationManager.h /ApplicationManager.

cpp

<р> С местности, созданной с использованием код из учебника местности, мы затем создать селектор треугольник местности.

<р> треугольник селекторы обеспечить способ для объекта, как сетки местности, 3D модели или статического уровня, чтобы сообщить треугольники, которые существуют в удельная площадь. Треугольник селекторы широко используются в обнаружении столкновений.

<Р> Затем установите переключатель треугольник, который мы создали в качестве селектора треугольника для местности, позвонив в Funcion ISceneNode setTriangleSelector.

Это может показаться немного излишним, видя, как мы только что создали селектор из той же местности объекта мы теперь поставляем селектор обратно. Это сделано потому, что в то время как селектор треугольник мы создали один, который оптимизирован для работы с сетками местности, Irrlicht действительно дает вам возможность создать свой собственный селектор пользовательских треугольник, если вам нужно. В этом случае ваш собственный селектор пользовательских треугольник, и не один, созданный самим объектом местности, будет поставляться с функцией setTriangleSelector.


<Р> На данный момент местность имеет способ обнаружения, какие треугольники могут быть вовлечены в Столкновение, но это в одиночку не остановить перемещения камеры через него. Для этого мы создаем Collision Response Animator. Это делается путем вызова функции ISceneManager createCollisionResponseAnimator, поставляя как селектор треугольник и камеру.

<Р> По умолчанию функция createCollisionResponseAnimat

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.