Engine v3.4.0 documentation

Engine version 3.4 is now “feature-complete”. While the software undergoes beta testing, we have time to bring the Wiki up-to-date and resolve outstanding doc issues from past releases.

This Forum topic was created to coordinate documentation for the planned 3.4.0-stable release of the Engine. Any doc issues may be reported and discussed here. For tracking purposes, everyone is encouraged to file issues against the jMonkeyEngine repos at GitHub, including:

  • the Engine source code (including its javadoc and readme),
  • the jmonkeyengine.org website,
  • the Wiki, and
  • the Wiki’s user interface.

I will compile a list of all significant changes between versions 3.3.2 and 3.4.0-beta1 of the Engine.

I will document the process for creating new Engine versions.

I will systematically review all pages in the Wiki and file issues for anything that I think needs updating or correcting.

Who else wants to be involved in reviewing and updating the JME documentation?

12 Likes

I need to remind you first, that we still lack the AnimEvents in the new system, i think an easy way is to embed interfaces in doInterpolate() of the Action class…, i will have a deeper a look into this & let you know.

About the new Animation System Wiki & based on the old one :

  • My Suggestions to have the following :

    • New Animation System

      Construct in java code

      AnimComposers Controls

      Transformation Tracks & Keyframes

      Animation Clips

      Converting Animation Clips into Runnable Actions (ClipActions)

      Binding Actions in Tween Threads

      Running the Animation Clips & Animation Actions (ClipActions in Tween)

      Grouping ClipActions & ClipActions in Tween in BaseActions & BlendActions

      Controlling BlendActions

      Animation Events (WIP)

      Composite Animations using Armature, Skinning Controls, Joints

      Attaching nodes, Spatial, particles, positional audio nodes to the joints

      Misc :

      ArmatureMasks, MorphControls, Animation Layers, Multiple AnimComposers, Full Control of Animations (play/pause/resume/editing animations).

      Construct animations in blender

      How to make Animations on blender

      Keyframes, TransformationTracks
      Armature & Bones (Skinning) in conjunction with keyframes
      Blender export, Jme import
      Using & modifying in code
  • Under the Animation & Scene tab :
    Animation in jME3 :: jMonkeyEngine Docs

3 Likes

we still lack the AnimEvents in the new system, i think an easy way is to embed interfaces in doInterpolate() of the Action class

It’s too late to add new features to the v3.4 software, if that’s what you’re suggesting.

new Animation System Wiki

Thanks for your suggestions. Are you putting them into a PR?

1 Like

Afaik it is recently added in this PR:

2 Likes

Not yet, but rather I would work on these topics & provide docs (since I have well-built simple examples) for these then discuss them here, before the PR…

If you need to add a title/topic, let me know here.

Thanks, I will test it.

1 Like

That page you linked to,

https://wiki.jmonkeyengine.org/docs/3.3/core/animation/animation.html,

lives in a similar location in the wiki repo as animation package does in the engine repo.

The difference being the engine repo uses the java standard naming convention jme3-core/src/main/java followed by the package name com/jme3/animation.

jme3-core/src/main/java/com/jme3/animation

Antora docs uses modules with a hard coded folder structure. We always have a docs/modules, followed by the module name, in this case core.

docs/modules/core/

Modules that display pages must have a pages folder. We use the engine package name as a topic inside the pages folder so we end up with:

docs/modules/core/pages/animation

The new animation system lives under

jme3-core/src/main/java/com/jme3/anim

So we need to add a new folder in the docs under the core module

docs/modules/core/pages/anim

The current animation page, animation.adoc, would be a great template for the new animation system page. One need only change topic names to match the new animation system and add new topics as needed to support changes. For example, AnimChannel becomes AnimComposer and then explain it.

To this end, I have went ahead and added the new topic folder and links to a stub page. Change the author, topic and sub topics as needed if you wish to. If not, I will get to it eventually.

