ALCC2ProxyMesh: Actor прокси-меша
Actor прокси-меша, предоставляющий реальную глубину и нормали сцены для режима нормалей ProxyMesh в LCC2.
| Модуль | LCC4UnrealRuntime |
| Заголовочный файл | LCC2ProxyMesh.h |
| Родительский класс | AActor |
| Лицензия | Режим нормалей ProxyMesh требует лицензии, см. Редакции и лицензирование |
#include "LCC2ProxyMesh.h"
Принцип работы прокси-меша, требования к изготовлению белой заготовки, порядок размещения, рекомендации и устранение неполадок см. в Прокси-меше. На этой странице приведены только интерфейсы.
Свойства
| Свойство | Тип | Доступ | Описание |
|---|---|---|---|
StaticMeshComponent | UStaticMeshComponent* | Только чтение | Корневой компонент статического меша, дающий глубину сцены и GBuffer. Помести белую заготовку в его слот StaticMesh |
Сам компонент помечен BlueprintReadOnly и не может быть заменён, но его StaticMesh задать можно.
CustomDepth управляется Actor автоматически: при назначении корректного меша он включается, а если меш пуст, он не включается и однократно выводится предупреждение (не более одного раза на экземпляр). Подробнее см. Поведение.
Применение
#include "LCC2ProxyMesh.h"
#include "LCC2Component.h"
#include "Components/StaticMeshComponent.h"
void AMyLightingSetup::SetupProxyMesh(ALCC2Actor* LCC2Actor, UStaticMesh* ProxyAsset)
{
// Place it at the same position as the 3DGS; pairing relies on spatial overlap, no explicit reference needed
ALCC2ProxyMesh* Proxy = GetWorld()->SpawnActor<ALCC2ProxyMesh>(
ALCC2ProxyMesh::StaticClass(),
LCC2Actor->GetActorLocation(),
LCC2Actor->GetActorRotation());
if (!Proxy)
{
return;
}
// Assign the mesh, CustomDepth is enabled automatically
Proxy->StaticMeshComponent->SetStaticMesh(ProxyAsset);
// Switch to the ProxyMesh normal mode
ULCC2Component* Comp = Cast<ULCC2Component>(LCC2Actor->GetLCCComponent());
if (Comp)
{
Comp->SetLightMode(ELightMode::Lit);
Comp->NormalMode = ELCC2NormalGenerationMode::ProxyMesh;
// Without a license it silently falls back to Fixed, so confirm it
if (Comp->GetEffectiveNormalGenerationMode() != ELCC2NormalGenerationMode::ProxyMesh)
{
UE_LOG(LogTemp, Warning, TEXT("ProxyMesh requires a license"));
}
}
}
Применение в Blueprint см. в Прокси-меше — использование в Blueprint.
Смотрите также
- Прокси-меш: полное описание применения
- Нормали и освещение: сравнение четырёх режимов нормалей
- ULCC2Component:
NormalModeи другие параметры освещения - Enums: значения режимов нормалей