游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1157|回复: 0

请教一个关于摄像机问题

[复制链接]

3

主题

13

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2010-1-17 13:05:00 | 显示全部楼层 |阅读模式

D3DXVECTOR3 m_vRight;
        D3DXVECTOR3 m_vUp;
        D3DXVECTOR3 m_vLook;
        D3DXVECTOR3 m_vPos;
来描述摄像机的信息。
有六种可以操作:
        //沿向量right方向的扫视,即是X轴方向
        void Strafe(float units);
        //沿向量up方向的升降,即是Y轴方向
        void Fly(float units);
        //沿向量look方向滚动,即是Z轴方向
        void Walk(float units);

        //俯仰,绕摄像机的right向量旋转
        void Pitch(float angle);
        //偏航,绕摄像机的up向量旋转
        void Yaw(float angle);
        //滚动,张摄像机的look向量旋转
        void Roll(float angle);


void Camera::Yaw( float angle )
{
        D3DXMATRIX T;
       
        D3DXMatrixRotationAxis(&T,&m_vUp,angle);
       
        D3DXVec3TransformCoord(&m_vRight,&m_vRight,&T);
        D3DXVec3TransformCoord(&m_vLook,&m_vLook,&T);
}

这是yaw的实现。

但是他是绕着自身旋转的。我想让摄像机按我指定的位置的旋转。

请问怎么做。请大虾指点。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-16 00:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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