우주선에서 레이저를 발사 할 수있는 우주선 게임을 만들고 있습니다. 기본적으로 플레이어에서 커서 위치로 레이를 만들고 싶습니다. 플레이어는 움직일 수 있지만 카메라는 정적입니다. 지금까지 나는 사용하여 시도했다 :Ogre3D를 사용하여 커서 좌표에서 광선 유도
Ray laser = mCamera->getCameraToViewportRay(mMouse->getMouseState().X.abs, mMouse->getMouseState().Y.abs);
및 설정 :
laser.setOrigin->(mPlayer->getPosition);
그러나 나는 광선 장면 쿼리를 실행할 때마다, 내 화면의 왼쪽 상단 코너를 향하는 발생합니다.
http://www.ogre3d.org/forums/viewtopic.php?f=5&t=49132
여분의 신용에 대한 빠른 측면 질문 : 만 시뮬레이션 시간의 작은 금액 ManualObject
그리기의 방법이 있나요 나는 화면 좌표를 추출하는 방법에 대한 참조로 여기에 코드를 사용하고 레이저 총에서 총? 나는 이미 다음 조각을 사용하여 광선의 작은 부분을 그렸습니다.
Ogre::ManualObject* lazor = mSceneMgr->createManualObject("lazor");
lazor->begin("HiliteYellow", Ogre::RenderOperation::OT_LINE_LIST);
// define start and end point
for (int i = 0; i< 20000;i++)
{
lazor->position(laser.getPoint(30+i));
lazor->position(laser.getPoint(300+i));
}
lazor->end();
mSceneMgr->getRootSceneNode()->attachObject(lazor);
고마워요!