ALCC2ProxyMesh: Proxy-Mesh-Actor
Proxy-Mesh-Actor, der echte Tiefe und Normalen der Szene für den Normalen-Modus ProxyMesh von LCC2 liefert.
| Modul | LCC4UnrealRuntime |
| Header | LCC2ProxyMesh.h |
| Basisklasse | AActor |
| Lizenzierung | Der Normalen-Modus ProxyMesh erfordert eine Lizenz, siehe Editionen und Lizenzierung |
#include "LCC2ProxyMesh.h"
Zur Funktionsweise des Proxy Mesh, den Anforderungen an die Whitebox-Erstellung, den Schritten zum Platzieren, den bewährten Vorgehensweisen und der Fehlerbehebung siehe Proxy Mesh. Diese Seite nennt nur die Schnittstellen.
Eigenschaften
| Eigenschaft | Typ | Zugriff | Beschreibung |
|---|---|---|---|
StaticMeshComponent | UStaticMeshComponent* | Nur lesen | Root-Static-Mesh-Component, die Tiefe der Szene und den GBuffer liefert. Die Whitebox in ihren Slot StaticMesh legen |
Die Component selbst ist BlueprintReadOnly und lässt sich nicht ersetzen, ihr StaticMesh kann aber gesetzt werden.
CustomDepth wird vom Actor automatisch verwaltet: Es wird aktiviert, sobald ein gültiges Mesh zugewiesen ist, und bleibt bei leerem Mesh deaktiviert, mit einer einzigen Warnung (höchstens eine Meldung pro Instanz). Näheres unter Verhalten.
Verwendung
#include "LCC2ProxyMesh.h"
#include "LCC2Component.h"
#include "Components/StaticMeshComponent.h"
void AMyLightingSetup::SetupProxyMesh(ALCC2Actor* LCC2Actor, UStaticMesh* ProxyAsset)
{
// an derselben Position wie das 3DGS platzieren; die Zuordnung beruht auf räumlicher Überlagerung, keine ausdrückliche Referenz nötig
ALCC2ProxyMesh* Proxy = GetWorld()->SpawnActor<ALCC2ProxyMesh>(
ALCC2ProxyMesh::StaticClass(),
LCC2Actor->GetActorLocation(),
LCC2Actor->GetActorRotation());
if (!Proxy)
{
return;
}
// das Mesh zuweisen, CustomDepth schaltet sich automatisch ein
Proxy->StaticMeshComponent->SetStaticMesh(ProxyAsset);
// auf den Normalen-Modus ProxyMesh umschalten
ULCC2Component* Comp = Cast<ULCC2Component>(LCC2Actor->GetLCCComponent());
if (Comp)
{
Comp->SetLightMode(ELightMode::Lit);
Comp->NormalMode = ELCC2NormalGenerationMode::ProxyMesh;
// ohne Lizenz fällt es unbemerkt auf Fixed zurück, das daher bestätigen
if (Comp->GetEffectiveNormalGenerationMode() != ELCC2NormalGenerationMode::ProxyMesh)
{
UE_LOG(LogTemp, Warning, TEXT("ProxyMesh requires a license"));
}
}
}
Zur Verwendung in Blueprint siehe Proxy Mesh - Verwendung in Blueprint.
Siehe auch
- Proxy Mesh: vollständige Beschreibung der Verwendung
- Normalen und Beleuchtung: Vergleich der vier Normalen-Modi
- ULCC2Component:
NormalModeund die weiteren Beleuchtungsparameter - Enums: Werte der Normalen-Modi