- SDK: update some help sets

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8456 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
nor..67 13 years ago
parent 2055bf0fe3
commit b062eb91fa
  1. 6
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/audio.html
  2. 6
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/bullet_multithreading.html
  3. 1
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/headless_server.html
  4. 5
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/hinges_and_joints.html
  5. 3
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/hud.html
  6. 4
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/loading_screen.html
  7. 7
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/monkey_zone.html
  8. 3
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/networking.html
  9. 5
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui.html
  10. 5
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_java_interaction.html
  11. 6
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_java_layout.html
  12. 4
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_overlay.html
  13. 4
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_projection.html
  14. 5
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_xml_layout.html
  15. 3
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/open_game_finder.html
  16. 7
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/physics.html
  17. 7
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/physics_listeners.html
  18. 8
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/ragdoll.html
  19. 2
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/update_loop.html
  20. 6
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/vehicles.html
  21. 9
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/advanced/walking_character.html
  22. 1
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_animation.html
  23. 2
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_asset.html
  24. 1
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_audio.html
  25. 4
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_collision.html
  26. 1
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_input_system.html
  27. 4
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_main_event_loop.html
  28. 1
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_material.html
  29. 2
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_node.html
  30. 2
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_physics.html
  31. 1
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_picking.html
  32. 5
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_simpleapplication.html
  33. 1
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/beginner/hello_terrain.html
  34. 68
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/appsettings.html
  35. 6
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/headlessserver.html
  36. 38
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/intermediate/simpleapplication.html
  37. 92
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/jme3/terminology.html
  38. 2
      sdk/jme3-core/javahelp/com/jme3/gde/core/docs/sdk/model_loader_and_viewer.html

@ -180,8 +180,12 @@ A sound engineer can create a custom <code>com.jme3.audio.Environment</cod
<p>
You can find more info about OpenAL and its advanced features here: <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://connect.creativelabs.com/openal/Documentation/OpenAL%201.1%20Specification.pdf"><param name="text" value="<html><u>OpenAL 1.1 Specification</u></html>"><param name="textColor" value="blue"></object>
</p>
<div><span>
<a href="/wiki/doku.php/tag:sound?do=showtag&amp;tag=tag%3Asound">sound</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:environment?do=showtag&amp;tag=tag%3Aenvironment">environment</a>
</span></div>
</div>
<p><em><a href="http://direct.jmonkeyengine.org/wiki/doku.php/jme3:advanced:audio?do=export_xhtmlbody">view online version</a></em></p>

@ -36,8 +36,12 @@ stateManager.attach&#40;bulletAppState&#41;;</pre>
<p>
The physics update happens in parallel to rendering, after the users changes have been made in the update() call. This way the loop logic is still maintained: the user can set and change values in physics and scenegraph objects before render() and physicsUpdate() are called in parallel. More physics spaces can simply be added by using multiple bulletAppStates.
</p>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:physics?do=showtag&amp;tag=tag%3Aphysics">physics</a>,
<a href="/wiki/doku.php/tag:threading?do=showtag&amp;tag=tag%3Athreading">threading</a>
</span></div>
</div>
<p><em><a href="http://direct.jmonkeyengine.org/wiki/doku.php/jme3:advanced:bullet_multithreading?do=export_xhtmlbody">view online version</a></em></p>

@ -83,7 +83,6 @@ Okay, so you can now start your game in a headless &#039;server mode&#039;, wher
</li>
</ul>
<div><span>
<a href="/wiki/doku.php/tag:intermediate?do=showtag&amp;tag=tag%3Aintermediate">intermediate</a>,
<a href="/wiki/doku.php/tag:server?do=showtag&amp;tag=tag%3Aserver">server</a>,
<a href="/wiki/doku.php/tag:spidermonkey?do=showtag&amp;tag=tag%3Aspidermonkey">spidermonkey</a>,
<a href="/wiki/doku.php/tag:headless?do=showtag&amp;tag=tag%3Aheadless">headless</a>,

@ -219,6 +219,11 @@ When you disable the motor, the chained nodes are exposed to gravity again:
</p>
<pre>joint.enableMotor&#40;false, 0, 0&#41;;</pre>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:physics?do=showtag&amp;tag=tag%3Aphysics">physics</a>,
<a href="/wiki/doku.php/tag:joint?do=showtag&amp;tag=tag%3Ajoint">joint</a>
</span></div>
</div>
<p><em><a href="http://direct.jmonkeyengine.org/wiki/doku.php/jme3:advanced:hinges_and_joints?do=export_xhtmlbody">view online version</a></em></p>

@ -195,7 +195,8 @@ For HUDs, you basically follow the same instructions as for creating a normal <a
<div><span>
<a href="/wiki/doku.php/tag:gui?do=showtag&amp;tag=tag%3Agui">gui</a>,
<a href="/wiki/doku.php/tag:display?do=showtag&amp;tag=tag%3Adisplay">display</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:hud?do=showtag&amp;tag=tag%3Ahud">hud</a>
</span></div>
</div>

@ -56,8 +56,8 @@ nifty_loading.xml
&nbsp;
<span>&lt;screen id=&quot;loadlevel&quot; controller = &quot;jme3test.TestLoadingScreen&quot;&gt;</span>
<span>&lt;layer id=&quot;loadinglayer&quot; childLayout=&quot;center&quot; backgroundColor=&quot;#000000&quot;&gt;</span>
<span>&lt;panel id = &quot;loadingpanel&quot; childLayout=&quot;vertical&quot; align=&quot;center&quot; valign=&quot;center&quot; height=&quot;32px&quot; width=&quot;400px&quot;&gt;</span>
<span>&lt;control name=&quot;loadingbar&quot; align=&quot;center&quot; valign=&quot;center&quot; width=&quot;400px&quot; height=&quot;32px&quot; /&gt;</span>
<span>&lt;panel id = &quot;loadingpanel&quot; childLayout=&quot;vertical&quot; align=&quot;center&quot; valign=&quot;center&quot; height=&quot;32px&quot; width=&quot;70%&quot;&gt;</span>
<span>&lt;control name=&quot;loadingbar&quot; align=&quot;center&quot; valign=&quot;center&quot; width=&quot;100%&quot; height=&quot;100%&quot; /&gt;</span>
<span>&lt;control id=&quot;loadingtext&quot; name=&quot;label&quot; align=&quot;center&quot; </span>
<span> text=&quot; &quot;/&gt;</span>
<span><span>&lt;/panel&gt;</span></span>

@ -319,6 +319,13 @@ MonkeyZone is hosted at GoogleCode, where you can check out the jMonkeyPlatform-
<li><div> Run the server first (com.jme3.monkeyzone.ServerMain), and then a client (com.jme3.monkeyzone.ClientMain).</div>
</li>
</ol>
<div><span>
<a href="/wiki/doku.php/tag:network?do=showtag&amp;tag=tag%3Anetwork">network</a>,
<a href="/wiki/doku.php/tag:basegame?do=showtag&amp;tag=tag%3Abasegame">basegame</a>,
<a href="/wiki/doku.php/tag:physics?do=showtag&amp;tag=tag%3Aphysics">physics</a>,
<a href="/wiki/doku.php/tag:inputs?do=showtag&amp;tag=tag%3Ainputs">inputs</a>,
<a href="/wiki/doku.php/tag:spidermonkey?do=showtag&amp;tag=tag%3Aspidermonkey">spidermonkey</a>
</span></div>
</div>
<p><em><a href="http://direct.jmonkeyengine.org/wiki/doku.php/jme3:advanced:monkey_zone?do=export_xhtmlbody">view online version</a></em></p>

