diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/audio.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/audio.html
index 2d4536f71..6cbde4b7c 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/audio.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/audio.html
@@ -8,11 +8,12 @@ There are two ways to handle audio data: Short audio files are to be stored enti
-Place audio files in the assets/Sound/ directory of your project. jME3 supports Ogg Vorbis (.ogg) and Wave (.wav) formats.
+Place audio files in the assets/Sound/ directory of your project. jME3 supports Ogg Vorbis (.ogg) and Wave (.wav) formats. You can use for example to convert from other formats.
+
@@ -69,7 +70,7 @@ There are other obvious getters to poll the status of corresponding setters belo
setPitch(1)
Makes the sound play in a higher or lower pitch. Default is 1. 2 is twice as high, .5f is half as high.
-
+
AudioNode Method
Usage
@@ -85,13 +86,13 @@ Does not work for streamed sounds!
setDirectional(false)
All 3D effects switched off. This sound is global and comes from everywhere. Good for environmental ambient sounds and background music.
-
setTimeOffset(0.5f)
Start playing the sound after waiting the given amount of seconds. Default is 0.
+
setTimeOffset(0.5f)
Play the sound starting at a 0.5 second offset from the beginning. Default is 0.
setMaxDistance(100f)
Maximum distance the sound can be heard, in world units. Default is 20.
-
+
AudioNode Method
Usage
@@ -103,7 +104,7 @@ setLocalTranslation(…)
Activates 3D audio: The sound appears to come f
setReverbEnabled(true)
A 3D echo effect that only makes sense to use with positional AudioNodes. The reverb effect is influenced by the environment that the audio renderer is in. See "Setting Environment Properties" below.
-
+
AudioNode Method
Usage
@@ -116,9 +117,9 @@ setDirection(…)
Activates 3D audio: This sound can only be heard from
setOuterAngle()
Set the angle in degrees for the directional audio. The angle is relative to the direction. Note: By default, both angles are 360° and the sound can be heard from all directions!
@@ -185,7 +186,7 @@ Optionally, You can choose from the following environmental presets from c
Closet
1.00f
1.0f
1.0f
1.00f
0.15f
1.0f
0.600f
0.0025f
0.500f
0.0006f
-
+
Activate the preset with setEnvironment(). E.g. in a dungeon environment:
@@ -209,5 +210,5 @@ You can find more info about OpenAL and its advanced features here:
-
+
In your IDE, use code completion to quickly look up Trigger literals. In the jMonkeyEngine SDK for example, press ctrl-space or ctrl-/ after KeyInput.| to choose from the list of all keys.
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/loading_screen.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/loading_screen.html
index b18b89de9..1cdc62859 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/loading_screen.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/loading_screen.html
@@ -143,15 +143,13 @@ If you do all of this in a single frame, then it is sent to the graphics card on
-The 3 main good solutions are:
+The 2 main good solutions are:
Updating explicitly over many frames
Multi-threading
-
Using a custom AppState
-
@@ -558,16 +556,6 @@ public class TestLoadingScreen1 extends SimpleApplication implements ScreenContr
}
}
-
-
-
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/logging.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/logging.html
index 7559787ba..4f5043046 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/logging.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/logging.html
@@ -4,7 +4,7 @@
-
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/monkey_zone.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/monkey_zone.html
index aa0e8ebce..65fd74c14 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/monkey_zone.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/monkey_zone.html
@@ -325,7 +325,7 @@ MonkeyZone is hosted at GoogleCode, where you can check out the jMonkeyEngine Troubleshooting
-
After download error coud appear that in jme3tools.navmesh.util\NavMeshGenerator.java import com.jme3.terrain.Terrain is not known, you should correct this by setting Project Properties > Libraries > Add Library > jme3-libraries-terrain
+
After download, errors could appear because jme3tools.navmesh.util\NavMeshGenerator.java import com.jme3.terrain.Terrain is not known, you should correct this by setting Project Properties > Libraries > Add Library > jme3-libraries-terrain
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_java_layout.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_java_layout.html
index ed1513c8b..ee5e3538c 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_java_layout.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_java_layout.html
@@ -501,7 +501,7 @@ In the hud screen's foreground layer, add the fol
}});
-Note that the width and height do not scale the bitmap font, but the make indirectly certain it is centered. If you want a different size for the font, you need to provide an extra bitmap font (they come with fixes sizes and don't scale well).
+Note that the width and height do not scale the bitmap font, but make indirectly certain it is centered. If you want a different size for the font, you need to provide an extra bitmap font (they come with fixes sizes and don't scale well).
@@ -562,7 +562,7 @@ Nifty additionally offers many customizable controls such as check boxes, text f
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_scenarios.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_scenarios.html
index 426334e18..c8d1f634b 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_scenarios.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_scenarios.html
@@ -260,7 +260,7 @@ You can name the method (here clicked) what ever you like, as long
The basic Nifty GUI example showed how to use the nifty.fromXML() method to load one XML file containing all Nifty GUI screens.
-The following code sample shows how you can load several XML files into one nifty object. Loading several files with nifty.addXml() allows you to split up each screen into one XML file, insetad of all into one hard-to-read XML file.
+The following code sample shows how you can load several XML files into one nifty object. Loading several files with nifty.addXml() allows you to split up each screen into one XML file, instead of all into one hard-to-read XML file.
NiftyJmeDisplay niftyDisplay = new NiftyJmeDisplay(assetManager, inputManager, audioRenderer, viewPort);
Nifty nifty = niftyDisplay.getNifty();
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_xml_layout.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_xml_layout.html
index 59593492e..14f4b6a6a 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_xml_layout.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_xml_layout.html
@@ -62,7 +62,7 @@ The StartScreen contains:
The HUD contains:
-
The background layer has a centered layout, and contains a the partially transparent HUD image.
+
The background layer has a centered layout, and contains the partially transparent HUD image.
The top layer has a horizontal layout, containing 2 panels:
-The game title is a typical exmaple of static text. In the start screen, add the following text element:
+The game title is a typical example of static text. In the start screen, add the following text element:
<panel id="panel_top" height="25%" width="75%" align="center" childLayout="center">
@@ -284,7 +284,7 @@ The font used is jME3's default font "Interface/Fonts/Default.fnt"
@@ -310,7 +310,7 @@ In the hud screen's foreground layer, add the fol
</panel>
-Note that the width and height do not scale the bitmap font, but the make indirectly certain it is centered. If you want a different size for the font, you need to provide an extra bitmap font (they come with fixes sizes and don't scale well).
+Note that the width and height do not scale the bitmap font, but indirectly make certain it is centered. If you want a different size for the font, you need to provide an extra bitmap font (they come with fixed sizes and don't scale well).
@@ -346,7 +346,7 @@ Nifty additionally offers many customizable controls such as check boxes, text f
-
+
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/particle_emitters.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/particle_emitters.html
index acf4ce581..d59561086 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/particle_emitters.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/particle_emitters.html
@@ -223,7 +223,7 @@ The following effect textures are available by default from test-data.jar<
-Browse the full source code of all here.
+Browse the full source code of all here.
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/swing_canvas.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/swing_canvas.html
index c08f0f527..a8a423336 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/swing_canvas.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/swing_canvas.html
@@ -77,8 +77,15 @@ In the SwingCanvasTest's main() method, create a queued runnable(). It will
});
}
+
+
+
Note that you have to use app.enqueue() when modifying objects in the scene from the AWT Event Queue like you have to use java.awt.EventQueue.invokeLater() from other threads (e.g. the update loop) when changing swing elements. This can get hairy quickly if you don’t have a proper threading model planned so you might want to use NiftyGUI as it is embedded in the update loop thread and is also cross-platform compatible (e.g. android etc.).
+
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_audio.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_audio.html
index cc10a73fe..7aa8bf012 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_audio.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_audio.html
@@ -276,8 +276,13 @@ audio_nature = new AudioNode(assetManager, "Sound/Environment/Nature.og
Typically, you stream long sounds, and buffer short sounds.
+
+Note that streamed sounds can not loop (i.e. setLooping will not work as you expect). Check the getStatus on the node and if it has stopped recreate the node.
+
+
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_node.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_node.html
index 29d7036ea..a95fd8af3 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_node.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_node.html
@@ -53,6 +53,7 @@ import com.jme3.scene.Node;
/** Sample 2 - How to use nodes as handles to manipulate objects in the scene.
* You can rotate, translate, and scale objects by manipulating their parent nodes.
* The Root Node is special: Only what is attached to the Root Node appears in the scene. */
+
public class HelloNode extends SimpleApplication {
public static void main(String[] args){
@@ -96,7 +97,7 @@ Build and run the code sample. You should see two colored boxes tilted at the sa
-
+
@@ -125,7 +126,7 @@ In this tutorial, you learn some new terms:
Position/move, turn, or resize an object
Translate, rotate, scale an object. Transform an object.
-
+
Every JME3 application has a rootNode: Your game automatically inherits the rootNode object from SimpleApplication. Everything attached to the rootNode is part of the scene graph. The elements of the scene graph are Spatials.
@@ -152,9 +153,9 @@ Every JME3 application has a rootNode: Your game automatically inherits the Examples:
A box, a sphere, a player, a building, a piece of terrain, a vehicle, missiles, NPCs, etc…
The rootNode, a floor node grouping several terrains, a custom vehicle-with-passengers node, a player-with-weapon node, an audio node, etc…
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-1.png b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-1.png
new file mode 100644
index 000000000..a6224accb
Binary files /dev/null and b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-1.png differ
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-2.png b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-2.png
new file mode 100644
index 000000000..e4b6b3796
Binary files /dev/null and b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-2.png differ
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-3.png b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-3.png
new file mode 100644
index 000000000..e66880f13
Binary files /dev/null and b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-3.png differ
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-4.png b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-4.png
new file mode 100644
index 000000000..33f8f9069
Binary files /dev/null and b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender-material-4.png differ
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender.html
index 13f15fe1d..a9e2a75ea 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/external/blender.html
@@ -25,9 +25,9 @@ To export an animated model in Blender make sure the following conditions are me
-
Apply Location, Rotation and Scate to the mesh on Blender: On 3D View editor on Blender, select the mesh in Object Mode and go to the 3D View Editor’s header → Object Menu → Apply → Location / Rotation / Location.
+
Apply Location, Rotation and Scate to the mesh on Blender: On 3D View editor on Blender, select the mesh in Object Mode and go to the 3D View Editor’s header → Object Menu → Apply → Location / Rotation / Scale.
-
Apply Location, Rotation and Scate to the armature on Blender: On 3D View editor on Blender, select the armature in Object Mode and go to the 3D View Editor’s header → Object Menu → Apply → Location / Rotation / Location.
+
Apply Location, Rotation and Scate to the armature on Blender: On 3D View editor on Blender, select the armature in Object Mode and go to the 3D View Editor’s header → Object Menu → Apply → Location / Rotation / Scale.
Set the mesh’s origin point in the bottom of the mesh (see the images bellow).
@@ -74,6 +74,13 @@ To export an animated model in Blender make sure the following conditions are me
+
+
+
+
+
+
+
Also check out these videos and resources:
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/appsettings.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/appsettings.html
index 7071cbe56..22ae6a7d7 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/appsettings.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/appsettings.html
@@ -13,29 +13,43 @@ Every class that extends jme3.app.SimpleApplication has properties that can be c
-
+
+This is how you specify settinsg for MyGame (or Main or whatever you called your SimpleApplication instance) before the game starts:
+
public static void main(String[] args) {
AppSettings settings = new AppSettings(true);
settings.setResolution(640,480);
- ... // other properties see below
-
- MyGame app = new MyGame(); // or Main or whatever you called your SimpleApplication
+ // ... other properties, see below
+ MyGame app = new MyGame();
app.setSettings(settings);
app.start();
}
-Set the boolean in the AppSettings contructor to true if you want to keep the default settings for everything that you do not specify. Set this parameter to false if you want to change some of the settings, but otherwise want the application to load user settings from previous launches.
+Set the boolean in the AppSettings contructor to true if you want to keep the default settings for values that you do not specify. Set this parameter to false if you want the application to load user settings from previous launches. In either case you can still customize individual settings.
-
Use app.setShowSettings(true); to present the user with a splashscreen and display settings dialog when starting the game, or app.setShowSettings(false); to hide the custom splashscreen. Set this boolean before calling app.start() on the SimpleApplication.
-
+This example toggles the settings to fullscreen while the game is already running. Then it restarts the game context (not the whole game) which applies the changed settings.
+
public void toggleToFullscreen() {
+ GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
+ DisplayMode[] modes = device.getDisplayModes();
+ int i=0; // note: there are usually several, let's pick the first
+ settings.setResolution(modes[i].getWidth(),modes[i].getHeight());
+ settings.setFrequency(modes[i].getRefreshRate());
+ settings.setDepthBits(modes[i].getBitDepth());
+ settings.setFullscreen(device.isFullScreenSupported());
+ app.setSettings(settings);
+ app.restart(); // restart the context to apply changes
+}
@@ -75,7 +89,7 @@ Set VSync to false to deactivate vertical syncing (faster, but possible page tea
60 fps
-
+
Settings Property (Input)
Description
Default
@@ -85,8 +99,14 @@ Set VSync to false to deactivate vertical syncing (faster, but possible page tea
setUseJoysticks(true)
Activate optional joystick support
false
+
+
setEmulateMouse(true)
Enable or disable mouse emulation for touchscreen-based devices. Setting this to true converts taps on the touchscreen to clicks, and finger swiping gestures over the touchscreen into mouse axis events.
false
+
+
+
setEmulateMouseFlipAxis(true,true)
Flips the X or Y (or both) axes for the emulated mouse. Set the first parameter to true to flip the x axis, and the second to flip the y axis.
false,false
+
-
+
Settings Property (Audio)
Description
Default
@@ -97,7 +117,7 @@ Set VSync to false to deactivate vertical syncing (faster, but possible page tea
setStereo3D(true)
Enable 3D stereo. This feature requires hardware support from the GPU driver. See . Currently, your everday user's hardware does not support this, so you can ignore it for now.
false
-
+
Settings Property (Branding)
Description
Default
@@ -106,26 +126,54 @@ Set VSync to false to deactivate vertical syncing (faster, but possible page tea
This specifies the little application icon in the titlebar of the application. You should specify the icon in various sizes (256,128,32,16) to look good on each OS. Note: This is not the application icon on the desktop.
null
+ImageIO.read(new File("")), …});
This specifies the little application icon in the titlebar of the application (unused in MacOS?). You should specify the icon in various sizes (256,128,32,16) to look good on various operating systems. Note: This is not the application icon on the desktop.
A custom splashscreen image in the assets/Interface directory which is displayed when the settings dialog is shown.
"/com/jme3/app/Monkey.png"
+
+
+
+
+
+
You can use app.setShowSettings(true); and setSettingsDialogImage("Interface/mysplashscreen.png") to present the user with jme3's default display settings dialog when starting the game. Use app.setShowSettings(false); to hide the default settings screen. Set this boolean before calling app.start() on the SimpleApplication.
+
Activate or deactivate the default settings screen before start()ing the game. If you let users use this screen, you do not need to modify the settings object. Note: Most developers implement their own custom settings screen, but the default one is useful during the alpha stages.
+
+
+
app.setSettings(settings)
After you have modified the properties on the settings object, you apply it to your application. Note that the settings are not automatically reloaded while the game is running.
+
+
+
app.start()
Every game calls start() in the beginning to initialize the game and apply the settings. Modify and set your settings before calling start().
-
setSettingsDialogImage("/path/to/splash.png")
A custom splashscreen image in the assets directory which is displayed when the settings dialog is shown.
"/com/jme3/app/Monkey.png"
+
app.restart()
Restart()ing a running game restarts the game context and applies the updated settings object. (This does not restart or reinitialize the whole game.)
-An AppSettings object also supports the following methods:
+An AppSettings object also supports the following methods to save your settings under a unique key (in this example "com.foo.MyCoolGame3"):
-
Use settings.save("unique_key") to save your settings via standard java.io serialization.
+
Use settings.save("com.foo.MyCoolGame3") to save your settings via standard java.io serialization.
-
Use settings.load("unique_key") to load your settings.
+
Use settings.load("com.foo.MyCoolGame3") to load your settings.
Use settings2.copyFrom(settings) to copy a settings object.
@@ -154,5 +202,5 @@ Provide the unique name of your jME3 application as the String argument. For exa
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/best_practices.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/best_practices.html
index e2f166a9c..3b9590339 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/best_practices.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/best_practices.html
@@ -307,9 +307,9 @@ As your SimpleApplication-based game grows more advanced, you find yourself putt
Each AppState calls its own initialize() and cleanup() methods when it is attached to or detached from the game.
-
Each AppState runs its own update() loop that hooks into the main simpleUpdate() loop.
+
Each AppState runs its own thread-safeupdate() loop that hooks into the main simpleUpdate() loop.
-
You can specify what happens if an AppState is paused/unpaused.
+
You specify what happens if an AppState is paused/unpaused.
You can use an AppState to switch between sets of AppStates.
@@ -323,7 +323,7 @@ As your SimpleApplication-based game grows more advanced, you find yourself putt
Controls add a type of behaviour (methods and fields) to an individual Spatial (a player, an NPC).
-
Each Control runs its own controlUpdate() loop that hooks into the main simpleUpdate() loop.
+
Each Control runs its own thread-safecontrolUpdate() loop that hooks into the main simpleUpdate() loop.
One Spatial can be influenced by several Controls. (!)
@@ -337,6 +337,11 @@ As your SimpleApplication-based game grows more advanced, you find yourself putt
+
A game contains algorithms that do not directly affect spatials (for example, AI pathfinding code that calculates and chooses paths, but does not actually move spatials). You do not need to put such non-spatial code in controls, you can run thse things in a new thread. Only the tranformation code that actually modifies the spatial must be called from a control, or must be enqueue()ed.
+
+
+
+
Controls and AppStates often work together: An AppState can reach up to the application and get all Spatials from the rootNode that carry a specific Control, and perform a global action on them. Example: In BulletPhysics, all physical Spatials that carry RigidBodyControls are steered by the overall BulletAppState.
@@ -498,7 +503,7 @@ Decide whether you want to release your game as WebStart, Desktop JAR, or Applet
(.APK)
Game runs on Android devices.
Android devices do not support post-procesor effects.
-
+
Which ever method you choose, a Java-Application works on the main operating systems: Windows, Mac OS, Linux, Android.
@@ -510,5 +515,5 @@ The distribution appears in a newly generated dist directory inside
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/multi-media_asset_pipeline.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/multi-media_asset_pipeline.html
index 890ba54eb..d195bde7f 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/multi-media_asset_pipeline.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/multi-media_asset_pipeline.html
@@ -222,7 +222,7 @@ Use the jMonkeyEngine SceneComposer to add these properties.
-
Important: Unoptimized external model files (.mesh.xml, .material, .obj, .mat, etc) are not bundled when you build your application! If you try to run the JAR with code referring to non-j3o models, you get a Runtime Error because the resource is not found. The final application code should only reference .j3o files.
+
Important: Unoptimized external model files (.mesh.xml, .material, .obj, .mat, .blend, etc) are not bundled by the default build script into the final executables! If you try to run executables containing code that loads non-.j3o models, you get a Runtime Error (resource not found). The final application code should only reference .j3o files. (Note that you will not get this runtime error when running development builds straight from the SDK!)
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/optimization.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/optimization.html
index c52c6c51b..5e99f434e 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/optimization.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/optimization.html
@@ -92,7 +92,7 @@ Genereally jME3 is well optimized and optimizes these things correctly. The norm
If the (S) values are significantly higher than the (F) values, that means there are a lot of extra switches happening which can cause a performance loss. Switches happen for instance if you have many transparent materials in your scene. In that case this tells you that you should use fewer transparent materials.
-
If the (M) values are much higher than the (F) values, that means a lot more GL objects are in memory than are actually used. This can happen in rare cases, such as extremely large scenes (> 2000 wu). In this case, you should can optimize performance by identifying spatials to cull or detach.
+
If the (M) values are much higher than the (F) values, that means a lot more GL objects are in memory than are actually used. This can happen in rare cases, such as extremely large scenes (> 2000 wu) with lots of spatials or lots of different materials. In this case, you should can optimize performance by identifying spatials to cull or detach.
The Object Count (Batch Count) is a very important value that indicates how many geometries were rendered in the last frame. In general, try to keep the object count around 100-200 to keep your game fast and responsive. If the count is permanently higher, hand-code rules that detach remote objects, or optimize a complex multi-material scene using:
GeometryBatchFactory.optimize(complexNode, true);
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/blender.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/blender.html
index 439e58330..debbc7a4c 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/blender.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/blender.html
@@ -156,6 +156,8 @@ By default a BlenderModelLoader is registered with your assetManager to load ble
RGB10 and RGB9E5 texture types are not supported in texture merging operations (which means that you can use this as a single texture on the model, but you should not combine it with other images or generated textures).
+
If an armature is attached to a mesh that has more than one material the vertices of the mesh might be strongly displaced. Hope to fix that soon.
@@ -287,7 +291,7 @@ Here is the list of how blender features are mapped into jme.
Surface
Node
The surface is transformed to the proper mesh
-
+
Using BlenderLoader can allow you to use blend file as your local assets repository.
@@ -297,7 +301,7 @@ Probably versions before 2.49 will work pretty well too, but I never checked tha
@@ -306,6 +310,10 @@ I know that the current version of loader is not yet fully functional, but beliv
Hope I will meet your expectations.
+
+Be mindful of the result model vertices amount. The best results are achieved when the model is smooth and has no texture. Then the vertex amount is equal to the vertex amount in blender. If the model is not smooth or has a generated texture applied then the amount of vertices is 3 times larger than mesh's triangles amount. If a 2d texture is applied with UV mapping then the vertex count will vary depending on how much the UV map is fragmented.
+
+
Cheers,
Marcin Roguski (Kaelthas)
@@ -334,5 +342,5 @@ See also:
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/code_editor.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/code_editor.html
index ce0654b0f..175f59012 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/code_editor.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/code_editor.html
@@ -204,7 +204,9 @@ Keyboard Shortcuts save you time when when you need to repeat common actions suc
Open in Projects / Files / Favorites window: Ctrl-Shift-1 / 2 / 3
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/model_loader_and_viewer.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/model_loader_and_viewer.html
index 1656e9622..7bcfb6d55 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/model_loader_and_viewer.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/model_loader_and_viewer.html
@@ -34,13 +34,19 @@ The jMonkeyEngine SDK includ
+
-The original OgreXML .mesh.xml, .scene, .material and .skeleton.xml model files will not be included in the distribution assets.jar file of your distributed game, they are only available in the assets folder so you are able to recreate the .j3o file from the original if you ever come to change it in blender and have to export it again.
+The original OgreXML .mesh.xml, .scene, .material, .skeleton.xml and .blend model files will not be included in the distribution assets.jar file of your distributed game, they are only available in the assets folder so you are able to recreate the .j3o file from the original if you ever come to change it in blender and have to export it again.
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/project_creation.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/project_creation.html
index 8ee3d5afc..db688dd61 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/project_creation.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/project_creation.html
@@ -111,7 +111,7 @@ Now let's have a look at the project's file structure in the File Expl
Right-Click the project to open the Project properties.
-
In the Run section, specify the main class of your project.
+
In the Run section, specify the main class of your project. (Pressing F6 runs this main class.)
In the Run section, you can optionally configure JVM options and command line parameters.
@@ -122,53 +122,42 @@ Right-Click the project to open the Project properties.
-You may want to use external Java libraries in your jME project, for example content generators or artificial intelligence implementations.
+
-Add the library to the global library list:
+
Pressing F6 builds & runs the main class of the main project. If there are several classes, or several projects, you have to specify which one you want F6 to run. Right-click a project and choose Set As Main Project, then right-click the project again and choose Properties > Run and choose a Main Class.
+To build and run the main() of any file that is open in the editor, press Shift-F6 !
+
+
-
Select Tools→Libraries in the main menu.
-
-
Click "New Library", enter a name for the library, and press OK
-
-
In the "Classpath" tab, press "Add JAR/Folder" and select the jar file(s) needed for the library
-
-
(Optional) In the "JavaDoc" tab, press "Add ZIP/Folder" and select the javadoc for the library, as zip file or folder.
+
Right-Click the project and use the context-menu to clean all generated classes and JARs.
-
(Optional) In the "Sources" tab you can select a folder or jar file containing the source files of the library.
+
Right-Click individual files with a main method to build and run them. (Shift-F6)
-
Press OK
+
Press the Run button (green arrow in the toolbar) to build and run the project. (F6)
-Add the library to a project:
+More than one project open? The toolbar buttons and the F-keys are bound to the main project, which is shown in bold in the Project Explorer. Right-click a project and select Set As Main Project to make it respond to the toolbar buttons and F-keys.
-
-
Right-Click your project and select "Properties"
-
-
Select "Libaries" on the left and then press "Add Library"
-
-
Select the library from the list and press OK
-
-
-
-That's it, your project can now use the external library. If you also linked the javadoc and sources, the SDK will assist you with javadoc popups, code completion (ctrl-space) and source navigation (ctrl-click).
+Worried About Proprietary Lock-in? You are never locked into the jMonkeyEngine SDK: At any time, you can change into your project directory on the command line, and clean, build, and run your project, using non-proprietary Apache Ant commands:
-
+You may want to use external Java libraries in your jME project, for example content generators or artificial intelligence implementations.
+
+
+Add the library to the global library list:
-
Right-Click the project and use the context-menu to clean all generated classes and JARs.
+
Select Tools→Libraries in the main menu.
-
Right-Click individual files with a main method to build and run them. (Shift-F6)
+
Click "New Library", enter a name for the library, and press OK
+
+
In the "Classpath" tab, press "Add JAR/Folder" and select the jar file(s) needed for the library
-
Press the Run button (green arrow in the toolbar) to build and run the project. (F6)
+
(Optional) In the "JavaDoc" tab, press "Add ZIP/Folder" and select the javadoc for the library, as zip file or folder.
+
+
(Optional) In the "Sources" tab you can select a folder or jar file containing the source files of the library.
+
+
Press OK
-More than one project open? The toolbar buttons and the F-keys are bound to the main project, which is shown in bold in the Project Explorer. Right-click a project and select Set As Main Project to make it respond to the toolbar buttons and F-keys.
+Add the library to a project:
+
+
Right-Click your project and select "Properties"
+
+
Select "Libaries" on the left and then press "Add Library"
+
+
Select the library from the list and press OK
+
+
-Worried About Proprietary Lock-in? You are never locked into the jMonkeyEngine SDK: At any time, you can change into your project directory on the command line, and clean, build, and run your project, using non-proprietary Apache Ant commands:
+
+That's it, your project can now use the external library. If you also linked the javadoc and sources, the SDK will assist you with javadoc popups, code completion (ctrl-space) and source navigation (ctrl-click).
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/troubleshooting.html b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/troubleshooting.html
index 8019a4900..a7d4838a3 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/troubleshooting.html
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/troubleshooting.html
@@ -56,7 +56,7 @@ On some Linux and Windows systems, the
-
-If you have problems updating the SDK, try deleting all files from jmonkeyplatform/update/download or [settings folder]/update/download depending on your system (look above for the settings folder location).
+If you have problems updating the SDK, try deleting all files from jmonkeyplatform/update/download and/or [settings folder]/update/download depending on your system (look above for the settings folder location).
\ No newline at end of file
diff --git a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/wiki-map.xml b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/wiki-map.xml
index e89dc20b7..4bbf1160d 100644
--- a/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/wiki-map.xml
+++ b/sdk/jme3-core/javahelp/com/jme3/gde/core/docs/wiki-map.xml
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file