OGRE 固定相机/观察者视角方位的方法

问题背景:希望得到相同视角下的不同海平面的截图,所以需要设定视角,以便在进入软件时即可得到目标位置


方法:首先调节到想要的视角位置,得到想要场景,再使用按键响应在终端输出相机的信息,之后再在软件中设置相机的位置以及观察方向。可以说这是一个取巧的方法,其实也可通过帧监听的方法得到


1:绑定响应按键,输出相关信息

OIS::Keyboard*  mKeyboard;        //定义一个按键事件的指针
mKeyboard->capture();             //相机的捕获
if (mKeyboard->isKeyDown(OIS::KC_L) )  //输出相机位置和观察方向,绑定L键
{
	printf("%f %f %f\n",mCamera->getPosition().x,mCamera->getPosition().y,mCamera->getPosition().z);   
	printf("%f %f %f\n",mCamera->getDirection().x,mCamera->getDirection().y,mCamera->getDirection().z);
}


2:在场景中找到合适的位置,按下 L 键,就会在终端输出相机的位置和观察方向




按了三次L键,三组数据,每组数据中,第一行是相机的位置(x,y,z),第二行是观察方向(x,y,z)


3:得到上面的位置之后,在代码中对相机进行设置

mCamera->setDirection(-0.005876f, -0.096776f, -0.995289f);//Li & Xia
mCamera->setPosition(1213.767212f, 15.977533f, 1053.030396f);

这样我们下次每一次运行程序,一进去的视角就是我们所需要的目标位置啦!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MISAYAONE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值