Auto-sync: 2026-04-26 12:02
This commit is contained in:
40
wiki/concepts/LargeWorldCoordinates.md
Normal file
40
wiki/concepts/LargeWorldCoordinates.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
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 内部使用相对坐标)
|
||||
Reference in New Issue
Block a user