저는 OpenGL을 연구하기 시작했습니다. 그리고 3d 체스를 좋아할 것처럼 보이지만, 나는 어떻게 테이블을 클릭했는지 알 수 있습니다. 적절한 애니메이션, 조언을하기 위해서?클릭 할 수있는 타일이있는 OpenGL ES 타일링 된 객체 (큐브?)
답변
"3D 피킹"이라고합니다. 화면 좌표를 세계 좌표로 변환해야합니다. 거기에서 광선/충돌 객체 (경계 상자?) 교차 테스트를 수행합니다. 교차하면 사용자가 클릭 한 것입니다.
깊이 순서 문제를 해결하려면 먼저 각 객체의 교차점을 찾은 다음 최저 (양수) 시간대를 선택하는 등 조금 더해야 할 것입니다.
Google에서 '3D 피킹'을 검색하면 원하는 것을 찾을 수 있습니다. 이 그것에게 수학을 파악하기 위해 당신은 단지이 경계 상자, 다각형, 곡선 등이 될 객체를 경계의 형태에 국한되지 것을 http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=32
참고 : 여기에
는 튜토리얼 지원하려는 각 유형의 오브젝트에 대한 교차 테스트의 경우.편집 : 모든 멋진 애들이 (틀림없이 10 년 전 ...)는 OpenGL을 배울 어디를 연결하기 전에 내가 그 자습서를 읽어 보지 않았
, 나는 그냥 생각 NEHE이다.
waldecir하는 raypick 기능을 찾습니다 여기
은 따기에 대한 OpenGL을 자주 묻는 질문에서 무언가이다. 이것은 장면의 카메라 중심에서 클릭 한 픽셀을 통해 광선을 보내는 이름입니다 (실제로는 3D 세계에서 "화면의 유리 표면"을 나타내는 카메라 평면에서 해당 픽셀의 변환 된 위치를 통해). 가장 앞쪽의 다각형을 반환합니다. ray가 일부 정보와 함께 나타납니다. 일반적으로 다각형의 표면 축에서 좌표가 지정됩니다. UV 또는 텍스처 좌표. 좌표를 확인하여 사용자가 클릭 한 사각형을 결정할 수 있습니다.
광선은 어떤 위치에서나 어떤 방향으로도 전송 될 수 있으므로 카메라 위치와 비행기 중심을 가져야 할 가능성이 있지만 문서가 도움이 될 것입니다.
- 1. OpenGL ES 클리핑 객체
- 2. 가속도계로 OpenGL ES 객체 이동
- 3. 움직이는 객체 OpenGL Es 2.0
- 4. OpenGL ES - 2 차원 세계에서 객체 선택
- 5. 수정할 수있는 OpenGL ES 코드
- 6. OpenGL ES를 사용하는 iPhone 타일링 된 배경
- 7. OpenGL ES 1.1에서 OpenGL ES 2.0으로 전환
- 8. OpenGL 또는 OpenGL ES
- 9. OpenGL ES 2.0으로 여러 객체 렌더링
- 10. OpenGL ES 2.0 : 객체 회전 문제
- 11. Android OpenGL ES + 프레임 버퍼 객체
- 12. GL_TRIANGLE_FAN이있는 android/openGL 큐브
- 13. Android OpenGL ES x, y, z 점 및 큐브 중심에서 큐브 회전
- 14. OpenGL ES OBJ 투명성 문제로드
- 15. IOS Open GL ES 드로잉 큐브
- 16. OpenGL ES 2.0의 역 관점
- 17. OpenGL ES 텍스처 렌더링
- 18. OpenGL-ES 로의 OpenGL - glBegin();
- 19. 3D 큐브 위치 추적 OpenGL?
- 20. 조명 및 OpenGL ES
- 21. 데스크탑 PC의 OpenGL | ES
- 22. OpenGL ES 깊이 버퍼
- 23. 캔버스 또는 OpenGL ES?
- 24. OpenGL ES GL_TEXTURE_RECTANGLE
- 25. OpenGL ES 2.0 텍스처링
- 26. quaternions for OpenGL ES
- 27. OpenGL ES 인스트루먼트의 정확성
- 28. OpenGL ES 기능
- 29. OpenGL ES 텍스처 메모리
- 30. OpenGL ES 비동기 텍스처로드
NeHe 튜토리얼은 OpenGL ES에서 원격으로 작동하지 않는 나쁜 예입니다. –
@Matias Valdenegro : 궁극적으로 3D 피킹 알고리즘 자체는 3D API에 무관심합니다. 나는 연결된 튜토리얼이 너무 많이 끼어 들었다는 것에 동의하며, 픽업 계산을하기 위해 API를 사용하고 있는지 여부를보기 위해 읽지 않았다. 링크 제공의 요점은 적어도 하나의 3D 피킹 자습서가 있다는 것을 보여주는 것입니다. NEHE는 종종 새로운 OpenGL 프로그래머가 모든면에서 올바른지 여부에 관계없이 쉽게 따라 할 수있는 자습서를 제공합니다. 당신이 더 나은 것을 가지고 있다면, 링크를 제공하십시오. –