27. CLASE MESHCOLLIDER




La clase MeshCollider, como vemos, hereda de la recién estudiada Collider, razón por la que hereda todas sus variables, funciones y mensajes que envía, amén de hacer lo propio con las clases Component y Object.

Una MeshCollider (o colisionador de malla), tal como dijimos no hace mucho, es meramente la malla de un gameobject que convertimos en collider, por norma general porque nuestro gameobject tiene una forma en la que difícilmente se puede encajar una malla primitiva.

Como ventajas de usar esta opción, obviamente que habrá una mayor coherencia entre la apariencia del gameobject y su superficie de colisión. Como mayor desventaja, el aumento de consumo para que nuestro ordenador haga los pertinentes cálculos para cada plano de nuestra malla.


VARIABLES:

sharedMesh:

var sharedMesh : Mesh


Hace referencia al objeto malla que nuestro gameobject está usando como detector de colisiones, si lo hay. Nos permite consultar sus características y/o asignar uno. La variable es de tipo mesh (malla) y la estudiaremos más adelante.


convex:

var convex : boolean


Usa un collider convexo para la malla, esto es, con esta variable establecida en true nuestro collider de malla automáticamente pasa a ser convexo y todas las entradas y agujeros que pudiera tener nuestra malla desaparecen, permitiendo una detección de colisiones mucho más completa. Las mallas convexas pueden colisionar con otros colliders convexos y no convexos. Por lo tanto los colliders de malla convexos son apropiados para rigidbodies en el caso de que necesitáramos colliders con formas más detalladas que los colliders primitivos.


transform.collider.convex = true;



smoothSphereCollisions:

var smoothSphereCollisions : boolean


Usa normales interpolados para colisiones de esferas en lugar de normales planos poligonales. Esto suaviza los baches para rodamientos de esferas sobre superficies suaves.

POSTED BY UnityScripts
DISCUSSION 0 Comments

Leave a Reply

Con la tecnología de Blogger.