Nếu bạn đang thực hiện lựa chọn 2D đến 3D, bạn cần phải khéo léo với ma trận và vectơ một chút. GlUnproject không tồn tại cho OpenGL ES 1.1, do đó bạn phải tự mình làm toán.
Giao lộ đối tượng Ray là một cách để thực hiện. Timmmms câu trả lời đã bao gồm một số của nó, nhưng có nhiều hơn nữa. Ý tưởng là tạo ra tia tới 3D ngoài tọa độ 2D. Đảo ngược ma trận xem và ma trận chiếu là cần thiết cho điều đó. Một khi bạn có tia, bạn có thể sử dụng phép kiểm tra giao điểm của sự lựa chọn của bạn và tất nhiên bạn cần chọn đối tượng gần nhất như tại điểm của Timmmm 4. Các hình cầu và hộp giới hạn dễ dàng thực hiện và internet có đầy đủ các hướng dẫn kiểm tra giao lộ cho chúng.
This picking tutorial dành cho DirectX, nhưng bạn có thể có ý tưởng. Ray-xây dựng một phần là quan trọng nhất.
Chỉnh sửa Android triển khai phiên bản gluUnproject riêng của nó. Nó có thể được sử dụng để tạo ra tia, bằng cách gọi nó cho máy bay gần và xa (0 và 1) và trừ các kết quả gần mặt phẳng từ kết quả mặt phẳng xa để có được hướng tia. Nguồn gốc Ray là vị trí xem. Thêm here.
Do đó, bạn giả sử rằng hình dạng của tất cả các đối tượng giống nhau và khoảng cách của chúng trong 3D tới máy ảnh là như nhau. Tôi không nghĩ đây là những giả định hợp lệ trong hầu hết các trường hợp. – mnemosyn