-
irrlicht 3D엔진 좌표+_+Code/C/C++ 2007. 4. 4. 16:00
1. World 3D -> Screen 2D
irr::core::vector3df pos = marine->getPosition();
irr::core::position2di pos2D = 씬매니져->getSceneCollisionManager()->getScreenCoordinatesFrom3DPosition( pos, camera );
2. Screen 2D -> World 3D
2D스크린좌표를 기준으로 픽킹레이를 만들어서 넓이가 무한대인 지면과 교점의 위치를 추적해보는예입니다. 오브잭트와 충돌위치는 일리히트 예제에나와있습니다.
irr::core::position2di mouse_pos = CkogG6App::m_System.m_pDevice->getCursorControl()->getPosition();
irr::core::line3df Ray;
irr::core::plane3df plane;
irr::core::vector3df v3Intersec;
plane.setPlane(irr::core::vector3df(0,0,0),irr::core::vector3df(0,1,0)); //높이가 0인 지면설정
Ray = 씬매니져->getSceneCollisionManager()->getRayFromScreenCoordinates(mouse_pos);plane.getIntersectionWithLine(Ray.start,Ray.getVector().normalize(),v3Intersec); //지면과 광선 충돌점구하기
'Code > C/C++' 카테고리의 다른 글
CAB Code Sign (0) 2009.02.17 열혈강의 C 의 도전프로그래민 1-4번 문제.. 풀어달래서... (0) 2007.09.16 구글 입사 시험.... 나라면.. 과연+_+? (4) 2007.04.04 메트릭스+_+ 슝~!!! (0) 2007.04.04