游戏开发3D基础知识

Posted acmlzq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了游戏开发3D基础知识相关的知识,希望对你有一定的参考价值。

概念学习:

向量

向量简介

我们将所有彼此平行的向量进行平移,使其起点与坐标原点重合,当某一向量的起始端与坐标原点重合,我们成该向量处于标准位置。这样,我们就可用向量的终点坐标来描述一个处于标准位置的向量。 我们通常用小写粗体字母表示一个向量,又是也是用大写粗体字母,比如:2D,3D,4D向量分别表示为:u=(u_x,u_y), N=(N_x,N_y,N_z),c=(c_x,c_y,c_z,c_w)。 D3DX库中,类D3DXVECTOR3表示3D空间中的向量。

向量相等

几何学中,如果两个向量长度和方向都相同,那么这两个向量相等。

向量长度

||u||= sqrt(u_x^2+u_y^2+u_z^2)

向量规范化

向量的规范化就是使向量的模变为1,即变为单位向量。可以通过将向量的每个分量都除以该向量的模来实现向量的规范化。

向量加法

向量加法定义为两个向量对应分量分别相加,只有维数相同的两个分量才能进行加法运算。
u+v = (u_x+v_x, u_y+v_y, u_z+v_z)

向量减法

u-v = u+(-v) = (u_x-v_x, u_y-v_y, u_z-v_z)

数乘

标量可以与向量相乘,顾名思义,该运算可对向量进行缩放。
ku = (ku_x,ku_y,ku_z)

点积

点积是向量代数所定义的两种乘法之一,其运算规则如下:
u*v = u_x*v_x + u_y*v_y + u_z*v_z
上述公式并不具有明显的几何意义,由余弦定理,可以发现u*v = ||u|| * ||v|| * cosθ,即两向量的点积等于两者夹角的余弦再乘以两个向量的模的乘积。

叉积

a\*b = x_1\*y_2-x_2\*y_1 = x_1 \* y_2 - x_2 \* y_1 = a \* b \* sinθ

矩阵

矩阵相等

矩阵数乘

矩阵加法

矩阵乘法

若A为m*n的矩阵,B为n*p矩阵,则乘积AB有意义,且等于一个m*p矩阵

单位矩阵

逆矩阵

矩阵转置

一个m*n矩阵的转置是一个n*m的矩阵。我们用符号M^T表示矩阵M的转置

以上是关于游戏开发3D基础知识的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D游戏开发之Tall窗口布局如何设置

学Unity3D游戏开发需要了解哪些内容

Unity3D开发小游戏Unity3D零基础一步一步教你制作跑酷类游戏

游戏开发3D基础知识

Android+3D游戏开发技术详解与典型案例

3D数学基础:图形与游戏开发