Files
nexus/wiki/concepts/LargeWorldCoordinates.md
2026-04-26 12:02:53 +08:00

41 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 CoordinatesLWCUE5 双精度坐标系统,通过在引擎层面使用 double64 位浮点)替代 float32 位浮点)存储世界位置坐标,解决超大世界(>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
- 检查第三方 DDCDerived Data Cache资产是否正确配置 LWC
- 某些旧资产导入流程可能未处理双精度坐标
## Relationship to World Partition
LWC 与 World Partition 协同World Partition 管理大世界的分区流送LWC 解决大世界的坐标精度问题,两者共同支撑 UE5 开放世界技术栈。
## Related
- [[UnrealWorldBuilder]] — LWC 配置与审计专家
- [[WorldPartition]] — LWC 的配套分区管理框架
- [[Nanite]] — Nanite 虚拟几何体在大世界中的使用不受 LWC 影响Nanite 内部使用相对坐标)