Guía de desarrollo de cambio de modo de renderizado Mip
Mip y Non-Mip son dos rutas técnicas para reconstruir y renderizar 3DGS. El efecto de renderizado es mejor cuando la reconstrucción y el renderizado usan la misma ruta técnica. El LCC Unity SDK admite el cambio dinámico del modo de renderizado en tiempo de ejecución; los pasos completos se describen a continuación.
Paso 1: Crear la escena y los GameObjects
Crea una escena completamente nueva en Unity. Unity crea Main Camera y Directional Light por defecto.
Configurar Main Camera
Selecciona Main Camera en la ventana Jerarquía y establece sus propiedades en la ventana Inspector como se muestra a continuación.

Establecer las propiedades de Main Camera
Crear LCCManager
Haz clic con el botón derecho en un área vacía de la ventana Jerarquía, selecciona Create Empty en el menú emergente para crear un GameObject vacío, nómbralo LCCManager, normaliza su Transform y añádele el script LCCManager mediante Agregar componente.

Crear el GameObject LCCManager y añadir el script LCCManager
Crear LCCRenderer
Haz clic con el botón derecho en un área vacía de la ventana Jerarquía, selecciona Create Empty para crear un GameObject vacío, nómbralo LCCRenderer y establece su Transform como Rotation.x = -90 y Scale.x = -1.

Crear LCCRenderer y establecer su Transform (Rotation.x = -90, Scale.x = -1)
Nota:
Los ajustes de Transform del GameObject LCCRenderer (Rotation.x = -90, Scale.x = -1) lo alinean con el sistema de coordenadas de los datos LCC. Para más detalles sobre la alineación del sistema de coordenadas, consulta "Sistema de coordenadas de los datos LCC" en Introducción al SDK de Unity.
Crear el botón de cambio
Haz clic con el botón derecho en un área vacía de la ventana Jerarquía, selecciona UI → Button en el menú emergente para crear un Button llamado BtnMipSwitch.
Paso 2: Escribir un script para cambiar el modo de renderizado
Crea un nuevo script C# llamado MipSwitch.cs con el siguiente código:
using LCCCore;
using UnityEngine;
using UnityEngine.UI;
public class MipSwitch : MonoBehaviour
{
public LCCManager m_manager;
public string m_FilePath;
public Button m_BtnMipSwitch;
private LCCCore.Renderer m_renderer;
private MipMode m_mipMode;
void Start()
{
m_manager.SetPlatformType(PlatformType.PC);
Debug.Log("Iniciado ");
// Es necesario entrar en el modo Edit
m_manager.SetEditorMode(true);
m_mipMode = MipMode.Mip;
m_BtnMipSwitch.onClick.AddListener(onMipSwitch);
m_renderer = m_manager.GetRender(this.transform);
m_renderer.Load(m_FilePath, onProgress, onComplete);
}
private void onProgress(float _progress)
{
Debug.Log($"[LCCRenderer] progreso de carga del archivo: {_progress:P1}");
}
private void onComplete()
{
Debug.Log($"[LCCRenderer] archivo cargado");
}
private void onMipSwitch()
{
if (m_mipMode == MipMode.Mip)
{
m_mipMode = MipMode.Non_Mip;
}
else
{
m_mipMode = MipMode.Mip;
}
m_manager.SetMipMode(m_mipMode);
}
}
Nota:
Este ejemplo se inicializa en
MipMode.MipenStarty vincula el evento de clic de BtnMipSwitch; cada clic cambia entreMipyNon_Mipy surte efecto inmediatamente medianteSetMipMode().
Paso 3: Adjuntar el script y establecer propiedades
- Adjunta el script
MipSwitch.csal GameObject LCCManager en la ventana Jerarquía. - En la ventana Inspector, arrastra el GameObject LCCManager a la propiedad Manager del script.
- Rellena la ruta del archivo LCC en la propiedad File Path del script.
- Arrastra el botón BtnMipSwitch a la propiedad Btn Mip Switch del script.

Adjuntar el script MipSwitch y establecer las propiedades Manager, File Path y BtnMipSwitch
Paso 4: Ejecutar
Haz clic en el botón Play de la ventana Game y, a continuación, haz clic en el botón BtnMipSwitch para ver el renderizado de la escena cambiar entre los modos Mip y Non-Mip en tiempo real.

Al hacer clic en el botón se cambia el modo de renderizado Mip / Non-Mip en tiempo real tras la ejecución
Recomendaciones de selección
- El efecto de renderizado es mejor solo cuando la reconstrucción de 3DGS y el renderizado de 3DGS usan la misma ruta técnica.
- Después de cambiar al modo Non-Mip, el detalle del renderizado suele ser mejor, pero el rendimiento del renderizado se ve afectado en cierta medida.
API relacionadas con Mip
El LCC Unity SDK proporciona las siguientes API relacionadas con el cambio de modo de renderizado Mip a través de LCCManager.
SetMipMode
// Valor de retorno: void
public void SetMipMode(MipMode _mipMode)
Cambia el modo de renderizado Mip. El modo Mip usa muestreo de mipmap (por defecto), y el modo Non_Mip desactiva el mipmap.
| Parámetro | Tipo | Descripción |
|---|---|---|
_mipMode | MipMode | Modo de destino, ya sea Mip o Non_Mip |
Ejemplo de uso:
m_manager.SetMipMode(MipMode.Non_Mip); // desactiva el mipmap
m_manager.SetMipMode(MipMode.Mip); // restaura el mipmap
Notas:
- Si el modo actual es el mismo que el modo pasado, devuelve directamente sin coste repetido.
El enum MipMode se define de la siguiente manera:
public enum MipMode { Mip, Non_Mip }
SetEditorMode
// Valor de retorno: void
public void SetEditorMode(bool _isEditor)
Activa o desactiva el modo editor. Este ejemplo llama a SetEditorMode(true) antes de cargar los datos.
| Parámetro | Tipo | Descripción |
|---|---|---|
_isEditor | bool | Si se habilita el modo editor |
Ejemplo de uso:
m_manager.SetEditorMode(true);
Notas:
- Solo compatible con plataformas PC / Mac.