2015-01-30 2 views
-3

скажем, у меня есть модель 3D-модели, отображаемая с использованием GLSurfaceView в Android. Эта модель состоит из многих компонентов, возможно ли контролировать каждый из них или каждый из них реагировать на события касания индивидуально? например, если я хочу выбрать одно колесо, мне нужно коснуться колеса.Как сделать каждый компонент 3D-объекта OpenGL сенсорным в Android?

+1

OpenGL ничего не знает о сенсорном интерфейсе. Так что вы пробовали? –

+0

Спасибо. OpenGL действительно знает о событиях касаний, но GLSurfaceView предоставляет несколько событий обработки, например onKeyDown, onTouchEvent. Но все они используются для управления всем 3D-объектом, и я пытаюсь контролировать каждую часть объекта. – Sam003

+1

Touch Events имеют X и Y, что происходит, когда они срабатывают в определенной ограниченной области, которая будет отображать часть вашего объекта, является разработчиком. Определение формы/положения ограниченной области также зависит от разработчика. То, как 3D-модель сопоставляется с допустимой ограниченной областью, также зависит от разработчика. Ваш вопрос все еще слишком широк. –

ответ

1

Я думаю, что вы ищете подбор луча или пересечение лучей.

Этот ответ содержит ссылку на образец/видео iOS, который, я считаю, является тем, что вам нужно. https://gamedev.stackexchange.com/questions/12360/how-do-you-determine-which-object-surface-the-users-pointing-at-with-lwjgl/12367#12367

Другой связанный SO вопрос: Implementing Ray Picking

Это должно помочь вам начать работу на то, что вам нужно сделать.

+0

Спасибо! Выбор луча - это то, что я хочу. Цените. – Sam003

Смежные вопросы