*   >> Lectura Educación Artículos >> science >> programación

Familiarización con el motor Irrlicht 3D - Colisión Detection

descargar la demo y el código fuente

VOLVER A EL INDICE TUTORIAL

detección y respuesta de colisión es una parte vital de casi cualquier juego en 3D . Detiene tu personaje caminando a través de las paredes o caer a través del suelo. Sorprendentemente, se encuentra más de un motor 3D que requiere para construir su propio sistema de detección de colisiones.

Usted puede obtener algunas pruebas de colisión o de intersección de formas simples como esferas, eje alineado cajas y la línea, pero depende de usted para poner a prueba en realidad para las colisiones, y reaccionar en consecuencia.

Afortunadamente Irrlicht hace incluir la detección de colisión para la mayoría de las situaciones comunes que usted esperaría encontrar en un juego 3D. En este tutorial vamos a construir fuera el tutorial terreno y añadir la detección de colisiones que se detiene la cámara se mueva a través de la malla del terreno.

ApplicationManager.

h /ApplicationManager.cpp

Con el terreno creado, utilizando el código de la clase particular del terreno, que a continuación, crear un selector triángulo de terreno.

selectores

Triángulo proporcionan una forma para un objeto, como una malla de terreno, un modelo 3D o un nivel estático, para informar de los triángulos que existen en un área específica. Selectores Triángulo son ampliamente utilizados en la detección de colisiones.


A continuación, establecemos el selector de triángulo que hemos creado como selector triángulo para el terreno llamando a la funcion ISceneNode setTriangleSelector. Esto puede parecer un poco redundante, ya que lo que acabamos de crear el selector desde el mismo objeto del terreno que ahora suministra el selector de nuevo a. Esto se hace porque mientras el selector de triángulo que hemos creado es uno que está optimizado para trabajar con mallas de terreno, Irrlicht te da la oportunidad de crear su propio selector de encargo del triángulo si es necesario.

En ese caso, su propio selector de encargo del triángulo, y no uno creado por el objeto del terreno en sí, se suministran a la función setTriangleSelector.

En este punto el terreno tiene una manera de detectar que los triángulos pueden estar involucrados en un colisión, pero esto por sí solo no se detendrá la cámara se mueva a través de él. Para eso creamos un animador Respuesta colisión.

Esto se hace llamando a la función ISceneManager createCollisionResponseAnimator, suministrando tanto el sel

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.