Directrices básicas de optimización del motor de física de Unity

Los conceptos básicos del motor de física

rigidBody, cuerpo rígido, propiedades físicas básicas, con este componente, el objeto tiene propiedades físicas como la masa.

No hay inercia para cambiar la posición del objeto a través de la traducción Solo cuando se usa AddForce para rigidBody es el efecto físico real de la simulación.

Colisionador, la propiedad de colisión entre objetos, o las propiedades físicas de la superficie de los objetos. Hay muchos tipos de colisionadores, que deben seleccionarse de acuerdo con las necesidades.Generalmente, el colisionador de caja se usa como ejemplo para ilustrar. Collider proporciona a los objetos atributos como volumen de colisión, interruptor de activación de colisión y materiales físicos. Si el interruptor de activación está activado, el comportamiento de colisión se puede definir a través de un script.

Material físico, material físico, este es un material especial aplicado al colisionador, que define otras propiedades relacionadas con la superficie física del objeto, como fricción, rebote, etc. Si no se especifica ningún material físico, no se producirán interacciones de rebote después de colisiones entre objetos.

 

 

Acerca de las capas:

 La capa es algo diseñado para lidiar con el colisionador, el propósito es reducir la detección de colisiones innecesarias. Unity mantiene una matriz N*N, donde N es el número de capas. Al configurar esta matriz, puede especificar qué capas necesitan detectar colisiones. El valor predeterminado en la capa es detectar colisiones. Por ejemplo, cuando los objetos en el escenario se dividen en dos grupos A y B, cuando no es necesario calcular la colisión entre A y B, siempre que se cancele la casilla de verificación correspondiente a la posición de la matriz, la detección de colisión entre capas se puede evitar, reduciendo así los cálculos necesarios innecesarios.

Sobre la fuente de luz:

  1. use lo menos posible;
  2. Reduzca el rango de luz tanto como sea posible;
  3. No use fuentes de luz en la función de evento de la clase de actualización;
  4. La iluminación en el colisionador de malla consume muchos cálculos. Una buena manera es crear un colisionador primitivo para que el objeto simule la forma de la malla; si debe iluminar el colisionador de malla (Mesh), es mejor hacer que la malla sea convexa ;
  5. Asegúrese de especificar lo que la luz debe alcanzar y asegúrese de intentar especificar una máscara de capa en la función de luz. Tenga en cuenta que en la función de luz, lo que especifica no es una identificación de capa, sino una máscara de bits; por ejemplo, si desea iluminar la capa cuya identificación de capa es 10, debe especificar 1 << 10, no 10 ; Si desea iluminar todas las capas excepto la id 10, puede usar el símbolo ~.

Análisis cuantitativo:

La carga del sistema es aproximadamente proporcional al número de fuentes de luz y la distancia de la luz;

El rendimiento del colisionador primativo es más del doble que el del colisionador de malla;

Sobre 2d y 3d:

Si el juego que se va a crear es 2d o 2.5d, utilice una plantilla 2d. De lo contrario, el uso de plantillas 3D aumentará considerablemente la carga y es completamente innecesario.

Sobre cuerpos rígidos:

Los cuerpos rígidos son componentes que permiten la interacción física. Los objetos sin un componente de cuerpo rígido se denominan colisiones estáticas. Intentar mover objetos de colisión estática es muy ineficiente porque obliga al motor de física a recalcular todo el mundo de la física. Las pruebas han demostrado que la carga de mover un colisionador estático es casi 2 veces mayor que la carga de un cuerpo rígido en movimiento.

Ajuste el paso de tiempo:

El paso de tiempo se puede ajustar en la gestión del tiempo, lo que afectará directamente la frecuencia de actualización de FixedUpdate() y el motor de física. Con el ajuste adecuado, el paso de tiempo se puede aumentar sin afectar la experiencia para obtener una mejora en el rendimiento.

Supongo que te gusta

Origin blog.csdn.net/terminatorsong/article/details/124578956
Recomendado
Clasificación