3D和2D游戏开发技术里的坐标系总结

来源:互联网 发布:流星网络电视 卡 编辑:程序博客网 时间:2024/05/01 17:32

from:http://www.liketocode.com/coding/208.htm


最近在做unity3d开发,坐标系的概念把自己搞得好迷糊,发现理解好坐标系的东西的确对一个新手来说是必经之路,而且是基础中的重点。故在此总结下在Unity3D开发中,以及在其他游戏开发中的一些坐标系的概念。也在此分享下,一起进步。

第一部分:2D游戏开发。

先从简单2D世界说起吧。2D开发里的坐标系比较简单,2D坐标常见的有两种:

  • 一种是以flash为代表的,以屏幕左上角为(0,0)点,右下角为(Screen.width, Screen.height)点。
  • 一种是以cocos2d系列为代表的,由于使用的是OpenGL系提供的API,故以屏幕左下角为(0,0)点,右上角(Screen.width, Screen.height)点。

2D的坐标系就是如此简单,下面重点介绍3d的坐标系。

第二部分:3D游戏开发。

在3D开发中,用的是笛卡尔三维坐标系,包含两种3D的坐标系:左手坐标系和右手坐标系。

很多新人开始学3D开发时都会和我一样有很多疑惑,例如Unity3D和OpenGL, DirectX有啥区别?他们的坐标都是如何的?如何转换到屏幕上的坐标?这些问题的确挺头疼的。下面就逐个讲讲。

1.Unity3D和OpenGL, DirectX有啥不同?

其实他们拿来对比,是不太妥当的,因为他们不是在同一层级上的,不构成并列选择关系。Unity3D调用的是DirectX 和 OpenGL提供的 API。也可以这么理解,Unity3D封装了OpenGL和DirectX。

简单的说,就是:你的程序–>Unity3D–>DirectX/OpenGL–>图形设备(显卡)。

2.左手坐标系和右手坐标系如何理解

按照教科书的概念,左手坐标系和右手坐标系应该如图1:

图一:两种坐标系
(图一:两种坐标系)

那如何理解“左手”和“右手”的概念呢?我们做个实验(为此,笔者把自己的手指都秀出来了~)

伸出左手(或右手),中指为x轴,拇指为y轴,食指为z轴,就组成了左手(或右手)坐标系

图二:左手坐标系实例
(图二:左手坐标系实例)

图三:左手坐标系实例
(图三:左手坐标系实例)

3.那u3d用到的坐标系是啥坐标系呢?

答:在Unity3D里都是左手坐标系

u3d中世界坐标:左手坐标系。

屏幕坐标系:左手坐标系。什么!屏幕的坐标系是三维的?没错。那该如何理解?这样理解吧,屏幕从左下角开始为(0,0,0)点,往竖方向向上y递增,往右x递增,往屏幕里面z递增.

GUI坐标:2d的,左上角为(0,0)。和flash里的原点一样都是从左上开始。

简单来说,就是,在u3d构建中,3d的坐标都是左手坐标系。

4.那右手坐标系出现在什么地方?

1.OpenGL的世界坐标系是右手坐标系(蛋疼啊,和U3D习惯不一样)。

2.建模软件3dsMax:右手坐标系,而且z轴向上。在输出fbx保持up为Y轴的前提下,若不对3dsmax中模型的pivot进行旋转,则导入到Unity3D中后,模型会基于x有-90°的旋转。这种选择可以使得物体在直观印象不变的情况下,直接把左手坐标系转成右手坐标系。如图四,模型是以右手坐标系构建的。

图四:3ds max中的建模坐标系
(图四:3ds max中的建模坐标系)

但导入到unity后,绕x轴转了-90度,如图五,变成了图六所示。

(图五)
(图五)

(图六)
(图六)

5.为啥会左手坐标系和右手坐标系两种东西

额,这是当初标准没统一的问题。蛋疼的历史。

-- EOF -- 看完了,留个脚印~~ ^_^
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 内衣肩带老是往下滑怎么办 乳房发育一边大一边小怎么办 母猫乳房有硬块怎么办 19岁乳晕很大乳头很小怎么办 做完俯卧撑胳膊特别痛怎么办 电压低风扇转不动怎么办 小孩不配合康复锻炼怎么办 跑步机安全开关脱落怎么办 办健身卡贵了怎么办 跑步机安全锁丢了怎么办 老公的腿老是疼怎么办 跑步机钥匙丢了怎么办 跑步机磁铁丢了怎么办 瑜伽拉筋拉伤了怎么办康复 大腿拉筋拉伤了怎么办 肚子饿的咕咕叫怎么办 手表折叠扣松了怎么办? 手表链扣松了怎么办? 原车挡泥板碎了怎么办 车检通不过的车怎么办 车子被轻微刮了怎么办 车龙门架弯了怎么办 材料合格工地非说不合格怎么办 汽车翼子板撞过弄好缝隙大怎么办 手表秒针摔掉了怎么办 元征升降机泄压怎么办 自拍杆的杆子往下下滑怎么办 小狗被车压了一下拉血怎么办 有鬼给你磕头让你不好怎么办 腿又粗又短怎么办 腿又短又粗怎么办 因跑步小腿变粗怎么办 健身后小腿变粗怎么办 打非洲鼓打的手疼怎么办 无塔供水压力小怎么办 家用增压水塔压力不稳定怎么办 蝴蝶耳堵比较紧怎么办 跑步机踏板坏了怎么办 遥控器电池没电了怎么办 空调遥控器电池没电了怎么办 想要自慰家里没有情趣用品怎么办