# Aipcg：用数据核对纠正中心与轴心的混淆

**交付类型：已有工程分析、坐标公式、离线检查与结果摘要。**

Aipcg 将模型产生的场景描述交给 Python 规划与数据导出，再进入 Unreal 的资产和 PCG 流程。这个案例关注一个很容易被误判的问题：图片里的建筑中心与引擎里的模型轴心，不能直接当成同一个点。

![开发与运行双层架构图](<../图表/PCG-02_架构.svg>)

## 问题是怎样发现的

初始核对把 `PixelX / PixelY` 转换为世界坐标，再直接与 CSV 的 `WorldX / WorldY` 比较，最大差值约 **94.63 cm**。这个差值提示核对方法需要调查，并不能直接证明引擎代码放错了建筑。

沿代码与资产包围盒检查后发现：图片坐标表示占用中心，World 位置表示模型轴心；资产的局部 `BoundsCenter` 可以非零，旋转与缩放会改变两者之间的偏移。

## 采用正确的几何关系

设图片换算后的世界中心为 `C`，资产局部包围盒中心为 `c=(cx, cy)`，缩放为 `s`，旋转为 `θ`：

```text
R(θ)c = (cx cosθ − cy sinθ, cx sinθ + cy cosθ)
WorldPivotXY = C − s × R(θ)c
```

| 核对方法 | 结果 | 解释 |
|---|---|---|
| 直接把占用中心当轴心 | 最大差值约 94.63 cm | 初始假设有误 |
| 加入局部中心、旋转和缩放 | 23 条记录最大误差 0.0 cm | 数据满足正确换算 |
| plan 与 CSV 比较 | 数值误差 0.0，资产引用一致 | 该批数据交接一致 |

容差为 `0.0001 cm`。结果见[本次离线核对](<../evidence/aipcg.json>)，完整推导见 [PCG-02](<../sources.html#ref-76266ac7131cad>)。

## 可以迁移到其他 TA 任务的方法

先把自然语言需求落实到字段、单位和完成条件，再追踪模型、算法、导出与引擎的交接。发现差值时检查假设和数据含义，逐层定位原因，避免仅凭现象反复改提示词。

结构、几何、资产引用、引擎执行、地图保存、视觉效果需要各自的证据。确定性脚本能核对几何关系，但画面是否符合目标仍需真实引擎和视觉评审。

## 本次贡献与边界

本作品围绕已有 Aipcg 工程整理调用图与案例，并借助 Agent 执行离线核对，纠正核对方法中的错误假设。本次没有宣称修复 UE 放置代码，也没有重新生成 UE 场景。

历史地图报告与被核对 CSV 来自不同运行标识，不能凭相同建筑数量就认定是同一张地图。公开站点保留必要数值和方法；本地源码、原始工程数据及第三方资产不随站点上传，见[Aipcg 来源记录](<../sources.html#aipcg>)。

[项目阅读路线](<../sources.html#ref-ef9a8ed3d34ed7>) · [18 页案例演示](<../演示/PCG-02.html>) · [工程任务模板](<../模板/Aipcg项目导读.md>)