@ -436,7 +436,8 @@ Learn more about <a href="/com/jme3/gde/core/docs/jme3/advanced/multithreading.h
</p>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:network?do=showtag&amp;tag=tag%3Anetwork">network</a>
<a href="/wiki/doku.php/tag:network?do=showtag&amp;tag=tag%3Anetwork">network</a>,
<a href="/wiki/doku.php/tag:spidermonkey?do=showtag&amp;tag=tag%3Aspidermonkey">spidermonkey</a>
</span></div>
</div>

@ -254,9 +254,10 @@ Next, learn how to lay out your graphical user interface. Typically, you start w
</li>
</ul>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:gui?do=showtag&amp;tag=tag%3Agui">gui</a>,
<a href="/wiki/doku.php/tag:input?do=showtag&amp;tag=tag%3Ainput">input</a>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:nifty?do=showtag&amp;tag=tag%3Anifty">nifty</a>,
<a href="/wiki/doku.php/tag:hud?do=showtag&amp;tag=tag%3Ahud">hud</a>
</span></div>
</div>

@ -307,8 +307,9 @@ You&#039;re done with the basic Nifty <acronym title="Graphical User Interface">
<a href="/wiki/doku.php/tag:gui?do=showtag&amp;tag=tag%3Agui">gui</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:input?do=showtag&amp;tag=tag%3Ainput">input</a>,
<a href="/wiki/doku.php/tag:controller?do=showtag&amp;tag=tag%3Acontroller">controller</a>,
<a href="/wiki/doku.php/tag:controllers?do=showtag&amp;tag=tag%3Acontrollers">controllers</a>
<a href="/wiki/doku.php/tag:control?do=showtag&amp;tag=tag%3Acontrol">control</a>,
<a href="/wiki/doku.php/tag:hud?do=showtag&amp;tag=tag%3Ahud">hud</a>,
<a href="/wiki/doku.php/tag:nifty?do=showtag&amp;tag=tag%3Anifty">nifty</a>
</span></div>
</div>

@ -628,6 +628,12 @@ Integrate the <acronym title="Graphical User Interface">GUI</acronym> into the g
<li><div> <a href="/com/jme3/gde/core/docs/jme3/advanced/nifty_gui_projection.html">Nifty GUI Projection</a> (optional)</div>
</li>
</ul>
<div><span>
<a href="/wiki/doku.php/tag:gui?do=showtag&amp;tag=tag%3Agui">gui</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:nifty?do=showtag&amp;tag=tag%3Anifty">nifty</a>,
<a href="/wiki/doku.php/tag:hud?do=showtag&amp;tag=tag%3Ahud">hud</a>
</span></div>
</div>
<p><em><a href="http://direct.jmonkeyengine.org/wiki/doku.php/jme3:advanced:nifty_gui_java_layout?do=export_xhtmlbody">view online version</a></em></p>

@ -79,8 +79,10 @@ Now that you have layed out and integrated the <acronym title="Graphical User In
</li>
</ul>
<div><span>
<a href="/wiki/doku.php/tag:gui?do=showtag&amp;tag=tag%3Agui">gui</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:gui?do=showtag&amp;tag=tag%3Agui">gui</a>
<a href="/wiki/doku.php/tag:nifty?do=showtag&amp;tag=tag%3Anifty">nifty</a>,
<a href="/wiki/doku.php/tag:hud?do=showtag&amp;tag=tag%3Ahud">hud</a>
</span></div>
</div>

@ -97,8 +97,10 @@ Now that you have layed out and integrated the <acronym title="Graphical User In
</li>
</ul>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:gui?do=showtag&amp;tag=tag%3Agui">gui</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:nifty?do=showtag&amp;tag=tag%3Anifty">nifty</a>,
<a href="/wiki/doku.php/tag:hud?do=showtag&amp;tag=tag%3Ahud">hud</a>,
<a href="/wiki/doku.php/tag:texture?do=showtag&amp;tag=tag%3Atexture">texture</a>
</span></div>

@ -370,9 +370,10 @@ Integrate the <acronym title="Graphical User Interface">GUI</acronym> into the g
</li>
</ul>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:gui?do=showtag&amp;tag=tag%3Agui">gui</a>,
<a href="/wiki/doku.php/tag:nifty?do=showtag&amp;tag=tag%3Anifty">nifty</a>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:nifty?do=showtag&amp;tag=tag%3Anifty">nifty</a>,
<a href="/wiki/doku.php/tag:hud?do=showtag&amp;tag=tag%3Ahud">hud</a>
</span></div>
</div>

@ -187,6 +187,9 @@ A: Save the image files in the path <code>jMonkeyProjects/OGF-Client-1.0-bin/OGF
A: TBD</div>
</li>
</ul>
<div><span>
<a href="/wiki/doku.php/tag:network?do=showtag&amp;tag=tag%3Anetwork">network</a>
</span></div>
</div>
<p><em><a href="http://direct.jmonkeyengine.org/wiki/doku.php/jme3:advanced:open_game_finder?do=export_xhtmlbody">view online version</a></em></p>

@ -523,9 +523,14 @@ removeCollideWithGroup(COLLISION_GROUP_01)</td><td>Collision Groups are integer
</li>
</ul>
<ul>
<li><div> For large static meshes like shooter levels or terrain its best to divide the mesh into multiple physics objects to allow the less CPU intense broadphase to filter out most collision items.</div>
<li><div> For large static meshes like shooter levels or terrain it is best to divide the scene model into multiple physics objects, with each its own CollisionShape. A huge city level should not be one huge mesh (model) of pavement and streets and buildings. Instead, you make individual models for buildings, for pieces of pavement, for pieces of streets, etc. Position them next to one another to form the whole city, and give each piece its own optimal CollisionShape. E.g. streets can use a fast PlaneCollisionShape if you keep them separate for buildings. Breaking the level into manageable pieces helps the engine improve performance: The less CPU-intensive <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://en.wikipedia.org/wiki/Sweep_and_prune"><param name="text" value="<html><u>broadphase</u></html>"><param name="textColor" value="blue"></object> can now filter out parts of the scene that are behind you or out of reach, and it only calculates the details of collisions for parts that are actually close to the action.</div>
</li>
</ul>
<div><span>
<a href="/wiki/doku.php/tag:physics?do=showtag&amp;tag=tag%3Aphysics">physics</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:control?do=showtag&amp;tag=tag%3Acontrol">control</a>
</span></div>
</div>
<p><em><a href="http://direct.jmonkeyengine.org/wiki/doku.php/jme3:advanced:physics?do=export_xhtmlbody">view online version</a></em></p>

