+ -
当前位置:首页 → 问答吧 → 相机问题求助

相机问题求助

时间:2011-08-27

来源:互联网

我在(0,0,0)放了一个食人魔,摄像机位置(0, 200, 0) lookat(0,0,0) 为什么啥也看不到呢??

Entity *ent = mSceneMgr->createEntity("head", "ogrehead.mesh");
// 设置食人魔Entity的材质为指定材质(环境贴图)
//ent->setMaterialName("Examples/EnvMappedRustySteel");
ent->setMaterialName("Examples/SphereMappedRustySteel");
// 将食人魔Entity连接到场景根节点上。
mSceneMgr->getRootSceneNode()->attachObject(ent);
//
mSceneMgr->getRootSceneNode()->setPosition(Vector3(0.0, 0.0, 0.0));
//
//mCamera->setFixedYawAxis(true, Vector3::UNIT_Y);
mCamera->setPosition(Vector3(0.0, 200.0, 0.0000));
mCamera->lookAt(Vector3(0.0, 0.0, 0.0));

我测[来源:GameRes.com]试,摄像机位置,随便偏移一点,比如:(0.1, 200.0, 0.0)就能正常看到了,(0, 200, 0.1)也可以
为什么Y轴,看原点就看不到呢,而且就这个点看不到


如果摄像机位置换成X轴(200,0, 0)没问题,换成Z轴(0.,0,200)也没问题

只有Y轴的时候看不到原点的食人魔,这是为什么呢??Y轴有什么特殊处理不

或者是相机的问题??

作者: godtemp   发布时间: 2011-08-27

那是因为相机的默认正方向是Y轴,旋转重合了,没法继续旋转了。


这个相机肯定是用欧拉角表示的,这个问题在三维世界中被称为“万向锁”


如果我解释的不够详细,请楼主自己google万向锁,有很多的解释和说明。

作者: ccy_com   发布时间: 2011-08-27