My tools contribution

Hi,

In this topic I’ll list tools, I work on for jme3.
But before, I will describe my POV and rules about tools for jme.

  1. manual content should be made with existing tools for artist, content creator (like Blender, AwesomeBump, Gimp,… )
  2. procedural generated content is generated
  3. at build/design time by tools or plugins for existing tools (see 1.)
  4. at runtime by dedicated lib for jme and debugged in jme target environment
  5. asset pipeline (conversion, optimization) should be
  6. runnable from the build tools (eg gradle, ant, …) for automate build time
  7. runnable from interactive tools/debugger in app for quicker design time
  8. debug/viewer tools should run in app or in game
  • plug-able in any jme3 app
  • activable via action (keyboard, button,…)
  • extensible if possible
  1. Open source as much as possible and provide stuff to build, open to contribution,…

I try to follow those rules for :

Now I guess, I should document, and link the project into a central catalog (a wiki page ?)

my github repositories for jme3

7 Likes

I forgot a gradle plugin to package app with jre (or not) + native “launcher” (I need to provide the macosx)

net.alchim31.getdown

Tips: to create tools for in app/in game :

  • use AppState, and attach them via code like
app.enqueue(() -> {
  app.getStateManager().attach(new MyToolApps());
  return true;
})
  • use external window for your toolset UI, instead of trying to embeded the jme window into your tool window (via swing, javafx). that will allow to attach swing based tools, with javafx based tool, and to attach tool that are not made to work together.
  • make small and simple isolated tools instead of a cathedral, RCP framework
1 Like

This is rather clever.

I will add this contrib - Maven - Bintray
To here http://wiki.jmonkeyengine.org/doku.php/jme3:contributions
Scream “No!” if you want me to undo this… :chimpanzee_closedlaugh:

“Yes”

Can currently not log in to Wiki anymore. Don’t know why. Contacted @jayfella for this issue.
As soon as I can access the Wiki again, I will post your contrib collection there. Promised.

Ok this is super cool. I would be very interested in not only using it, but contributing things i may need in it. In particular some good bone and animation debug for direct blender imports.

Dunno if it would be any use to your project, I was working on a basic Swing filter parameter editor (and saver and loader for pre-sets) a while back, if’s something that can help out, lemme know, I feel like you are onto something quite special here =) keep up the good work btw!

Debugging animation is not an easy task ;-). For debugging xbuf animation (blender export, assimp export, jme import) I used the following tools :

  • a .blend with simple unit-testable animation (where I can understand the value)
  • the jme3_ext_spatial_explorer where I add some actions :
    • show skeleton
    • list animation
    • play/stop animation

(on xbuf.org you should see some video that show the tools in action)

jme3_ext_spatial_explorer is far to be perfect but it help me a lot. Contributions (code, doc, feedback) are welcomes.

I’ll probably change the groupId and the repo of jme3_ext_spatial later this month (to use jitpack.io)

I’m wondering about those two things…
I know you intend to use blender as scene editor… but the problem IMO is that you have to ressort to “dummy” objects that will weirdly translate into JME concepts…
Also material has never been 1:1 from blender to JME and that will be worst with PBR.

So a in house scene editor, material editor seems mandatory to me.

Aside of this… I was thinking if it wouldn’t be better to make some kind of CLI over the scene…
Paul already made a groovy scripting app, that basically allows you to do anything live in a scene. that, with an appropriate DSL, could be the basis for any scene editor/model viewer/terrain editor/animation debugger/material editor/add your own editor here. Implement features over it.
If something is not implemented… user can still just script it.
It would even allow to use newer versions of JME with new features.

1 Like

Sorry @Ogli - you can login to the wiki now.

Okay, done - it’s now in the Wiki as well…

Currently, I’m experimenting several ways to use blender as level editor (proxy, link, I expect a lot from the future asset library). And I’m using some empty objects to group, to define trigger area,… and they seems to be usable. The tricks is that I don’t use the blender => xbuf as a direct level to display, but as a source of data : translation, kind, maybe model. And use those data to setup the “entities” and to initialize a part of the jme scenegraph.

I’ll write more about my flow or maybe make a small video, when I’ll have time and finish some of my experiment. :wink:

Yes. I have some secrets plans based on blender node, but need motivation and some exploration.

So I agree for “in house” material editor, but not for scene/level editor. Level editor is often linked to entity management, and the way to define/load data.

I hope to see the emergance of a toolkit to create tool from the community.

PS: I’m not a fan of DSL, often cause lot of frustration.