Я сейчас разработчик на C # / Java, и я прекрасно провел время на XNA с C # .NET.
Но я хочу попробовать разработать 3d на Java, поскольку он переносим, и я еще не пробовал OpenGL.
Я столкнулся с проблемой, где было много возможностей:
- jMonkeyEngine
- Avatrix3D
- Ardor3D
- Java3D - На самом деле я не особо задумывался, это кажется интересным, но я бы предпочел посмотреть, что люди на самом деле говорят в первую очередь. Если бы это действительно то, что я искал, это было бы здорово. Недостатком является то, что я считаю, что уровень поддержки очень низок.
Я в основном изучал JME, который оказался скорее движком, чем фреймворком (который пришел мне в голову благодаря названию, хотя мне сказали, что это не так).
В основном то, что я хотел бы от специально каркаса :
- Довольно автоматический рендеринг (см. XNA, возможно, чуть больше, чем они делают, но вокруг этого)
- Включена векторная математика, то, что они сделали в JME с узлами , отлично
- Предпочтительно легко портировать с приложением (в отличие от XNA, где конечный пользователь должен установить .NET AND XNA)
- Нет ненужных реализаций того, что не обязательно будет общим: это, вероятно, требует объяснения, я имею в виду то, что я ненавижу в JME, что у них уже есть куча тяжелых физических реализаций, таких как их класс пули и simplePhysicsUpdate. Они не всегда делают то, что вы от них хотите, и реализовать их не так просто. В XNA они оставляют весь этот предмет полностью открытым.
- Истинный ООП подход. В самом деле. В XNA я считаю, что это настоящий подход ООП, поскольку у вас есть ОДИН класс контроллеров, который содержит все GameComponent s. Это также облегчает создание собственной библиотеки для управления личным вводом данных и тому подобного. Физика также стала намного проще в обращении.
Обратите внимание, что я давно не смотрю на JME, поэтому я МОГУ ошибаться. Если да, скажите, пожалуйста, и, возможно, приведите примеры того, как он может реализовать то, о чем я прошу, сверху.
В противном случае, пожалуйста, дайте мне идеи о том, что может быть так, то есть framework , а не engine .
Также стоит отметить, что я уже задавал подобный вопрос здесь . Вот так я и заглянул в JME. Я также смотрю на Java3D в моем списке задач.
Этот вопрос отличается, так как я спрашиваю специально для framework , а не engine . (для меня разница в том, что движок будет стараться, чтобы все было готово к игре , в то время как фреймворк просто упрощает создание фактического движка, который удовлетворяет вашим потребностям).
Редактировать : после прочтения 2-х ответов я собираюсь заглянуть в Java3D, хотя кажется, что он имеет очень небольшую поддержку, так как я не хочу тяжести JME, если я не Я собираюсь использовать его, и считаю, что взламывать куски продукта - это несколько неправильно (я имею в виду, что можно делать это в случае необходимости, но я бы предпочел сначала поискать другие решения). Если это тоже не сработает, я посмотрю на jogamp и LWJGL, возможно, построив из них свой собственный фреймворк (кажется, интересный проект). Если я не соберу его, я просто буду придерживаться XNA (хотя я потеряю возможность установки любого из своих творений на машину с Linux внизу :()