https://wiki.jmonkeyengine.org/docs/3.3/core/anim/animation.html

I have spent the last month re-learning Blender, doing so by developing assets for my own game. I am almost to the animation stage. Part of this requires me to re-learn makehuman so I will be able to refresh that page as promised also. Once I get that over with I will undertake learning the new animation system so I can bring it all together.

Even though it may seem like I am absent, I am not, I am just lurking while learning.

3 Likes

It’s fairly complete now. For the latest version of the list, go here:

3 Likes

I could update this wiki page about terrains to include information about the new PBR terrain shaders, if that sounds like it would be a useful addition.

At the very least it would be beneficial to add the 2 new PBR terrain shader test cases to the list of terrain related test cases.

And I could also mention the names of all 3 terrain material definitions (since currently only TerrainLighting.j3md is mentioned) and update the list of important matParams to include the ones for the 2 new PBR shaders.

It could also be good for me to include a bit of information about using a TextureArray, since currently our documentation doesn’t mention how to use them at all I think. However if I add that, maybe it should be in its own separate wiki page in the section about materials, and I can have the terrain wiki page link back to that where it is relevant.

3 Likes

Sounds good!

1 Like

Yes, in the materials topic, the page would live in core/pages/texture/texturearray.adoc, which doesn’t exist so you are right, this would be the first dedicated page about them.

2 Likes

I’m willing to update the documentation to cover my input changes. Considering that the documentation for non-keyboard input is pretty lackluster in general, I’ll probably just add articles for gamepad and touch input in general.

3 Likes

I guess this should go in the Wiki. But where?

@mitm Can you suggest a location for it?

Yes, all engine documentation like this goes into ROOT/pages.

https://github.com/jMonkeyEngine/wiki/tree/master/docs/modules/ROOT/pages

Are you going to link to it from the start page of the wiki?

https://wiki.jmonkeyengine.org/docs/3.3/documentation.html

Edit: probably under install topic?

If it should be a stand alone page, add the link to the nav.adoc and it will show in the left navigation bar.

1 Like

Thanks for this info.

So, i did look at the old animation system before deciding to build the docs for the new, i came up with these topics in general :

Do you think they are sufficient for now ?

EDIT: Anyway, i won’t actually start or do something for now without taking your opinion & the community’s, because i don’t want to waste time doing something people don’t like, but documented examples are ready to do what i want in whatever the time, & i ensure to keep updating them…

1 Like

Overall, looks like it would be very complete.

Minor suggestions would be to consider the length of the headings and how they will look in the right side navigation bar. Multi-line headings should be avoided if possible.

For example,

If this is a ClipAction then shorten it to ClipActions

Same thing here for example, if ClipActions in Tween fully describes the topic then use that or shorten it to something like

Running Animation Clips & Actions

or break it up into nested sections (if that makes sense for the topic).

See: https://docs.asciidoctor.org/asciidoc/latest/sections/titles-and-levels/#section-level-syntax

The navigation bar will only display up to 3 nested sections (===) but use as many nested as needed to fill in the topic because section titles are also anchors that can be used in any page.

As for the Blender parts, that is a separate topic unrelated to the engine, it should be a separate page that you link to from the animations.adoc page.

The Blender page itself would live here,

https://github.com/jMonkeyEngine/wiki/tree/master/docs/modules/tutorials/pages/how-to/modeling/blender

and we can place a link to it under Articles and How-to's in the How to Animate topic or the Blender topic, whichever you think works best.

2 Likes

Thanks, for the guide, yep I totally agree with topic titles must be shorter.

Is there some sort of trick I need to do in order to build the documentation site locally? I’m trying to run npm run buildDocs, but literally none of the changes I made in the .adoc files are reflected in the build.

1 Like

I seem to recall (last time) editing the “wiki-playbook.yml” to reference local content instead of “https://github.com/jMonkeyEngine/wiki.git

1 Like