@ -165,6 +165,13 @@ getObjectB() </td><td> The two participants in the collision. You cannot kno
Note that after the collision method has been called the object is not valid anymore so you should copy any data you want to keep into local variables.
</p>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:physics?do=showtag&amp;tag=tag%3Aphysics">physics</a>,
<a href="/wiki/doku.php/tag:collision?do=showtag&amp;tag=tag%3Acollision">collision</a>,
<a href="/wiki/doku.php/tag:forces?do=showtag&amp;tag=tag%3Aforces">forces</a>,
<a href="/wiki/doku.php/tag:interaction?do=showtag&amp;tag=tag%3Ainteraction">interaction</a>
</span></div>
</div>
<p><em><a href="http://direct.jmonkeyengine.org/wiki/doku.php/jme3:advanced:physics_listeners?do=export_xhtmlbody">view online version</a></em></p>

@ -203,6 +203,14 @@ Read the <a href="/com/jme3/gde/core/docs/jme3/advanced/physics#responding_to_a_
If you experience weird behaviour in a ragdoll – such as exploding into pieces and then reassembling – check your collision shapes. Verify you did not position the limbs too close to one another when assmebling the ragdoll. You typically see physical nodes being ejected when their collision shapes intersect, which puts physics in an impossible state.
</p>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:physics?do=showtag&amp;tag=tag%3Aphysics">physics</a>,
<a href="/wiki/doku.php/tag:character?do=showtag&amp;tag=tag%3Acharacter">character</a>,
<a href="/wiki/doku.php/tag:npc?do=showtag&amp;tag=tag%3Anpc">NPC</a>,
<a href="/wiki/doku.php/tag:forces?do=showtag&amp;tag=tag%3Aforces">forces</a>,
<a href="/wiki/doku.php/tag:collisions?do=showtag&amp;tag=tag%3Acollisions">collisions</a>
</span></div>
</div>
<p><em><a href="http://direct.jmonkeyengine.org/wiki/doku.php/jme3:advanced:ragdoll?do=export_xhtmlbody">view online version</a></em></p>

@ -61,7 +61,7 @@ There are two strategies how advanced developers can spread out their init and u
</ul>
<div><span>
<a href="/wiki/doku.php/tag:basegame?do=showtag&amp;tag=tag%3Abasegame">basegame</a>,
<a href="/wiki/doku.php/tag:controller?do=showtag&amp;tag=tag%3Acontroller">controller</a>,
<a href="/wiki/doku.php/tag:control?do=showtag&amp;tag=tag%3Acontrol">control</a>,
<a href="/wiki/doku.php/tag:input?do=showtag&amp;tag=tag%3Ainput">input</a>,
<a href="/wiki/doku.php/tag:init?do=showtag&amp;tag=tag%3Ainit">init</a>,
<a href="/wiki/doku.php/tag:keyinput?do=showtag&amp;tag=tag%3Akeyinput">keyinput</a>,

@ -326,6 +326,12 @@ This example shows a very simple but functional vehicle. For a game you would im
<p>
For a more advanced example, look at <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://code.google.com/p/jmonkeyengine/source/browse/trunk/engine/src/test/jme3test/bullet/TestFancyCar.java"><param name="text" value="<html><u>TestFancyCar.java</u></html>"><param name="textColor" value="blue"></object>.
</p>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:physics?do=showtag&amp;tag=tag%3Aphysics">physics</a>,
<a href="/wiki/doku.php/tag:vehicle?do=showtag&amp;tag=tag%3Avehicle">vehicle</a>,
<a href="/wiki/doku.php/tag:collision?do=showtag&amp;tag=tag%3Acollision">collision</a>
</span></div>
</div>
<div>

@ -334,6 +334,15 @@ This method resets the walk animation.
if &#40;channel == attackChannel&#41; channel.setAnim&#40;&quot;stand&quot;&#41;;
&#125;
public void onAnimChange&#40;AnimControl control, AnimChannel channel, String animName&#41; &#123; &#125;</pre>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:physics?do=showtag&amp;tag=tag%3Aphysics">physics</a>,
<a href="/wiki/doku.php/tag:input?do=showtag&amp;tag=tag%3Ainput">input</a>,
<a href="/wiki/doku.php/tag:animation?do=showtag&amp;tag=tag%3Aanimation">animation</a>,
<a href="/wiki/doku.php/tag:character?do=showtag&amp;tag=tag%3Acharacter">character</a>,
<a href="/wiki/doku.php/tag:npc?do=showtag&amp;tag=tag%3Anpc">NPC</a>,
<a href="/wiki/doku.php/tag:collision?do=showtag&amp;tag=tag%3Acollision">collision</a>
</span></div>
</div>
<p><em><a href="http://direct.jmonkeyengine.org/wiki/doku.php/jme3:advanced:walking_character?do=export_xhtmlbody">view online version</a></em></p>

@ -315,7 +315,6 @@ See also: <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
</p>
<div><span>
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner,</a>,
<a href="/wiki/doku.php/tag:intro?do=showtag&amp;tag=tag%3Aintro">intro</a>,
<a href="/wiki/doku.php/tag:animation?do=showtag&amp;tag=tag%3Aanimation">animation</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,

@ -485,7 +485,6 @@ Let&#039;s add some action to the scene and continue with the <a href="/com/jme3
</ul>
<div><span>
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner,</a>,
<a href="/wiki/doku.php/tag:intro?do=showtag&amp;tag=tag%3Aintro">intro</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:lightnode?do=showtag&amp;tag=tag%3Alightnode">lightnode</a>,
@ -493,6 +492,7 @@ Let&#039;s add some action to the scene and continue with the <a href="/com/jme3
<a href="/wiki/doku.php/tag:model?do=showtag&amp;tag=tag%3Amodel">model</a>,
<a href="/wiki/doku.php/tag:node?do=showtag&amp;tag=tag%3Anode">node</a>,
<a href="/wiki/doku.php/tag:gui?do=showtag&amp;tag=tag%3Agui">gui</a>,
<a href="/wiki/doku.php/tag:hud?do=showtag&amp;tag=tag%3Ahud">hud</a>,
<a href="/wiki/doku.php/tag:texture?do=showtag&amp;tag=tag%3Atexture">texture</a>
</span></div>

@ -375,7 +375,6 @@ See also:
<div><span>
<a href="/wiki/doku.php/tag:sound?do=showtag&amp;tag=tag%3Asound">sound</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner,</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner</a>,
<a href="/wiki/doku.php/tag:intro?do=showtag&amp;tag=tag%3Aintro">intro</a>
</span></div>

@ -526,10 +526,8 @@ Related info:
</ul>
<div><span>
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner,</a>,
<a href="/wiki/doku.php/tag:collision?do=showtag&amp;tag=tag%3Acollision">collision</a>,
<a href="/wiki/doku.php/tag:controller?do=showtag&amp;tag=tag%3Acontroller">controller</a>,
<a href="/wiki/doku.php/tag:controllers?do=showtag&amp;tag=tag%3Acontrollers">controllers</a>,
<a href="/wiki/doku.php/tag:control?do=showtag&amp;tag=tag%3Acontrol">control</a>,
<a href="/wiki/doku.php/tag:intro?do=showtag&amp;tag=tag%3Aintro">intro</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:model?do=showtag&amp;tag=tag%3Amodel">model</a>,

@ -362,7 +362,6 @@ Now you can already write a little interactive game! But wouldn&#039;t it be coo
<a href="/wiki/doku.php/tag:input?do=showtag&amp;tag=tag%3Ainput">input</a>,
<a href="/wiki/doku.php/tag:intro?do=showtag&amp;tag=tag%3Aintro">intro</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner,</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:keyinput?do=showtag&amp;tag=tag%3Akeyinput">keyinput</a>,
<a href="/wiki/doku.php/tag:click?do=showtag&amp;tag=tag%3Aclick">click</a>

