ALCC2ProxyMesh: Actor de malla proxy
Actor de malla proxy que aporta profundidad y normales reales de la escena para el modo de normales ProxyMesh de LCC2.
| Módulo | LCC4UnrealRuntime |
| Cabecera | LCC2ProxyMesh.h |
| Clase padre | AActor |
| Licencias | El modo de normales ProxyMesh requiere una licencia; consultar Ediciones y licencias |
#include "LCC2ProxyMesh.h"
Para saber cómo funciona la malla proxy, los requisitos de creación del whitebox, los pasos de colocación, las buenas prácticas y la resolución de problemas, consultar Proxy Mesh. Esta página solo enumera las interfaces.
Propiedades
| Propiedad | Tipo | Acceso | Descripción |
|---|---|---|---|
StaticMeshComponent | UStaticMeshComponent* | Solo lectura | Componente raíz de malla estática que aporta la profundidad de la escena y el GBuffer. Colocar el whitebox en su ranura StaticMesh |
El propio componente es BlueprintReadOnly y no se puede sustituir, pero sí se puede establecer su StaticMesh.
CustomDepth lo gestiona el Actor automáticamente: se activa en cuanto se asigna una malla válida, y permanece desactivado con una única advertencia cuando la malla está vacía (como máximo un mensaje por instancia). Consultar Comportamiento para más detalles.
Uso
#include "LCC2ProxyMesh.h"
#include "LCC2Component.h"
#include "Components/StaticMeshComponent.h"
void AMyLightingSetup::SetupProxyMesh(ALCC2Actor* LCC2Actor, UStaticMesh* ProxyAsset)
{
// colocarlo en la misma posición que el 3DGS; el emparejamiento depende del solapamiento espacial, no se necesita referencia explícita
ALCC2ProxyMesh* Proxy = GetWorld()->SpawnActor<ALCC2ProxyMesh>(
ALCC2ProxyMesh::StaticClass(),
LCC2Actor->GetActorLocation(),
LCC2Actor->GetActorRotation());
if (!Proxy)
{
return;
}
// asignar la malla, CustomDepth se activa automáticamente
Proxy->StaticMeshComponent->SetStaticMesh(ProxyAsset);
// cambiar al modo de normales ProxyMesh
ULCC2Component* Comp = Cast<ULCC2Component>(LCC2Actor->GetLCCComponent());
if (Comp)
{
Comp->SetLightMode(ELightMode::Lit);
Comp->NormalMode = ELCC2NormalGenerationMode::ProxyMesh;
// sin licencia recurre a Fixed de forma silenciosa, así que conviene confirmarlo
if (Comp->GetEffectiveNormalGenerationMode() != ELCC2NormalGenerationMode::ProxyMesh)
{
UE_LOG(LogTemp, Warning, TEXT("ProxyMesh requires a license"));
}
}
}
Para el uso en Blueprint, consultar Proxy Mesh - Uso en Blueprint.
Véase también
- Proxy Mesh: descripción completa de uso
- Normales e iluminación: comparación de los cuatro modos de normales
- ULCC2Component:
NormalModey el resto de los parámetros de iluminación - Enumeraciones: valores del modo de normales