第三章:多坐标系
第一节:为什么要有多坐标系
当我们使用一个坐标系来描绘整个场景的时候,场景中的任意点都可以用该坐标系描述,此时如果有一只羊一遍摇动着耳朵,一边走,这个时候如果进行坐标的转换会发现异常的麻烦,此时如果我们把羊看做整体,羊的移动问题就可以用这个坐标系解决,但是这只该死的羊还摇动耳朵,这时候我们应该以羊为坐标系,羊的耳朵移动是在羊这个坐标系的基础上就简单了。
第二节:世界坐标系
1.世界坐标系的概念
世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架。世界坐标系就是最大的坐标系,世界坐标系也被称为全局坐标系或者宇宙坐标系。
2.关于世界坐标系的常见问题
- 世界坐标系的典型问题都是关于初始位置和环境的。如下
- 每个物体的位置和方向
- 摄像机的位置和方向
- 世界中每一点的地形是什么(如山丘,建筑,湖泊等)
- 各物体从哪里来到哪里去(NPC的运动策略)
第三节:物体坐标系
1.物体坐标系的概念
物体坐标系是和特定物体相关联的坐标系,每个物体都有他们独立的坐标系,当物体移动或者改变方向的时候,和该物体相关联的坐标系将随之移动或改变方向。例如,我们每个人都带着自己的坐标系,如果我告诉你“向前一步走”是指在物体坐标系中向前走,当我告诉你“向北一步走”,此时的向北是在世界坐标系的基础上,因为前后左右是物体坐标系自己知道的,但是东西南北是在世界坐标系下衍生出来的概念。
还有一个简单的例子,例如我询问你车里的音响是在哪,即使你在潍坊,你也不能告诉我在潍坊,而是告诉我在车的哪里,应该说在车门上。这个时候就是以物体坐标系为基础,而不是世界坐标系。
2.物体坐标系常见问题
- 周围有互相作用的物体吗?(我需要攻击他吗)
- 哪个方向?在我前面吗?我左边一点?(我应该是射击它还是逃跑)
第四节:摄像机坐标系
1.摄像机坐标系的概念
摄像机坐标系是和观察者密切相关的坐标系。摄像机坐标系和屏幕坐标系相似,差别在于摄像机坐标系处于3D空间中,而屏幕坐标系是在2D平面里,可以理解摄像机坐标的获取视景展示在屏幕上。摄像机坐标系可以理解为特殊的“物体坐标系”,摄像机坐标系中,摄像机在原点,x轴向右,z轴向前(摄像机的拍摄方向),y轴向上(不是世界的上方,而是摄像机本身的上方,如果放反了,拍出来的就是反的效果)
2.摄像机坐标系常见的问题
- 3D空间中的给定点在摄像机前方吗?
- 3D空间中给定点是在屏幕上,还是超出了摄像机平截锥体的左右上下边界?(平截锥体就是摄像机能观察到的金字塔区域)
- 某个物体是否在屏幕上?它的部分在,或全部不在?
- 两个物体,谁在前面?(该问题称作可见性检测)
第五节:惯性坐标系
1.惯性坐标系的概念
有时候,好的术语是引领人们正确理解主题的关键。为了简化世界坐标系到物体坐标系的转换,人们引入了一种新的坐标系,称作惯性坐标系,意思是在世界坐标系到物体坐标系的“半途”。惯性坐标系的原点与物体坐标系的原点相重合,并且惯性坐标系的轴平行于世界坐标系的轴。
上图中,物体坐标系(Object Space)的坐标点要转换到世界坐标系(World Space)中,就需要实用惯性坐标系(Inertial Space)作为过渡。