Cree un mapa de ocupación en 3D.
Especifique 25 coordenadas aleatorias en el mapa de ocupación como ocupadas.
Crea una esfera de colisión y un objeto de cilindro de colisión.
Visualice el mapa de ocupación y la geometría de colisión en la misma figura.
Realice solo la verificación de colisión de fase amplia tanto para la esfera como para el cilindro estableciendo la propiedad CheckNarrowPhase
de un objeto occupancyMap3DCollisionOptions
en false
. Devuelve información de vóxeles y la distancia a los vóxeles ocupados más cercanos.
Verifique las distancias de vóxeles para las geometrías de colisión. Tenga en cuenta que, debido a que el cilindro colisiona con los vóxeles, los valores de distancia son NaN
. Debido a que la esfera no colisiona con ningún vóxel, los resultados de su distancia no son valores NaN
.
bpWitnessptsCylinder = 3×2
NaN NaN
NaN NaN
NaN NaN
Debido a que el cilindro colisiona con los vóxeles, los resultados de distancia contienen valores NaN
. Dado que la esfera no colisiona con los vóxeles, los resultados de distancia constan de valores que no son NaN
.
bpWitnessptsSphere = 3×2
3.0000 5.1000
-6.0000 -5.0000
-7.5000 -7.5000
Traza una línea entre la esfera y el vóxel más cercano usando sus puntos testigo.
Ahora realice una verificación de fase estrecha, utilizando un objeto occupancyMap3DCollisionOptions
con la propiedad CheckNarrowPhase
establecida en true
.
Devuelve la distancia del vóxel y las coordenadas del punto testigo de la esfera. La distancia y los puntos testigo son ligeramente más precisos esta vez, porque la fase estrecha usa la distancia entre la primitiva y el vóxel, mientras que la fase amplia anterior usa la distancia entre el cuadro delimitador alineado con el eje (AABB) del objeto de colisión y el vóxel.
npWitnesspts = 3×2
3.0000 5.2596
-6.0000 -4.5419
-7.5000 -7.5000
Visualice nuevamente el mapa de ocupación y trace la línea que muestra la distancia más corta entre el vóxel y la esfera. La línea entre los puntos testigo parece visualmente precisa después de realizar la verificación de fase estrecha.