void moveCamera()
...{
mLastPosition=mCamera->getPosition();
mCamera->yaw(mRotX);
mCamera->pitch(mRotY);
mCamera->moveRelative(mTranslateVector);
//创建一个球体查询,这里的10是m_SphereNode挂着的那个球体的半径
SphereSceneQuery* pQuery=mSceneMgr->createSphereQuery(Sphere(mCamera->getPosition(),10));
//执行这个查询
SceneQueryResult QResult=pQuery->execute();
//遍历查询列表找出范围内的物体
for (std::list<MovableObject*>::iterator iter = QResult.movables.begin(); iter != QResult.movables.end();++iter)
...{
MovableObject* pObject=static_cast<MovableObject*>(*iter);
if(pObject)
...{
if(pObject->getMovableType()=="Entity")
...{
mCamera->setPosition(mLastPosition);
//if(ent->getName()=="Head")
//{
// MessageBox(NULL,"a","df",MB_OK);
//break;
//}
}
}
}
}
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/Cancer05/archive/2007/07/12/1686746.aspx

本文讨论了游戏开发中使用相机控制实现物体检测的技巧,包括相机位置调整、旋转、平移以及如何通过创建球体查询来查找特定半径内的物体。详细介绍了在特定场景下,当检测到名为Head的对象时,如何触发特定操作。
3332

被折叠的 条评论
为什么被折叠?



