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:法线模式取值