分类:Unity、C#、VS2015 学习
建立日期:2016-04-20 orm
在虚拟的游戏世界中,与3D有关的数学知识决定了游戏引擎如何计算和模拟出开发者以及玩家看到的每一帧画面。学习或者回想一下基础的3D有关的数学知识,能够帮助开发者对游戏引擎产生更深入的了解。 游戏
在游戏开发中,常常会用到不一样的坐标系来描述空间中的位置,经常使用的坐标系有: 游戏开发
一、世界坐标系(World) 开发
用于描述游戏场景内全部物体位置和方向的基准,也称为全局坐标系。 数学
二、局部坐标系(Local) it
每一个物体都有其独立的物体坐标系,而且随物体进行相同的移动或者旋转,也叫模型坐标系或物体坐标系。 io
网格模型(mesh)保存的顶点坐标均为局部坐标系下的坐标。 form
三、相机坐标系(Camera) 基础
根据观察位置和方向创建的坐标系。使用坐标系能够方便地判断物体是否在相机前方以及物体之间的前后遮挡顺序等。
四、屏幕坐标系(Screen)
这是创建在屏幕上的二维坐标系,用来描述像素在屏幕上的位置。即:
屏幕左上角为(0,0);
X轴向右为正方向(从左到右);
Y轴向下为正方向(从上到下)。
在Unity中:Transform组件的如下方法可进行坐标系转换:
Transform.TransformPoint方法:将坐标点从局部坐标系转换到世界坐标系。
Transform.InverseTransformPont方法:将坐标点从局部坐标系转换到世界坐标系。
Transform.TransformDirection和Transform.InverseTransformDirection:用于对向量在物体坐标系和世界坐标系之间进行转换。