游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3055|回复: 5

求助.uvn相机旋转问题.

[复制链接]

2

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2008-7-28 14:41:00 | 显示全部楼层 |阅读模式
旋转相机.使其可绕注视点在任意角度上旋转.

我用 旋转矩阵旋转相机look向量 然后加上注视点.不对. [em17]

4

主题

220

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2008-7-30 09:58:00 | 显示全部楼层

Re:求助.uvn相机旋转问题.

你给一个旋转轴向量,旋转角度可指定,相机的观察反方向是知道的,那么D3DXMatrixRotationAxis()函数可得出旋转矩正,然后在用该矩正对反方向进行变换,在用视点+新的反方向的出新的相机位置点.

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2008-7-30 12:04:00 | 显示全部楼层

Re:求助.uvn相机旋转问题.

看看 翁云峰的 3d游戏程序设计入门。里面有个讲相机的

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
发表于 2008-7-30 21:27:00 | 显示全部楼层

Re:求助.uvn相机旋转问题.

是不是怎么移动都望着固定的点啊??如果你用三个向量LookAt, Up, Right保存相机的话试试用下面的方法算matView看看
zaxis = normal(LookAt)//LookAt
xaxis = normal(cross(Up, zaxis))//Right
yaxis = cross(zaxis, xaxis)//Up

xaxis.x           yaxis.x           zaxis.x          0
xaxis.y           yaxis.y           zaxis.y          0
xaxis.z           yaxis.z           zaxis.z          0
-dot(xaxis, eye)  -dot(yaxis, eye)  -dot(zaxis, eye)  l

4

主题

220

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2008-7-31 13:37:00 | 显示全部楼层

Re: 求助.uvn相机旋转问题.

我的方法试一下就知道对错了

19

主题

52

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2010-5-18 09:32:00 | 显示全部楼层

Re:求助.uvn相机旋转问题.

其实UVN坐标的观看朝向是用两个变量来确定的
就是:仰角:elevation和方位角:heading

相机位置坐标:camPos
朝向位置坐标:target

camPos是已知的,
当控制相机的时候,除了位移,角度就是改变elevation和heading了

这个时候target的计算方式由camPos,elevation和heading确定
假设target是在一个单位球面上,根据这些信息就很容易得出了

游戏中用方向键控制相机位置camPos的移动,用鼠标控制相机方向elevation和heading的变化
就反馈到对朝向位置的合理控制了




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-9 17:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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