游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1641|回复: 6

关于摄相机类的问题,敬请赐教。

[复制链接]

22

主题

63

帖子

63

积分

注册会员

Rank: 2

积分
63
发表于 2008-4-30 18:01:00 | 显示全部楼层 |阅读模式
当提到walking时,沿着look向量前后移动。Strafing是说在我们观察方向的左右移动,也就是沿着right向量移动。最后,我们说flying就是沿着up向量移动。为了沿着这些轴移动,我们只需要简单地加一个向量就可以了
void Camera::walk(float units)//前进、后退
{
        // move only on xz plane for land object
        if( _cameraType == LANDOBJECT )//地面对象模式
                _pos += D3DXVECTOR3(_look.x, 0.0f, _look.z) * units;
        if( _cameraType == AIRCRAFT )//飞机、飞行器模式
                _pos += _look * units;
}
问题:
    查《计算机图形学》得知平移变换是按如下公式计算的(Tt为平移变换矩阵):
[x’  y’  z’  1]=[x  y  x  1]×Tt=[x+Tx  y+Ty  z+Tz  1]
将此公式套用在上面的函数中我认为是这样的:
void Camera::my_walk(float units)//前进、后退
{
        // move only on xz plane for land object
        if( _cameraType == LANDOBJECT )//地面对象模式
                   _pos += D3DXVECTOR3(_units, 0.0f, units) ;       
        if( _cameraType == AIRCRAFT )//飞机、飞行器模式
                _pos += D3DXVECTOR3(_units, units, units);
}

但是,在程序执行中,my_walk函数走的是斜线。不知道是什么原因,我到底哪里错了。请赐教。

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-4-30 19:57:00 | 显示全部楼层

Re:关于摄相机类的问题,敬请赐教。

我先吃饭

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2008-4-30 20:11:00 | 显示全部楼层

Re:关于摄相机类的问题,敬请赐教。

直接用矩阵操作就可以了嘛,跟世界矩阵差不多的

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-4-30 20:25:00 | 显示全部楼层

Re: Re:关于摄相机类的问题,敬请赐教。

无名剑: Re:关于摄相机类的问题,敬请赐教。

直接用矩阵操作就可以了嘛,跟世界矩阵差不多的


的确是用矩阵操作,这没有错。

但是,如何操作?如何简单,直观地操作?代码是怎样的?

我个人比较喜欢维护3个向量来控制物体或摄像机。
这样比较直观,控制也方便一些。

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-4-30 20:29:00 | 显示全部楼层

Re:关于摄相机类的问题,敬请赐教。

if( _cameraType == LANDOBJECT )//地面对象模式
           _pos += D3DXVECTOR3(_units, 0.0f, units) ;


当然是斜线了 -___-

_pos.x += _units;  // 朝右边走_units距离
_pos.z +=  units;  // 朝前面走 units距离

你说呢。。。

_units是多余的~~

22

主题

63

帖子

63

积分

注册会员

Rank: 2

积分
63
 楼主| 发表于 2008-4-30 20:42:00 | 显示全部楼层

Re:关于摄相机类的问题,敬请赐教。

唉呀,原来是这样,惭愧。

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-4-30 21:08:00 | 显示全部楼层

Re:关于摄相机类的问题,敬请赐教。

赫赫,我也出过这样的错误,有时候还真不容易看出来,容易搞混淆~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 16:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表