跳到主要内容

坐标、原点、比例与变换

空间约定相当于资源接口的参数定义。同一个模型在 Blender 里看起来正常,接入后却倒下、悬空或大一百倍,常常是约定没有对齐。

局部与世界坐标​

网格顶点通常位于对象局部空间。对象的位置、旋转和缩放把它们放到父级或世界空间。可以简化写成:

世界顶点 = 父级世界矩阵 × 物体局部矩阵 × 网格局部顶点

矩阵相乘一般不能交换顺序。“先旋转再沿世界 X 轴移动”与“沿局部 X 轴移动后再旋转”可能得到不同结果。在坐标实验中观察这层关系。

原点决定旋转围绕哪里发生​

Origin/原点是对象变换的参考位置,不一定等于几何中心。炮塔底座适合以地面中心定位;炮头适合围绕转轴旋转;门的原点适合放在铰链处。

把原点移到模型底部,与把整个物体移到世界原点,是两种操作。要求 AI 提供原点在局部/世界空间的数值,以及模型包围盒最低点。

Apply Transform 究竟做什么​

Object → Apply → Rotation & Scale 会把选定变换的效果落实到对象数据等相关表示中,让对应的物体变换回到基准值,同时尽量保持当前外观。操作会影响依赖这些数据的修改器、子级或动画解释,应在绑定与动画前规划。

不要把“所有物体无条件 Apply All”作为万能修复。对已经绑定的骨架、带有父子层级或动画的模型,先检查再操作;教学案例由生成脚本统一约定比例和层级。

三条独立的约定​

约定本指南的处理检查方式
单位与大小案例按 1 Blender 单位约定为 1 米制作查看真实尺寸与包围盒
上轴Blender 使用 Z-up;glTF 采用 Y-up让导出器转换,在目标引擎验收
角色前方在制作说明中明确本地朝向用前向标记与旋转测试确认

坐标变换不能只比较 Euler 面板上的三个角度。导出器可能在节点层级和矩阵中表达转换;导入后应检查最终世界朝向。

导出前的空间验收​

  1. 用已知尺寸物体与模型对比。
  2. 查看底部是否位于地面约定高度。
  3. 单独旋转可动部件,确认转轴。
  4. 在空场景导入导出文件,检查尺寸、朝向和父子关系。
  5. 在 Cocos 中再做同样检查;需要适配前向时,可以增加明确命名的外层节点。
请报告模型尺寸、原点、局部前向、上轴和父级变换。
解释导出后如何转换到 Cocos 的空间。
不要靠尝试多个 90° 旋转掩盖原因,请给出一个可复现的约定。

官方阅读:变换、原点。