游戏开发论坛

 找回密码
 立即注册
搜索
查看: 16685|回复: 3

怎么将右手坐标系转换成左手坐标系??

[复制链接]

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
发表于 2012-10-27 17:22:00 | 显示全部楼层 |阅读模式
直接把顶点Z取负就行么???

11

主题

95

帖子

658

积分

高级会员

Rank: 4

积分
658
发表于 2012-10-27 20:27:00 | 显示全部楼层

Re:怎么将右手坐标系转换成左手坐标系??

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

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
 楼主| 发表于 2012-10-27 21:06:00 | 显示全部楼层

Re:怎么将右手坐标系转换成左手坐标系??

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

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

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

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
 楼主| 发表于 2012-10-27 21:07:00 | 显示全部楼层

Re: Re:怎么将右手坐标系转换成左手坐标系??

秋风扫走廊: Re:怎么将右手坐标系转换成左手坐标系??

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


你说的没错,我一开始就是仅Z值取负,到了背面消除的时候才出了问题.后来把X值也取负,就正常了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-27 13:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表