Где найти фреймворк, аналогичный XNA для Java

Сейчас я разработчик C#/Java, и я отлично провел время, работая с XNA с C#.NET.
Но я хочу попробовать разработать 3D на Java, так как он переносимый, а я еще не пробовал OpenGL.

Я столкнулся с проблемой, где было много возможностей:

  • jMonkeyEngine
  • Avatrix3D
  • Ardor3D
  • Java3Dпредпочел бы сначала увидеть, что люди на самом деле говорят. Если это действительно то, что я искал, это было бы здорово. Недостатком является то, что я считаю уровень поддержки очень низким.

В основном я изучал JME, который оказался скорее движком, чем фреймворком (что пришло мне в голову из названия, хотя мне сказали, что это не так).

В основном то, что я хотел бы от конкретной фреймворка:

  • Довольно автоматический рендеринг (см. XNA, может быть, немного больше, чем они делают, но примерно так)
  • Включая векторную математику, что они сделали в JME с узламивсе в порядке
  • Желательно легко портировать вместе с приложением (в отличие от XNA, где конечный пользователь должен установить .NET AND XNA)
  • Никаких ненужных реализаций того, что не обязательно будет универсальным: это, вероятно, требует объяснения, я имею в виду, что я ненавижу в JME то, что у них уже есть куча тяжелых физических реализаций, таких как их класс пули и simplePhysicsUpdate. Они не всегда делают то, что вы от них хотите, и реализовать свои собственные не так-то просто. В XNA они оставляют всю эту тему полностью открытой.
  • Настоящий ООП-подход. Действительно. Я считаю, что в XNA это настоящий ООП-подход, поскольку у вас есть ОДИН класс контроллера, который содержит все GameComponents. Это также то, что упрощает создание собственной библиотеки для управления персональным вводом и тому подобное. Физика также стала намного проще в обращении.

Обратите внимание, что я давно не смотрю на JME, поэтому МОГУ ошибаться. Если да, пожалуйста, скажите об этом и, возможно, приведите примеры того, как это может реализовать то, о чем я прошу, сверху.

В противном случае, пожалуйста, дайте мне идеи о том, что может быть так, то есть фреймворк, а не движок.

Также стоит отметить, что я уже задавал подобный вопрос здесь. Вот так я начал изучать JME. Я также рассматриваю Java3D в своем списке дел.
Этот вопрос отличается, поскольку я спрашиваю конкретно о фреймворке, а не о движке. (Для меня разница в том, что движок постарается иметь все готовым к игре, в то время как фреймворк просто упрощает создание реального движка, который соответствует вашимпотребностям).

Изменить: после прочтения 2 ответов я собираюсь изучить Java3D, хотя он, кажется, имеет очень небольшую поддержку, так как я не хочу тяжести JME, если я не собираюсь использовать это, и считаю, что взламывание кусков продукта несколько неправильно (я имею в виду, что это нормально делать, если это необходимо, но я бы предпочел сначала изучить другие решения). Если это тоже не сработает, я рассмотрю jogamp и LWJGL, возможно, создав на их основе свою собственную структуру (кажется, интересный проект). Если я не соберу его, я просто буду придерживаться XNA (хотя я потеряю возможность установить любое из моих творений на Linux-машину внизу :( )

7
задан Community 23 May 2017 в 11:55
поделиться