ALCC2ProxyMesh:代理網格 Actor
代理網格 Actor,為 LCC2 的 ProxyMesh 法線模式提供真實的場景深度與法線。
| 模塊 | LCC4UnrealRuntime |
| 頭文件 | LCC2ProxyMesh.h |
| 父類 | AActor |
| 授權 | ProxyMesh 法線模式需要授權,見版本與授權 |
#include "LCC2ProxyMesh.h"
代理網格的原理、白模製作要求、放置步驟、最佳實踐與故障排查見代理網格。本頁只列接口。
Properties
| 屬性 | 類型 | 訪問 | 說明 |
|---|---|---|---|
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)
{
// 與 3DGS 同位置擺放,配對靠空間重疊,無需顯式引用
ALCC2ProxyMesh* Proxy = GetWorld()->SpawnActor<ALCC2ProxyMesh>(
ALCC2ProxyMesh::StaticClass(),
LCC2Actor->GetActorLocation(),
LCC2Actor->GetActorRotation());
if (!Proxy)
{
return;
}
// 賦網格,CustomDepth 自動開啟
Proxy->StaticMeshComponent->SetStaticMesh(ProxyAsset);
// 切到 ProxyMesh 法線模式
ULCC2Component* Comp = Cast<ULCC2Component>(LCC2Actor->GetLCCComponent());
if (Comp)
{
Comp->SetLightMode(ELightMode::Lit);
Comp->NormalMode = ELCC2NormalGenerationMode::ProxyMesh;
// 未授權時會靜默回退為 Fixed,需要確認
if (Comp->GetEffectiveNormalGenerationMode() != ELCC2NormalGenerationMode::ProxyMesh)
{
UE_LOG(LogTemp, Warning, TEXT("ProxyMesh requires a license"));
}
}
}
藍圖用法見代理網格 - 藍圖用法。
See Also
- 代理網格:完整使用說明
- 法線與光照:四種法線模式對比
- ULCC2Component:
NormalMode與其他光照參數 - Enums:法線模式取值