@ -184,13 +184,11 @@ See also: Advanced jME3 developers additionally use <a href="/com/jme3/gde/core/
</p>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner,</a>,
<a href="/wiki/doku.php/tag:state?do=showtag&amp;tag=tag%3Astate">state</a>,
<a href="/wiki/doku.php/tag:states?do=showtag&amp;tag=tag%3Astates">states</a>,
<a href="/wiki/doku.php/tag:intro?do=showtag&amp;tag=tag%3Aintro">intro</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner</a>,
<a href="/wiki/doku.php/tag:controller?do=showtag&amp;tag=tag%3Acontroller">controller</a>,
<a href="/wiki/doku.php/tag:controllers?do=showtag&amp;tag=tag%3Acontrollers">controllers</a>,
<a href="/wiki/doku.php/tag:control?do=showtag&amp;tag=tag%3Acontrol">control</a>,
<a href="/wiki/doku.php/tag:loop?do=showtag&amp;tag=tag%3Aloop">loop</a>
</span></div>

@ -430,7 +430,6 @@ See also
</ul>
<div><span>
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner,</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner</a>,
<a href="/wiki/doku.php/tag:intro?do=showtag&amp;tag=tag%3Aintro">intro</a>,
<a href="/wiki/doku.php/tag:model?do=showtag&amp;tag=tag%3Amodel">model</a>,

@ -373,11 +373,9 @@ You have learned that your 3D scene is a scene graph made up of Spatials: Visibl
<p>
Since standard shapes like spheres and boxes get old fast, continue with the next chapter where you learn to <a href="/com/jme3/gde/core/docs/jme3/beginner/hello_asset.html">load assets, such as 3-D models</a>.
</p>
<div><span>
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner,</a>,
<a href="/wiki/doku.php/tag:rootnode?do=showtag&amp;tag=tag%3Arootnode">rootNode</a>,
<a href="/wiki/doku.php/tag:node?do=showtag&amp;tag=tag%3Anode">node</a>,
<a href="/wiki/doku.php/tag:intro?do=showtag&amp;tag=tag%3Aintro">intro</a>,

@ -640,7 +640,7 @@ You have learned how to activate the jBullet PhysicsSpace in an application by a
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:input?do=showtag&amp;tag=tag%3Ainput">input</a>,
<a href="/wiki/doku.php/tag:model?do=showtag&amp;tag=tag%3Amodel">model</a>,
<a href="/wiki/doku.php/tag:controller?do=showtag&amp;tag=tag%3Acontroller">controller</a>
<a href="/wiki/doku.php/tag:control?do=showtag&amp;tag=tag%3Acontrol">control</a>
</span></div>
</div>

@ -527,7 +527,6 @@ See also:
</ul>
<div><span>
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner,</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:intro?do=showtag&amp;tag=tag%3Aintro">intro</a>,
<a href="/wiki/doku.php/tag:node?do=showtag&amp;tag=tag%3Anode">node</a>,

@ -281,11 +281,12 @@ See also:
</li>
</ul>
<div><span>
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner,</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner</a>,
<a href="/wiki/doku.php/tag:intro?do=showtag&amp;tag=tag%3Aintro">intro</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:init?do=showtag&amp;tag=tag%3Ainit">init</a>
<a href="/wiki/doku.php/tag:init?do=showtag&amp;tag=tag%3Ainit">init</a>,
<a href="/wiki/doku.php/tag:simpleapplication?do=showtag&amp;tag=tag%3Asimpleapplication">simpleapplication</a>,
<a href="/wiki/doku.php/tag:basegame?do=showtag&amp;tag=tag%3Abasegame">basegame</a>
</span></div>
</div>

@ -561,7 +561,6 @@ See also:
</ul>
<div><span>
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner</a>,
<a href="/wiki/doku.php/tag:beginner?do=showtag&amp;tag=tag%3Abeginner">beginner,</a>,
<a href="/wiki/doku.php/tag:heightmap?do=showtag&amp;tag=tag%3Aheightmap">heightmap</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,
<a href="/wiki/doku.php/tag:terrain?do=showtag&amp;tag=tag%3Aterrain">terrain</a>,

