Лучший способ начать работу с простыми трехмерными пользовательскими интерфейсами с использованием Java? - PullRequest
1 голос
/ 01 января 2009

Я пишу приложение для управления временем, и у меня есть идея представить графики времени и элементы задач в 3D. Визуально я представляю это как взгляд на коридор или шоссе в 3D с предстоящими сроками и задачами, представленными в качестве указателей - более важные элементы больше, а предстоящие сроки ближе.

Я хочу сделать это на Java, но понятия не имею, с чего начать. Например, я хотел бы иметь возможность визуализировать текст и 2D-графику (даты, календари и т. Д.) На полу / стенах коридора, а также на элементах задач. Сами задачи могут быть простыми блоками. Однако все примеры трехмерного кода, которые я видел, выглядят очень низкоуровневыми, и я не могу понять, какие соответствующие координаты использовать, или как пользователь сможет взаимодействовать с видом, выбрав элементы мышью (например, нажав кнопку «развернуть» или «информация», чтобы получить / отредактировать свойства задачи с помощью обычных компонентов свинга).

Есть ли какой-нибудь API более высокого уровня, который я мог бы использовать, или пример кода, который делает подобные вещи? Любые другие идеи о том, как лучше всего подойти к этой проблеме?

edit: удалено требование Java3D - мне просто нужно сделать это на Java.

Ответы [ 3 ]

2 голосов
/ 01 января 2009

Честно говоря, большинство "умных" пользовательских интерфейсов неэффективны по ряду причин:

  • Они предпочитают сложность (ради крутости), а не простоту и удобство использования.
  • Они могут быть совершенно незнакомы пользователю.
  • Вы должны реализовать их сами, чтобы какая-то библиотека не выполнила за вас тяжелую работу.

Я думаю, что интерфейс, который вы описываете, рискует попасть в эту ловушку. Что не так с текущим интерфейсом? Не будет ли действительно сложно получить обзор из-за того, что мешают переднему плану? Теперь, конечно, вы можете сделать еще один шаг вперед и уменьшить / повернуть, чтобы получить обзор, но это усложняет ситуацию.

Сказав все это, если вы можете сделать его простым в использовании и действительно гладким, то он может подать заявку. У пользователей будет меньше терпимости к сбоям в «причудливых» интерфейсах, поэтому, возможно, это не лучший первый 3D-проект.

Я думаю, что нужно больше примеров, ориентированных на визуализацию, а не на игры.

1 голос
/ 06 августа 2009

Я обнаружил, что Pro Java 6 3D Game Development содержит очень хорошие примеры кода.

Вот пример кода трехмерного текста из NeHe Productions! , отметьте «СКАЧАТЬ Java-код» и «СКАЧАТЬ JoGL-код» в конце примера.

В дополнение к этому, я был очень впечатлен LWJGL , который заставляет вас писать очень похоже на прямой OpenGL.

1 голос
/ 01 января 2009

Если честно, попробовав и то и другое, если вы вместо этого будете использовать JOGL, вы обнаружите тонны примеров OpenGL, из которых можно скопировать подобные вещи, и вам не придется кодировать границы графика сцены, который дает Java3D вы. Я попробовал Java3D пару лет назад в простом каркасном средстве просмотра, и было так тяжело получить правильное управление камерой и рендеринг где-то рядом с ОК, и я отказался от него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...