|
|

楼主 |
发表于 2006-4-24 16:23:00
|
显示全部楼层
Re:一个游戏是怎样产生的?
D游戏中视点坐标和视觉坐标决定了视觉的方向,如果要制作第一人称视点游戏就必须把鼠标的移动和视觉坐标向关联,一般的第一人称视点游戏都是用鼠标来控制视觉的方向,键盘的四个按钮控制位置,四个按钮和视点坐标想关联,如果控制了视点视觉的坐标也应有变化,变化的大小决定于视觉点到视点坐标矢量的大小,这可根据你的需要而定,有了视觉的矢量就可以根据矢量变换角倒出实际的距离,这里还是回去看看三角变换函数在回来说吧。不过我还是希望3D游戏程序员掌握下面的公式
x'=(x X M11)+(y X M21)+(z X M31)+(1 X M41)
y'=(x X M12)+(y X M22)+(z X M32)+(1 X M42)
z'=(x X M13)+(y X M23)+(z X M33)+(1 X M43)
三个式子有点难记,不过有它的规律。M几几的是换方矩阵参数,左边一位是列数,右边一位是行数,其中的xyz是原始坐标,x'y'z'才是新坐标值,更准确的应该是变换后的坐标值。如果你为它们有什么用途,实际上它的用途就是根据移动矢量xyz产生新的位置坐标x'y'z'。M矩阵看起来有三行,其实有四行完整的应是
s 0 0 0
0 s 0 0
0 0 s 0
0 0 0 1
如果你想让xyz 点沿着X轴转就用如下公式:
x'=x
y'=yCOSr-zSINr
z'=ySINr-zCOSr
沿Y轴转公式:
x'=xCOSr+zSINr
y'=y
z'=-xSINr+zCOSr
沿Z轴转公式:
x'=xCOSr-ySINr
y'=xSINr+yCOSr
z'=z
这里r 是鼠标的移动矢量。 |
|