|
|
我创建了一个地形 和一个骨骼动画entity
void createScene(void)
{
//创建了一个查询 mSceneNode[0] 为 entiity 的接点
raySceneQuery = mSceneMgr->createRayQuery(
Ray(mSceneNode[0]->getPosition(), Vector3::NEGATIVE_UNIT_Y));
...
}
bool frameStarted(const FrameEvent& evt)
static Ray updateRay;
//设置源为骨骼动画接点地点
updateRay.setOrigin(mgr->getSceneNode("role")->getPosition());
updateRay.setDirection(Vector3::NEGATIVE_UNIT_Y);
raySceneQuery->setRay(updateRay);
RaySceneQueryResult& qryResult = raySceneQuery->execute();
RaySceneQueryResult::iterator i = qryResult.begin();
if (i != qryResult.end() && i->worldFragment)
{
mgr->getSceneNode("role")->setPosition(mgr->getSceneNode("role")->getPosition().x,
i->worldFragment->singleIntersection.y + 10,
mgr->getSceneNode("role")->getPosition().z);
}
为什么骨骼动画仍然不按照地形高低走动? |
|