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的模型导入,自动的针对性做不同的处理,让模型能够正常显示和使用。

由上图可知,如果是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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值