Unity【LOD Group】- Sobre el uso y resumen de LOD en la optimización del rendimiento

LOD es un contenido que a menudo se considera en la optimización del rendimiento. Este artículo se divide en las siguientes partes para presentar el contenido relacionado de LOD:

contenido

1. ¿Qué es LOD?

2. Cómo usar LOD:

En tercer lugar, las desventajas de usar LOD:

En cuarto lugar, el uso de precauciones LOD:


1. ¿Qué es LOD?

La tecnología LOD (nivel de detalle) se denomina detalle multinivel. Su principio es que los objetos modelo muestran modelos con diferentes niveles de detalle en la escena según la distancia a la cámara. Cuando se desvanece, se muestra un modelo menos detallado, lo que ahorra sobrecarga de rendimiento.

2. Cómo usar LOD:

LOD se implementa en Unity a través del componente LOD Group. Para el modelo de contenedor que se muestra en la figura, hemos preparado cuatro mallas Mesh con diferentes niveles de detalle:

Cree un nuevo objeto vacío y agregue el componente Grupo LOD, que se divide en capas 3 de forma predeterminada.La última capa eliminada se refiere a la capa eliminada, que no representará ningún modelo:

Aquí necesitamos cuatro niveles e insertamos uno seleccionando un nivel y haciendo clic derecho/Insertar antes:

Use Agregar para agregar mallas de malla para que se representen en diferentes niveles:

Vista previa en la escena después de agregar:

Además de configurar el LOD en el panel de vista del Inspector, también se puede configurar en el código.La función SetLODs se proporciona en la clase LOD Group:

//
// 摘要:
//     Set the LODs for the LOD group. This will remove any existing LODs configured
//     on the LODGroup.
//
// 参数:
//   lods:
//     The LODs to use for this group.
[MethodImpl(MethodImplOptions.InternalCall)]
[FreeFunction("SetLODs_Binding", HasExplicitThis = true)]
public extern void SetLODs(LOD[] lods);

 Código de prueba:

using UnityEngine;

public class LODExample : MonoBehaviour
{
    private void Start()
    {
        LODGroup group = gameObject.AddComponent<LODGroup>();
        LOD[] lods = new LOD[4];
        for (int i = 0; i < lods.Length; i++)
        {
            lods[i] = new LOD(1 - (i + 1) * .2f, new Renderer[] { transform.GetChild(i).GetComponent<Renderer>() });
        }
        group.SetLODs(lods);
        group.RecalculateBounds();
    }
}

En tercer lugar, las desventajas de usar LOD :

Las desventajas también son obvias. La primera es aumentar la carga de trabajo de los colegas de modelado. Es necesario preparar modelos con diferentes niveles de detalle. Por supuesto, hay muchos complementos para la reducción automática de superficies, como el complemento Mesh Simplify. en la tienda de recursos, pero la reducción de la superficie del programa destruirá más o menos. La apariencia original del modelo, la situación ideal es que el modelador reduzca manualmente la superficie. Además, una gran cantidad de archivos modelo no solo aumentarán el tamaño del cuerpo del paquete , sino que también aumentarán considerablemente el consumo de memoria durante el tiempo de ejecución . Por lo tanto, hay una evaluación del espacio por tiempo para LOD. Por supuesto, si se usa LOD La tecnología al final depende de la situación específica Optimización del rendimiento No es más que una compensación entre CPU, GPU y memoria.

En cuarto lugar, el uso de precauciones LOD:

Solo el modelo con el mayor nivel de detalle participará en el horneado de iluminación estática.Como se muestra en la figura, cuando LOD0 en el objeto contenedor pasa a LOD1, se volverá negro, porque LOD1 no participa en el horneado de iluminación estática.

Si queremos que un modelo con un nivel de detalle más bajo se vea normal, debemos colocar un grupo de sonda de luz o una sonda de luz a su alrededor para obtener iluminación indirecta durante el proceso de horneado.

Para obtener más información, consulte la documentación oficial: https://docs.unity.cn/2017.2/Documentation/Manual/LODForBakedGI.html

  Bienvenidos a la cuenta pública "Programador Salvaje Contemporáneo"

Supongo que te gusta

Origin blog.csdn.net/qq_42139931/article/details/123680854
Recomendado
Clasificación