@ -30,7 +30,7 @@ Set the boolean in the AppSettings contructor to true if you want to keep the de
</p>
<p>
<p><div>Use <code>app.setShowSettings(false);</code> in the <code>main()</code> method to hide the default settings window (default splash screen) at startup.
<p><div>Use <code>app.setShowSettings(true);</code> to present the user with a splashscreen and display settings dialog when starting the game, or <code>app.setShowSettings(false);</code> to hide the custom splashscreen. Set this boolean before calling <code>app.start()</code> on the SimpleApplication.
</div></p>
</p>
@ -40,15 +40,11 @@ Set the boolean in the AppSettings contructor to true if you want to keep the de
<div>
<div><table>
<tr>
<th>Settings Property</th><th>Dscription</th><th>Default</th>
<th>Settings Property (Video)</th><th>Description</th><th>Default</th>
</tr>
<tr>
<td>setRenderer(AppSettings.LWJGL_OPENGL2) <br/>
setRenderer(AppSettings.LWJGL_OPENGL3)</td><td>Switch Video Renderer</td><td>OpenGL 2</td>
</tr>
<tr>
<td>setAudioRenderer(AppSettings.LWJGL_OPENAL) <br/>
setAudioRenderer(AppSettings.LWJGL_JOAL)</td><td>Switch Audio Renderer</td><td>OpenAL</td>
</tr>
<tr>
<td>setBitsPerPixel(8)</td><td>Set color depth. <br/>
@ -78,20 +74,46 @@ Depending on your graphic card, you may be able to set multisampling to higher v
<td>setVSync(true)</td><td>Set vertical syncing to true to time the frame buffer to coincide with the refresh interval of the screen: Prevents page tearing, but slower; recommened for release. <br/>
Set to false to deactivate vertical syncing (faster, but possible page tearing artifacts); can be deactivated during development.</td><td>false</td>
</tr>
</table></div>
<!-- EDIT1 TABLE [1372-3122] --><div><table>
<tr>
<td>useInput(false)</td><td>Respond to user input by mouse and keyboard. Can be deactivated for use cases where you only display a 3D scene on the canvas without any interaction.</td><td>true</td>
<th>Settings Property (Input)</th><th>Description</th><th>Default</th>
</tr>
<tr>
<td>useJoysticks(true)</td><td>Activate optional joystick support</td><td>false</td>
<td>setUseInput(false)</td><td>Respond to user input by mouse and keyboard. Can be deactivated for use cases where you only display a 3D scene on the canvas without any interaction.</td><td>true</td>
</tr>
<tr>
<td>setSettingsDialogImage(&quot;/path/in/assets.png&quot;)</td><td>A custom image to display when the settings dialog is shown.</td><td>&quot;/com/jme3/app/Monkey.png&quot;</td>
<td>setUseJoysticks(true)</td><td>Activate optional joystick support</td><td>false</td>
</tr>
</table></div>
<!-- EDIT2 TABLE [3124-3413] --><div><table>
<tr>
<th>Settings Property (Audio)</th><th>Description</th><th>Default</th>
</tr>
<tr>
<td>setAudioRenderer(AppSettings.LWJGL_OPENAL) <br/>
setAudioRenderer(AppSettings.LWJGL_JOAL)</td><td>Switch Audio Renderer</td><td>OpenAL</td>
</tr>
<tr>
<td>setStereo3D(true)</td><td>Enable 3D stereo. This feature requires hardware support from the GPU driver. See <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://en.wikipedia.org/wiki/Quad_buffering"><param name="text" value="<html><u>Quard Buffering</u></html>"><param name="textColor" value="blue"></object>.</td><td>false</td>
</tr>
</table></div>
<!-- EDIT3 TABLE [3415-3753] --><div><table>
<tr>
<th>Settings Property (Branding)</th><th>Description</th><th>Default</th>
</tr>
<tr>
<td>setTitle(&quot;My Game&quot;)</td><td>This string will be visible in the titlebar, unless the window is fullscreen.</td><td>&quot;jMonkey Engine 3.0&quot;</td>
</tr>
<tr>
<td>setIcons(new BufferedImage[]{ <br/>
ImageIO.read(new File(&quot;&quot;)), …});</td><td>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 <acronym title="Operating System">OS</acronym>. Note: This is not the application icon on the desktop.</td><td>null</td>
</tr>
<tr>
<td>setSettingsDialogImage(&quot;/path/to/splash.png&quot;)</td><td>A custom splashscreen image in the assets directory which is displayed when the settings dialog is shown.</td><td>&quot;/com/jme3/app/Monkey.png&quot;</td>
</tr>
</table></div>
<!-- EDIT1 TABLE [1235-3587] -->
<!-- EDIT4 TABLE [3755-4402] -->
</div>
<h2><a>Saving and Loading Settings</a></h2>
@ -102,13 +124,35 @@ Set to false to deactivate vertical syncing (faster, but possible page tearing a
An AppSettings object also supports the following methods:
</p>
<ul>
<li><div> Use <code>settings.save(outstream)</code> to save your settings via standard java.io serialization.</div>
<li><div> Use <code>settings.save(&quot;unique_key&quot;)</code> to save your settings via standard java.io serialization.</div>
</li>
<li><div> Use <code>settings.load(instream)</code> to load your settings.</div>
<li><div> Use <code>settings.load(&quot;unique_key&quot;)</code> to load your settings.</div>
</li>
<li><div> Use <code>settings2.copyFrom(settings)</code> to copy a settings object.</div>
</li>
</ul>
<p>
Usage:
</p>
<p>
Provide the unique name of your jME3 application as the String argument. For example <code>com.foo.MyCoolGame3</code>.
</p>
<pre> try &#123; settings.save&#40;&quot;com.foo.MyCoolGame3&quot;&#41;; &#125;
catch &#40;BackingStoreException ex&#41; &#123; /** could not save settings */ &#125;</pre>
<ul>
<li><div> On Windows, the preferences are saved under the following registry key: <br/>
<code>HKEY_CURRENT_USER\Software\JavaSoft\Prefs\com\foo\MyCoolGame3</code></div>
</li>
<li><div> On Linux, the preferences are saved in an <acronym title="Extensible Markup Language">XML</acronym> file under: <br/>
<code>$HOME/.java/.userPrefs/com/foo/MyCoolGame3</code></div>
</li>
<li><div> On Mac <acronym title="Operating System">OS</acronym> X, the preferences are saved as <acronym title="Extensible Markup Language">XML</acronym> file under: <br/>
<code>$HOME/Library/Preferences/com.foo.MyCoolGame3.plist</code></div>
</li>
</ul>
</div>
<p><em><a href="http://direct.jmonkeyengine.org/wiki/doku.php/jme3:intermediate:appsettings?do=export_xhtmlbody">view online version</a></em></p>

@ -147,7 +147,7 @@ var NS='jme3:intermediate';var JSINFO = {"id":"jme3:intermediate:headlessserver"
<select><option value="wiki">Wiki</option><option value="forums">Forums</option><option value="posts">Blog</option><option value="groups">Groups</option><option value="links">Links</option></select>
<input type="submit" name="search-submit" id="search-submit" value="Search" />
<input type="hidden" id="_wpnonce" name="_wpnonce" value="ba206ab692" /><input type="hidden" name="_wp_http_referer" value="/com/jme3/gde/core/docs/jme3/intermediate/headlessserver.html" />
<input type="hidden" id="_wpnonce" name="_wpnonce" value="8539ed8aa9" /><input type="hidden" name="_wp_http_referer" value="/com/jme3/gde/core/docs/jme3/intermediate/headlessserver.html" />
</form><!-- #search-form -->
@ -302,7 +302,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
<div>
<form><div><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="" /><input type="submit" value="Show pagesource" class="button" accesskey="v" title="Show pagesource [V]" /></div></form> <form><div><input type="hidden" name="do" value="revisions" /><input type="submit" value="Old revisions" class="button" accesskey="o" title="Old revisions [O]" /></div></form> </div>
<div>
<form><div><input type="hidden" name="do" value="login" /><input type="hidden" name="sectok" value="7d161247981f30874b548fa70ae2c4dc" /><input type="submit" value="Login" class="button" title="Login" /></div></form> <form><div><input type="hidden" name="do" value="index" /><input type="submit" value="Sitemap" class="button" accesskey="x" title="Sitemap [X]" /></div></form> <a><input type="button" class="button" value="Back to top" onclick="window.scrollTo(0, 0)" title="Back to top" /></a>&nbsp;
<form><div><input type="hidden" name="do" value="login" /><input type="hidden" name="sectok" value="accf77e7e66593d3a3e1cc89491ccde3" /><input type="submit" value="Login" class="button" title="Login" /></div></form> <form><div><input type="hidden" name="do" value="index" /><input type="submit" value="Sitemap" class="button" accesskey="x" title="Sitemap [X]" /></div></form> <a><input type="button" class="button" value="Back to top" onclick="window.scrollTo(0, 0)" title="Back to top" /></a>&nbsp;
</div>
<div></div>
</div-->
@ -353,7 +353,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
<script type='text/javascript' src='http://jmonkeyengine.org/wp-includes/js/jquery/ui.position.js?ver=1.8.12'></script>
<script type='text/javascript' src='http://jmonkeyengine.org/wp-includes/js/jquery/ui.dialog.js?ver=1.8.12'></script>
<!-- Generated in 0.316 seconds. (73 q) -->
<!-- Generated in 0.334 seconds. (73 q) -->
<div>
<div></div>

@ -172,12 +172,7 @@ The com.jme3.app.SimpleApplication class extends the generic com.jme3.app.Applic
<p>
<p><div>By default, a SimpleApplication also displays statistics (such as frames per second) on the screen, using the com.jme3.app.StatsView class. You hide the statistics HUD from the screen by calling <code>setDisplayFps(false); setDisplayStatView(false);</code> inside the <code>simpleInitApp()</code> method. The displays contain valuable information during the development and debugging phase. At the latest, you remove these displays for the release.
</div></p>
</p>
<p>
Additional to the functionality that Application brings, SimpleApplication offers:
Additional to the functionality that Application brings, SimpleApplication offers the following methods and fields that can be used, for example, inside the <code>simpleInitApp()</code> method:
</p>
<div><table>
@ -197,35 +192,44 @@ getGuiNode()</td><td>Attach flat <acronym title="Graphical User Interface">GUI</
getFlyByCamera()</td><td>The default first-person fly-by camera control. This default camera control lets you navigate the 3D scene using the preconfigured WASD and arrow keys and the mouse.</td>
</tr>
</table></div>
<!-- EDIT4 TABLE [6236-6779] --><div><table>
<!-- EDIT4 TABLE [5889-6432] --><div><table>
<tr>
<th>SimpleApplication Method</th><th>Purpose</th>
</tr>
<tr>
<td>loadStatsView()</td><td>Call this method to print live statistic information to the screen, such as current frames-per-second and triangles/vertices counts. You use this info typically only during development or debugging.</td>
<td>loadStatsView();</td><td>Call this method to print live statistic information to the screen, such as current frames-per-second and triangles/vertices counts. You use this info typically only during development or debugging.</td>
</tr>
<tr>
<td>loadFPSText();</td><td>Call this method to print the current framerate (frames per second) to the screen.</td>
</tr>
<tr>
<td>loadFPSText()</td><td>Call this method to print the current framerate (frames per second) to the screen.</td>
<td>setDisplayFps(false);</td><td>A default SimpleApplication displays the framerate (frames per second) on the screen. You can choose to deactivate the FPS display using this command.</td>
</tr>
<tr>
<td>setShowSettings(true)</td><td>Whether the user should be presented with a splashscreen and display settings dialog when starting the game. Set this boolean before calling start() on the SimpleApplication.</td>
<td>setDisplayStatView(false);</td><td>A default SimpleApplication displays mesh statistics on the screen using the com.jme3.app.StatsView class. The information is valuable during the development and debugging phase, but for the release, you should hide the statistics HUD.</td>
</tr>
</table></div>
<!-- EDIT5 TABLE [6781-7330] --><div><table>
<!-- EDIT5 TABLE [6434-7226] --><div><table>
<tr>
<th>SimpleApplication Interface</th><th>Purpose</th>
</tr>
<tr>
<td>simpleInitApp()</td><td>Override this method to initialize the game scene. Here you load and create objects, attach Spatials to the rootNode, and bring everything in its starts position. See also <a href="/com/jme3/gde/core/docs/jme3/advanced/application_states.html">Application States</a> for best practies.</td>
<td>public void simpleInitApp()</td><td>Override this method to initialize the game scene. Here you load and create objects, attach Spatials to the rootNode, and bring everything in its starts position. See also <a href="/com/jme3/gde/core/docs/jme3/advanced/application_states.html">Application States</a> for best practices.</td>
</tr>
<tr>
<td>simpleUpdate(float tpf)</td><td>Override this method to have access to the <a href="/com/jme3/gde/core/docs/jme3/advanced/update_loop.html">update loop</a>. Use this loop to poll the current game state and respond to changes, or to let the game mechanics generate encounters and initiate state changes. Use tpd (time per frame) as a factor to time events. For more info on how to hook into the <a href="/com/jme3/gde/core/docs/jme3/advanced/update_loop.html">update loop</a>, see <a href="/com/jme3/gde/core/docs/jme3/advanced/application_states.html">Application States</a> and <a href="/com/jme3/gde/core/docs/jme3/advanced/custom_controls.html">Custom Controls</a>. </td>
<td>public void simpleUpdate(float tpf)</td><td>Override this method to have access to the <a href="/com/jme3/gde/core/docs/jme3/advanced/update_loop.html">update loop</a>. Use this loop to poll the current game state and respond to changes, or to let the game mechanics generate encounters and initiate state changes. Use tpf (time per frame) as a factor to time events. For more info on how to hook into the <a href="/com/jme3/gde/core/docs/jme3/advanced/update_loop.html">update loop</a>, see <a href="/com/jme3/gde/core/docs/jme3/advanced/application_states.html">Application States</a> and <a href="/com/jme3/gde/core/docs/jme3/advanced/custom_controls.html">Custom Controls</a>. </td>
</tr>
<tr>
<td>simpleRender()</td><td><strong>Optional:</strong> Override this method to implement <em>advanced</em> modifications of the frameBuffer and scene graph.</td>
<td>public void simpleRender(RenderManager rm)</td><td><strong>Optional:</strong> Override this method to implement <em>advanced</em> modifications of the frameBuffer and scene graph.</td>
</tr>
</table></div>
<!-- EDIT6 TABLE [7332-8197] -->
<!-- EDIT6 TABLE [7228-8146] -->
<p>
<p><div>Use <code>app.setShowSettings(true);</code> to present the user with a splashscreen and display settings dialog when starting the game, or <code>app.setShowSettings(false);</code> to hide the custom splashscreen. Set this boolean before calling <code>app.start()</code> on the SimpleApplication.
</div></p>
</p>
</div>
<h2><a>Default Input Mappings</a></h2>
@ -250,7 +254,7 @@ The following default navigational input actions are mapped by the default <code
<td>KEY_M</td><td>Prints memory usage stats the out stream.</td>
</tr>
</table></div>
<!-- EDIT7 TABLE [8469-8660] -->
<!-- EDIT7 TABLE [8705-8896] -->
<p>
As long as useInput() is true, the default Flyby Cam is active. Then the following so-called &quot;WASD&quot; inputs are additionally available:
@ -300,7 +304,7 @@ As long as useInput() is true, the default Flyby Cam is active. Then the followi
<td>Rotate drag</td><td>Hold left mouse button and move</td>
</tr>
</table></div>
<!-- EDIT8 TABLE [8798-9358] --><div><span>
<!-- EDIT8 TABLE [9034-9594] --><div><span>
<a href="/wiki/doku.php/tag:display?do=showtag&amp;tag=tag%3Adisplay">display</a>,
<a href="/wiki/doku.php/tag:basegame?do=showtag&amp;tag=tag%3Abasegame">basegame</a>,
<a href="/wiki/doku.php/tag:documentation?do=showtag&amp;tag=tag%3Adocumentation">documentation</a>,

@ -3,8 +3,8 @@
<div>
<p>
Before you start, make certain you are familiar with the following concepts and terminology.
Before you start, make certain you are familiar with the following concepts and terminology.
</p>
</div>
@ -24,7 +24,6 @@ Before you start, make certain you are familiar with the following concepts and
<p>
<strong>OpenAL</strong> is the Open Audio Library, a platform-independent 3D audio <acronym title="Application Programming Interface">API</acronym>.
</p>
</div>
@ -33,6 +32,7 @@ Before you start, make certain you are familiar with the following concepts and
<div>
<p>
The <strong>jME Context</strong> makes settings, renderer, timer, input and event listeners, display system, accessible to a JME game.
</p>
<ul>
@ -59,10 +59,13 @@ The <strong>jME Context</strong> makes settings, renderer, timer, input and even
<div>
<p>
Coordinates represent a location in a coordinate system, relative to the origin (0,0,0). m. In 3D space, you need to specify three coordinate values to locate a point: x,y,z.
As opposed to a vector (which looks similar), a coordinate does not have a &quot;direction&quot;.
<img src="nbdocs:/com/jme3/gde/core/docs/jme3/intermediate/coordinate-system.png">
</p>
<p>
<img src="nbdocs:/com/jme3/gde/core/docs/jme3/intermediate/coordinate-system.png">
</p>
</div>
@ -71,9 +74,9 @@ As opposed to a vector (which looks similar), a coordinate does not have a &quot
<div>
<p>
The origin is the central point in the 3D world. It&#039;s at the coordinates (0,0,0).
Code sample: <code>Vector3f origin = new Vector3f( Vector3f.ZERO );</code>
</p>
</div>
@ -82,9 +85,9 @@ Code sample: <code>Vector3f origin = new Vector3f( Vector3f.ZERO );</code>
<div>
<p>
A vector has a length and a direction. It is used like an arrow pointing at a point in 3D space. A vector starts at the origin (0,0,0), and ends at the target coordinate (x,y,z). Backwards directions are expressed with negative values.
Code sample: <code>Vector3f v = new Vector3f( 17 , -4 , 0 );</code>
</p>
</div>
@ -93,6 +96,7 @@ Code sample: <code>Vector3f v = new Vector3f( 17 , -4 , 0 );</code>
<div>
<p>
A <em>unit vector</em> is a basic vector with a length of 1 world unit. Since its length is fixed (and it thus can only point at one location anyway), the only interesting thing about this vector is its direction.
</p>
<ul>
@ -106,16 +110,23 @@ A <em>unit vector</em> is a basic vector with a length of 1 world unit. Since it
</li>
</ul>
<p>
Negate the vegator to change its direction, e.g. (-1, 0, 0) = left.
</p>
</div>
<h3><a>Normalized Vectors</a></h3>
<div>
<p>
A <em>normalized vector</em> is a custom <em>unit vector</em>. A normalized vector is not the same as a <em>(surface) normal vector</em>.
When you normalize a vector, it still has the same direction, but you lose the information where the vector originally pointed.
For instance, you normalize vectors before calculating angles.
</p>
<p>
<strong>Example:</strong> You normalize vectors before calculating angles.
</p>
</div>
@ -124,9 +135,9 @@ For instance, you normalize vectors before calculating angles.
<div>
<p>
A surface normal is a vector that is perpendicular to a plane.
You calculate the Surface Normal by calculating the cross product.
</p>
</div>
@ -135,12 +146,15 @@ You calculate the Surface Normal by calculating the cross product.
<div>
<p>
The cross product is a calculation that you use to find a perpendicular vector (an orthogonal, a &quot;right angle&quot; at 90°).
In 3D space, speaking of an orthogonal only makes sense with respect to a plane. You need two vectors to uniquely define a plane. The cross product of the two vectors, <code>v1 × v2</code>, is a new vector that is perpendicular to this plane. A vector perpendicular to a plane is a called <em>Surface Normal</em>.
Example: The x unit vector and the y unit vector together define the x/y plane. The vector perpendicular to them is the z axis. JME can calculate that this equation is true: <br/>
</p>
<code>( Vector3f.UNIT_X.cross( Vector3f.UNIT_Y ) ).equals( Vector3f.UNIT_Z )</code> == true
<p>
<strong>Example:</strong> The x unit vector and the y unit vector together define the x/y plane. The vector perpendicular to them is the z axis. JME can calculate that this equation is true: <br/>
<code>( Vector3f.UNIT_X.cross( Vector3f.UNIT_Y ) ).equals( Vector3f.UNIT_Z )</code> == true
</p>
</div>
@ -149,12 +163,24 @@ Example: The x unit vector and the y unit vector together define the x/y plane.
<div>
<p>
<img src="nbdocs:/com/jme3/gde/core/docs/jme3/dolphin-mesh.png">
</p>
<p>
Most visible objects in a 3D scene are made up of polygon meshes – characters, terrains, buildings, etc. A mesh is a grid-like structure that represents a complex shape. The advantage of a mesh is that it is mathematically simple enough to render in real time, and detailed enough to be recognizable.
</p>
<p>
Every shape is reduced to a number of connected polygons, usually triangles; even round surfaces such as spheres are reduced to a grid of triangles. The polygons&#039; corner points are called vertices. Every vertex is positioned at a coordinate, all vertices together describe the outline of the shape.
You create 3D meshes in tools called mesh editors, e.g in Blender.
<a href="/com/jme3/gde/core/docs/jme3/math.html">Learn more about 3D maths here.</a>
</p>
<p>
You create 3D meshes in tools called mesh editors, e.g in Blender. The jMonkeyEngine can load finished meshes (=models) and arrange them to scenes, but it cannot edit the mesh itself.
</p>
<p>
<a href="/com/jme3/gde/core/docs/jme3/math.html">Learn more about 3D maths here.</a>
</p>
</div>
@ -163,8 +189,8 @@ You create 3D meshes in tools called mesh editors, e.g in Blender.
<div>
<p>
What we call &quot;color&quot; is merely part of an object&#039;s light reflection. The onlooker&#039;s brain uses shading and reflecting properties to infer an object&#039;s shape and material. Factors like these make all the difference between chalk vs milk, skin vs paper, water vs plastic, etc! (<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://www.shaders.org/ifw2_textures/whatsin10.htm"><param name="text" value="<html><u>External examples</u></html>"><param name="textColor" value="blue"></object>)
What we call &quot;color&quot; is merely part of an object&#039;s light reflection. The onlooker&#039;s brain uses shading and reflecting properties to infer an object&#039;s shape and material. Factors like these make all the difference between chalk vs milk, skin vs paper, water vs plastic, etc! (<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://www.shaders.org/ifw2_textures/whatsin10.htm"><param name="text" value="<html><u>External examples</u></html>"><param name="textColor" value="blue"></object>)
</p>
</div>
@ -252,7 +278,6 @@ Set the Specular color to ColorRGBA.Black to switch off shininess.</div>
<p>
<img src="/wiki/lib/exe/fetch.php">
</p>
</div>
@ -261,9 +286,9 @@ Set the Specular color to ColorRGBA.Black to switch off shininess.</div>
<div>
<p>
Textures are part of Materials. In the simplest case, an object could have just one texture, the Color Map, loaded from one image file. When you think back of old computer games you&#039;ll remember this looks quite plain.
The more information you (the game designer) provide additionally to the Color Map, the higher the degree of detail and realism. Whether you want photo-realistic rendering or &quot;toon&quot; rendering (Cel Shading), everything depends on the quality of your materials and texture maps. Modern 3D graphics use several layers of information to describe one material, each layer is a Texture Map.
</p>
</div>
@ -380,10 +405,16 @@ A seamless texture is an image file that has been designed so that it can be use
<div>
<p>
<img src="/wiki/lib/exe/fetch.php">
Creating a texture for a cube is easy – but what about a character with a face and extremities? For more complex objects, you design the texture in the same ways as a sewing pattern: One image file contains the outline of the front, back, and side of the object, next to one another. Specific areas of the flat texture (UV coordinates) map onto certain areas of your 3D model (XYZ coordinates), hence the name UV map.
Getting the seams and mappings right is crucial: You will have to use a graphic tool like Blender to create UV Maps. It&#039;s worth the while to learn this, UV mapped models look a lot more professional.
</p>
<p>
Creating a texture for a cube is easy – but what about a character with a face and extremities? For more complex objects, you design the texture in the same ways as a sewing pattern: One image file contains the outline of the front, back, and side of the object, next to one another. Specific areas of the flat texture (UV coordinates) map onto certain areas of your 3D model (XYZ coordinates), hence the name UV map. Using UV Maps, models can have a different texture on each side.
</p>
<p>
Getting the seams and mappings right is crucial: You must use a graphic tool like Blender to create UV Maps and store the coordinates. It&#039;s worth the while to learn this, UV mapped models look a lot more professional.
</p>
</div>
@ -392,10 +423,13 @@ Getting the seams and mappings right is crucial: You will have to use a graphic
<div>
<p>
<img src="/wiki/lib/exe/fetch.php">
</p>
<p>
Environment Maps are used to create the impression of reflections and refractions. You create a Cube Map to represent your environment, similar to a skybox. (Sphere Maps are possible, but often look too distorted.) You give the Cube Map a set of images showing a &quot;360° view&quot; of the completed scene. The renderer uses this as base to texture the reflective surface.
Of course these reflections are static and not &quot;real&quot;, e.g. the player will not see his avatar&#039;s face reflected, etc… But they cause the desired &quot;glass/mirror/water&quot; effect, and are fast enough to render in real usecases, it&#039;s better than nothing.
</p>
</div>
@ -404,8 +438,8 @@ Of course these reflections are static and not &quot;real&quot;, e.g. the player
<div>
<p>
You provide the texture in two or three resolutions to be stored in one file (MIP = &quot;multum in parvo&quot; = &quot;many in one&quot;). Depending on how close (or far) the camera is, the engine automatically renders a more (or less) detailed texture for the object. Thus objects look smooth from close up, but don&#039;t waste resources with unspottable details when far away. Good for everything, but requires more time to create and more space to store textures.
You provide the texture in two or three resolutions to be stored in one file (MIP = &quot;multum in parvo&quot; = &quot;many in one&quot;). Depending on how close (or far) the camera is, the engine automatically renders a more (or less) detailed texture for the object. Thus objects look smooth from close up, but don&#039;t waste resources with unspottable details when far away. Good for everything, but requires more time to create and more space to store textures.
</p>
</div>
@ -414,10 +448,16 @@ You provide the texture in two or three resolutions to be stored in one file (MI
<div>
<p>
A procedural texture is generated from repeating one small image, plus some pseudo-random, gradient variations (Perlin noise). Procedural textures look more natural than static rectangular textures, for instance, they look less distorted on spheres. On big meshes, their repetitiveness is much less noticable than tiled seamless textures. Procedural textures are ideal for irregular large-area textures like grass, soil, rock, rust, and walls. See also: <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://jmonkeyengine.org/wiki/doku.php/jme3:jmonkeyplatform:neotexture"><param name="text" value="<html><u>jMonkeyPlatform NeoTexture plugin</u></html>"><param name="textColor" value="blue"></object>
</p>
<p>
<img src="/wiki/lib/exe/fetch.php">
See also: <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://www.blender.org/education-help/tutorials/materials/"><param name="text" value="<html><u>Creating Materials in Blender</u></html>"><param name="textColor" value="blue"></object>, <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Every_Material_Known_to_Man"><param name="text" value="<html><u>Blender: Every Material Known to Man</u></html>"><param name="textColor" value="blue"></object>
</p>
<p>
See also: <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://www.blender.org/education-help/tutorials/materials/"><param name="text" value="<html><u>Creating Materials in Blender</u></html>"><param name="textColor" value="blue"></object>, <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Every_Material_Known_to_Man"><param name="text" value="<html><u>Blender: Every Material Known to Man</u></html>"><param name="textColor" value="blue"></object>
</p>
</div>
@ -426,9 +466,9 @@ See also: <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
<div>
<p>
In 3D games, Skeletal Animation is used for animated characters, but in principle the skeleton approach can be extended to any 3D mesh (for example, an opening crate&#039;s hinge can be considered a joint).
Unless you animate a 3D cartoon, realism of animated characters is generally a problem: Movement can look alien-like mechanical or broken, the character appears hollow, or as if floating. Professional game designers invest a lot of effort to make characters animate in a natural way (including motion capturing).
</p>
</div>
@ -437,8 +477,15 @@ Unless you animate a 3D cartoon, realism of animated characters is generally a p
<div>
<p>
<img src="/wiki/lib/exe/fetch.php">
</p>
<p>
An animated character has an armature: An internal skeleton (Bones) and an external surface (Skin). The Skin is the visible outside of the character and it includes clothing. The Bones are not visible and are used to interpolate (calculate) the morphing steps of the skin.
</p>
<p>
JME3, the game engine, only loads and plays your recorded animations. You must use a tool (such as Blender) to set up (rig, skin, and animate) a character.
</p>
<ol>
@ -494,7 +541,6 @@ E.g. when the thigh bone moves, the leg is fully affected, the hips joints less
<p>
In the JME3 application, you register animated models to the Animation Controller. The controller object gives you access to the available animation sequences. The controller has several channels, each channels can run one animation sequence at a time. To run several sequences, you create several channels, and run them in parallel.
</p>
</div>
@ -514,8 +560,8 @@ Non-player (computer-controlled) characters (NPCs) are only fun in a game if the
The domain of artificial intelligence deals, among other things, with:
</p>
<ul>
<li><div> <strong>Knowledge</strong>An agent only &quot;knows&quot; what it can &quot;see and hear&quot;, this implies that information can be hidden from it (to keep the game fair). You can let some agents share knowledge and let others find out by themselves. <br/>
Example: All guards with two-way radios know the player&#039;s position within 60 sec, while other guards don&#039;t know anything yet.</div>
<li><div> <strong>Knowledge</strong>Knowledge is about the data to which the agent has access to base its decisions on. Realistic agents only &quot;know&quot; what they &quot;see and hear&quot;, this implies that information can be hidden from them (to keep the game fair). You can let some agents share information and others need to find out by themselves. <br/>
Example: After tripping the wire, all guards with two-way radios start moving towards the player&#039;s position within 60 sec, while minor guards don&#039;t suspect anything yet.</div>
</li>
<li><div> <strong>Goal Planning</strong> – Planning is about how the agent <em>takes action</em>. Each game agent has the priority to achieve a specific goal, to reach a future state. You split the agent&#039;s goal into subgoals, then the agent chooses from available tactics and strategies, and prioritizes them. The agent keeps testing whether the current state is closer to the (sub)goal. If unsuccessful, the agent changes the tactics/strategy and tries again. <br/>
Example: An agent searches the best path to reach the player base in a changing environment; an agent chases the player with the goal of eliminating him; an agent hides from the player with the goal of murdering a VIP. </div>

@ -8,7 +8,7 @@ JMonkeyPlatform imports models from your project and stores them in the assets f
</p>
<p>
Presently, <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://www.blender.org/"><param name="text" value="<html><u>Blender 3D</u></html>"><param name="textColor" value="blue"></object> is the preferred modelling tool for jME3 as it is also Open-Source Software and an exporter for OgreXML files exists. Note that the OgreXML exporter is not yet compatible with Blender 2.5alpha!
Presently, <object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer"><param name="content" value="http://www.blender.org/"><param name="text" value="<html><u>Blender 3D</u></html>"><param name="textColor" value="blue"></object> is the preferred modelling tool for jME3 as it is also Open-Source Software and an exporter for OgreXML files exists. Note that the OgreXML exporter is not compatible with Blender 2.49 or before!
</p>
<p>

Loading…
Cancel
Save