JMonkey Starter Questions

  1. What is the highest ‘downloadable’ JMonkeyEngine .jar file version that does not support Java
    modules? What is the lowest version number that does support Java modules?

  2. Does JMonkeyEngine support a Java object tree of all objects active in the 3D universe, the way that
    Java3D does, or not?

  3. Does Java OpenJDK version 19 support modules by default, or not?

  4. If I am using Blender 3D to model 3D objects, what file format do I need baked objects
    to be in so that I can load Blender modeled objects into JMonkeyEngine?

  5. How can I select a Blender 3D .blend file object and turn it into a .j3o object file?

  6. Can someone provide an easy Java example about how to select points/normal points
    in an object model so that I can motion distort an object in a JMonkeyEngine universe?

Hello there :slight_smile:

  1. Im not sure, i just heard there was plans to change packages/etc as Java modules.
    As i remember JME can be run on Java 8+,
    but remember you can just Build JME Jars yourself very easly. Also your code can use it ofc.

  2. There is SceneGraph, its even better.

https://wiki.jmonkeyengine.org/tutorials/scenegraph/assets/fallback/index.html
You can traverse it using proper methods for it (see wiki)

  1. Its Java question not JME right? why ask, did they change modules there?

Out of topic: Just to note, its very good for games, to have “embeded” JVMs with specified Java so player java dont matter for running game. For example GraalVM.

  1. GLTF mostly. Its modern standard format. Support animations / morph shapes / etc.

  2. Dont do that, its outdated way because Blender change format every version.
    Just use GLTF to convert into j3o, or just load GLTF directly (tho its faster to load just .j3o)

You can convert using SDK, or just other community tools. (in fact, you can use any IDE you like, Intellij, Eclipse, Netbeans etc, you no need use SDK at all)

  1. i dont understand the question. I think it would be easier if you explain what exactly you want achieve.
1 Like

Re: 1.

JME has not been “modularized” as yet. The “plans” to do so are so far limited to some water-cooler talk about potential benefits and expected pain points. (Search modules to find the extant discussions)

Do note that even if the engine were fully modularized, the individual game developers can ignore the module system and continue using the classpath.

As others already mentioned, JME is not yet “modularized” and it is not so trivial to do so… today it would have to be one giant module anyway.

However, also as stated, even if it were modularized it would still work with any Java version… and even without it being modularized, it still works with any Java version that I’ve tested up to Java 18.

3 Likes