游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2914|回复: 2

[求助]关于OGRE中摄像机的设置

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-4-16 17:07:00 | 显示全部楼层 |阅读模式
不明白它的原理是啥样的。。特别是setPosition和LookAt,我自己设置的话很不容易找到适宜的角度。另外,像我这样来写:

mCamera->setPosition(Ogre::Vector3(0,30,-8));
    // Look back along -Z
    mCamera->lookAt(Ogre::Vector3(0,-100,8));

本来是想实现俯视图的效果,但是显示出来它的图像360度翻转了。。
所以想求教下版内大神们,这里面摄像机的位置和观察角度之类的原理都是什么?具体来说怎么能比较容易地设定想要的视角?

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-11-26 17:04:00 | 显示全部楼层

Re:[求助]关于OGRE中摄像机的设置

我觉得你的LookAt的Y轴设置的太低了吧,模型如果在(0,0,0)的话,以你当前摄像机的位置,LookAt(0,0,0)就可以实现俯视了吧。
另外对于OGRE摄像机我也有些疑问:
1,ogre摄像机的getDirection和getOrientation有什么区别?
2,我修改了ogre摄像机的透视矩阵,原来可见的模型就不可见了,怎么可以让模型重新显示出来?

18

主题

211

帖子

419

积分

中级会员

Rank: 3Rank: 3

积分
419
发表于 2012-11-27 17:35:00 | 显示全部楼层

Re: [求助]关于OGRE中摄像机的设置

1 getDirection是得到方向,是相机的正前方,是一个三维向量.而getOrientation是得到方位,即相机旋转的四元数.
getDirection = getOrientation * Vector3::UNIT_Z;

2 修改了相机的透视矩阵,即修改了整个MVP,所以模型看不见了.你看看D3D渲染流水线,模型要显示出来,要经过MVP变换的.

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

本版积分规则

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

GMT+8, 2025-6-10 14:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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