Y UP 和 Z UP的概念

1.问题

图形学中y up和z up的概念也会让人困惑,这是什么?为什么要这样?

2.概念

所有的3D工具都包含一个具有X、Y和Z轴的三维环境。在这些工具中,X轴方向是相同的,即在前视图时从左到右的水平线。

然而, 不同的 3D 工具可能对Y轴和Z轴的朝向有不同的解释。一些3D 工具是 Y-Up的, 即 Y 轴时竖直方向的;而 其他的3D工具是 Z-Up的, 即 Z 轴时竖直方向的。

不同的3D工具关于竖直方向(up方向)是Y轴还是Z轴有不同的定义 ,而处理的比较好的3D工具是可以自动的进行y-up/z-up间的转换的,即支持y-up、z-up的模型导入,自动的针对性做不同的处理,让模型能够正常显示和使用。

Y UP 和 Z UP的概念_第1张图片

Y UP 和 Z UP的概念_第2张图片Y UP 和 Z UP的概念_第3张图片

由上图可知,如果是Z-UP的模型,导入到Y-UP的3D工具中,或者将Y-UP的模型导入到Z-UP的3D工具中,如果不作处理的话,那么模型显示将是错误的,

那么该怎么处理呢?大家仔细看看图,想一想~

y-up 转换为 z-up,可以对模型绕着X轴旋转π/2(弧度)来达到此操作,相当于应用如下的转换矩阵 (这里是行优先展示的):

[
1.0, 0.0,  0.0, 0.0,
0.0, 0.0, -1.0, 0.0,
0.0, 1.0,  0.0, 0.0,
0.0, 0.0,  0.0, 1.0
]

同理,由z-up转换为y-up,可以对模型绕着X轴旋转-π/2(弧度)来达到此操作;

3.总结

gltf格式标准是y up,存储还是按照x y z,只不过y的数据是模型的up方向的,解析gltf的业务方都是按照这个标准来解析,如果显示的平台是z up的,就需要对模型做转换,转换过程见上文。

4.参考

Y-Up or Z-Up

 

你可能感兴趣的:(图形学,y,up,z,up,转换,gltf,图形学)