41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
---
|
||
title: "Large World Coordinates"
|
||
type: concept
|
||
tags: ["unreal-engine", "coordinate-system", "precision", "ue5", "open-world"]
|
||
sources: ["unreal-world-builder"]
|
||
last_updated: 2026-04-26
|
||
---
|
||
|
||
## Definition
|
||
Large World Coordinates(LWC),UE5 双精度坐标系统,通过在引擎层面使用 double(64 位浮点)替代 float(32 位浮点)存储世界位置坐标,解决超大世界(>2km)远距离处的浮点精度误差问题。
|
||
|
||
## The Precision Problem
|
||
- 单精度浮点(float)在距离原点约 20km 处开始出现可见精度误差
|
||
- 误差表现:抖动(Jitter)、接缝(Seam)、几何体重影(Ghosting)
|
||
- 开放世界项目(4km² ~ 64km²)极易触碰到此阈值
|
||
|
||
## When LWC is Required
|
||
- **任何轴超过 2km 的世界必须启用 LWC**
|
||
- 测试方法:在距离原点 100km 处生成玩家,验证无视觉或物理瑕疵
|
||
|
||
## LWC Compatibility Requirements
|
||
### Shader/Material
|
||
- 替换所有直接 world position 采样为 `LWCToFloat()` 函数
|
||
- 否则可能导致远处的材质出现视觉错误
|
||
|
||
### Gameplay Code
|
||
- 世界位置使用 `FVector3d`(双精度)而非 `FVector`(单精度)
|
||
- 特别是在处理坐标计算、Actor 放置、寻路等逻辑时
|
||
|
||
### Asset Pipeline
|
||
- 检查第三方 DDC(Derived Data Cache)资产是否正确配置 LWC
|
||
- 某些旧资产导入流程可能未处理双精度坐标
|
||
|
||
## Relationship to World Partition
|
||
LWC 与 World Partition 协同:World Partition 管理大世界的分区流送,LWC 解决大世界的坐标精度问题,两者共同支撑 UE5 开放世界技术栈。
|
||
|
||
## Related
|
||
- [[UnrealWorldBuilder]] — LWC 配置与审计专家
|
||
- [[WorldPartition]] — LWC 的配套分区管理框架
|
||
- [[Nanite]] — Nanite 虚拟几何体在大世界中的使用不受 LWC 影响(Nanite 内部使用相对坐标)
|