有两种:
(1)z轴取负,然后渲染时背面消隐改为逆时针!
(2)相机用右手坐标

拿一本书来举例,把这本书直立起来,正面朝向你,然后约定,在左手坐标系下,相机在原点位置,朝正Z轴方向看,而右手坐标系则相反,相机在原点是朝负Z轴看的.

然后,在右手坐标系下,正面的Z值比背面大,
而现在要转换成左手坐标系,并且要看到相同的画面,就必须使正面的Z值比背面小,如果只是把Z值取负,则意味着,正面和背面的所有像素被对等的做了替换,即成了一个镜像的效果,这显然不对.应该把X也取负.
这样的话,正面左边的顶点就到了背面右边的位置,(这看上去,似乎正面被放到了后面,但因为左手坐标系下,Z值小的先被看到,所以仍将看到一个正立的书)

简而言之,右手坐标系是从最大的Z值往最小的Z值去看的,而左手坐标系相反,是从最小的Z往最大的Z值去看的,即看到的画面将是书的背面,且是镜像的,所以,要把顶点的X和Z值取负.

结论:
继上一篇文章之后,实践出真知,方案一方法不可行
只转换x轴,会出现uv贴图对错情况
所以综上又出了三种方案
1.使用右手坐标系

scene.useRightHandedSystem
右手坐标系

2.转换模型
在blender中把模型坐标翻转一下,即导出之前模型翻转坐标顶点
备注:
Blender、C4D、Maya软件导出的模型均为右手坐标系;除非是专门翻转的坐标顶点
Unity、U4D导出的模型均为左手坐标系
3、导入模型时将模型的顶点坐标翻转
此处无代码备注,因为还没找到好的方法解决。


陌然浅笑
25 声望3 粉丝

坚持自律