features.html 20 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="Asciidoctor 1.5.4"><title>jMonkeyEngine 3.0 Feature Overview</title><link rel="stylesheet" href="./asciidoctor.css">
  2. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
  3. <link rel="stylesheet" href="./coderay-asciidoctor.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css"><link rel="stylesheet" href="/home/travis/build/jMonkeyEngine/wiki/build/asciidoc/html5/jme3/twemoji-awesome.css"></head><body class="article toc2 toc-left"><div id="header"><div id="toolbar"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/src/docs/asciidoc/jme3/features.adoc"><i class="fa fa-pencil-square" aria-hidden="true"></i></a><a href="https://github.com/jMonkeyEngine/wiki/new/master/src/docs/asciidoc/jme3/"><i class="fa fa-plus-square" aria-hidden="true"></i></a><input dir="auto" style="position: relative; vertical-align: top;" spellcheck="false" autocomplete="off" class="searchbox__input aa-input" id="doc-search" name="search" placeholder="Search in the doc" required="required" type="search"></div><h1>jMonkeyEngine 3.0 Feature Overview</h1><div class="details"><span class="author" id="author"></span><br><span id="revnumber">version ,</span> <span id="revdate">2016/03/17 20:48</span></div><div id="toc" class="toc2"><div id="toctitle">Table of Contents</div><ul class="sectlevel1"><li><a href="#software-development-kit-jmonkeyengine-sdk">Software Development Kit: jMonkeyEngine SDK</a></li><li><a href="#physics">Physics</a></li><li><a href="#supported-formats">Supported Formats</a><ul class="sectlevel2"><li><a href="#jmonkeyengine3-file-formats">jMonkeyEngine3 File Formats</a></li><li><a href="#supported-external-file-types">Supported External File Types</a></li></ul></li><li><a href="#shaders">Shaders</a></li><li><a href="#material-lighting">Material Lighting</a></li><li><a href="#material-textures">Material Textures</a></li><li><a href="#asset-system">Asset System</a></li><li><a href="#special-effects">Special Effects</a></li><li><a href="#terrain">Terrain</a></li><li><a href="#gui-hud">GUI / HUD</a></li><li><a href="#miscellaneous">Miscellaneous</a></li><li><a href="#networking">Networking</a></li></ul></div></div><div id="content"><div id="preamble"><div class="sectionbody"><div class="paragraph"><p>See also: <a href="../jme3/requirements.html">requirements</a>.</p></div></div></div>
  4. <div class="sect1"><h2 id="software-development-kit-jmonkeyengine-sdk">Software Development Kit: jMonkeyEngine SDK</h2><div class="sectionbody"><div class="ulist"><ul><li><p><a href="../sdk/project_creation.html">Creates jME3-ready Java projects</a></p><div class="ulist"><ul><li><p>Preconfigured classpath</p></li><li><p>Bundled with compatible JDK</p></li><li><p><a href="../jme3/advanced/asset_manager.html">Asset Manager</a> for loading multi-media files and 3D models including asset name code completion</p></li><li><p><a href="../sdk/default_build_script.html">Non-proprietary Ant build scripts</a></p></li><li><p>jME3-ready Javadoc popups, <a href="../sdk/sample_code.html">sample code projects</a>, and code snippet palette</p></li></ul></div></li><li><p><a href="../sdk/code_editor.html">Full-featured Java and XML code editor</a></p></li><li><p><a href="../sdk/update_center.html">Plugins</a></p><div class="ulist"><ul><li><p><a href="../sdk/version_control.html">File Version Control</a></p></li><li><p><a href="../sdk/debugging_profiling_testing.html">Debugger and Profiler (optional)</a></p></li><li><p><a href="../sdk/model_loader_and_viewer.html">Converters and Importers for game assets (3D models etc)</a></p></li><li><p><a href="../sdk/scene_composer.html">3D Scene Viewer and Scene Composer</a></p></li><li><p><a href="../sdk/material_editing.html">Material editor</a></p></li><li><p>Shader Node editor</p></li><li><p><a href="../sdk/terrain_editor.html">Terrain generation, painting, and editing</a></p></li><li><p><a href="../jme3/external/fonts.html">Custom font creator</a></p></li><li><p><a href="../sdk/neotexture.html">Procedural texture creator (NeoTexture)</a></p></li><li><p><a href="../jme3/advanced/level_of_detail.html">Level of Detail (LOD) generator</a></p></li><li><p><a href="../sdk.html">&#8230;&#8203; and much more&#8230;&#8203;</a></p></li></ul></div></li><li><p><a href="../sdk/application_deployment.html">Deployment</a></p><div class="ulist"><ul><li><p>Generates desktop executables for Win, Mac, Linux</p></li><li><p>Generates mobile executables for <a href="../jme3/android.html">Android</a>, iOS support is in the works.</p></li><li><p>Generates JNLP WebStart and Java Browser Applets</p></li></ul></div></li><li><p><a href="../sdk/whynoteclipse.html">Based on the NetBeans Platform</a></p><div class="ulist"><ul><li><p>Supports all NetBeans IDE plugins</p></li></ul></div></li></ul></div></div></div>
  5. <div class="sect1"><h2 id="physics">Physics</h2><div class="sectionbody"><div class="ulist"><ul><li><p><a href="../jme3/advanced/physics.html">JBullet physics binding</a></p><div class="ulist"><ul><li><p><a href="../jme3/advanced/walking_character.html">Physical characters</a></p></li><li><p><a href="../jme3/advanced/hinges_and_joints.html">Physical joints and hinges</a></p></li><li><p><a href="../jme3/advanced/vehicles.html">Ray-cast vehicle</a></p></li><li><p><a href="../jme3/advanced/ragdoll.html">Ragdoll physics</a></p></li></ul></div></li><li><p><a href="../jme3/advanced/bullet_multithreading.html">Multi-threaded physics</a></p></li><li><p><a href="../jme3/advanced/physics.html#create_a_collisionshape">Mesh-accurate collision shapes</a></p></li></ul></div></div></div>
  6. <div class="sect2"><h3 id="supported-formats">Supported Formats</h3><div class="sect2"><h3 id="jmonkeyengine3-file-formats">jMonkeyEngine3 File Formats</h3><table class="tableblock frame-all grid-all spread"><colgroup><col style="width: 10%;"><col style="width: 65%;"><col style="width: 25%;"></colgroup><thead><tr><th class="tableblock halign-left valign-top">Suffix</th><th class="tableblock halign-left valign-top">Usage</th><th class="tableblock halign-left valign-top">Learn more</th></tr></thead><tbody><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.j3o</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>Binary 3D model or scene. At the latest from the Beta release of your game on, you should convert all models to .j3o format.<br>
  7. During alpha and earlier development phases (when models still change a lot) you can alternatively load GLTF/OBJ models directly.</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p><a href="../sdk/model_loader_and_viewer.html">Model Loader and Viewer</a></p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.j3m</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>A custom Material. You can create a .j3m file to store a Material configuration for a Geometry (e.g. 3D model).</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p><a href="../jme3/advanced/materials_overview.html">Materials Overview</a><br>
  8. <a href="../sdk/material_editing.html">Material Editing</a></p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.j3md</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>A Material definition. These are pre-defined templates for shader-based Materials.<br>
  9. Each custom .j3m Material is based on a material definition. Advanced users can create their own material definitions.</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p><a href="../jme3/advanced/materials_overview.html">Materials Overview</a></p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.j3f</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>A custom post-processor filter configuration. You can create a .j3f file to store a FilterPostProcessor with a set of preconfigured filters.</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p><a href="../sdk/filters.html">Filters</a><br>
  10. <a href="../jme3/advanced/effects_overview.html">Effects Overview</a></p></div></div></td></tr></tbody></table></div>
  11. <div class="sect2"><h3 id="supported-external-file-types">Supported External File Types</h3><table class="tableblock frame-all grid-all spread"><colgroup><col style="width: 45%;"><col style="width: 10%;"><col style="width: 45%;"></colgroup><thead><tr><th class="tableblock halign-left valign-top">File Suffix</th><th class="tableblock halign-left valign-top">Type</th><th class="tableblock halign-left valign-top">Description</th></tr></thead><tbody><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.mesh.xml, .meshxml</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>3D model</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>Ogre Mesh XML <strong>(soon to be discontinued)</strong><br>
  12. see:<br>
  13. <a href="../blender/blender_ogre_export.html">Exporting Models as Ogre XML meshes from Blender</a></p></div>
  14. <div class="paragraph"><p>Converting to j3o:</p></div>
  15. <div class="ulist"><ul><li><p><a href="../sdk/model_loader_and_viewer.html">SDK convert</a></p></li><li><p><a href="https://javadoc.jmonkeyengine.org/v3.3.0-beta1/com/jme3/export/binary/BinaryExporter.html">BinaryExporter</a></p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.scene</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>3D scene</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>Ogre DotScene <strong>(soon to be discontinued)</strong><br>
  16. Converting to j3o:</p></div>
  17. <div class="ulist"><ul><li><p><a href="../sdk/model_loader_and_viewer.html">SDK convert</a></p></li><li><p><a href="https://javadoc.jmonkeyengine.org/v3.3.0-beta1/com/jme3/export/binary/BinaryExporter.html">BinaryExporter</a></p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.OBJ, .MTL</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>3D model</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>Wavefront<br>
  18. Converting to j3o:</p></div>
  19. <div class="ulist"><ul><li><p><a href="../sdk/model_loader_and_viewer.html">SDK convert</a></p></li><li><p><a href="https://javadoc.jmonkeyengine.org/v3.3.0-beta1/com/jme3/export/binary/BinaryExporter.html">BinaryExporter</a></p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.xbuf</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>3D model</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>Blender version 2.74<br>
  20. See:</p></div>
  21. <div class="ulist"><ul><li><p><a href="https://hub.jmonkeyengine.org/t/xbuf-format-a-developer-friendly-game-exchange-format-for-3d-data/31130">.xbuf</a> forum post.</p></li></ul></div>
  22. <div class="paragraph"><p>Converting to j3o:</p></div>
  23. <div class="ulist"><ul><li><p><a href="../sdk/model_loader_and_viewer.html">SDK convert</a></p></li><li><p><a href="https://javadoc.jmonkeyengine.org/v3.3.0-beta1/com/jme3/export/binary/BinaryExporter.html">BinaryExporter</a></p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.gltf, .bin, .glb, custom extensions</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>3D model</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>Blender version 2.78c onwards,<br>
  24. See:</p></div>
  25. <div class="ulist"><ul><li><p><a href="https://hub.jmonkeyengine.org/t/jme-gltf-support/39174">gltf</a> forum post</p></li><li><p><a href="../blender/blender_gltf.html">Exporting Models as GlTF meshes from Blender</a></p></li></ul></div>
  26. <div class="paragraph"><p>Converting to j3o:</p></div>
  27. <div class="ulist"><ul><li><p><a href="https://hub.jmonkeyengine.org/t/jmeconvert-tool/41831">JmeConvert tool</a></p></li><li><p><a href="../sdk/model_loader_and_viewer.html">SDK convert</a></p></li><li><p><a href="https://javadoc.jmonkeyengine.org/v3.3.0-beta1/com/jme3/export/binary/BinaryExporter.html">BinaryExporter</a></p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.JPG, .PNG, .GIF</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>image</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>Textures, icons</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.DDS</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>image</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>Direct Draw Surface texture</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.HDR</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>image</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>High Dynamic Range texture</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.TGA</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>image</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>Targa Image File texture</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.PFM</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>image</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>Portable Float Map texture</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.fnt</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>bitmap font</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>AngelCode font for <abbr title="Graphical User Interface">GUI</abbr> and HUD</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.WAV</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>audio</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>Wave music and sounds</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><div class="literal"><pre>.OGG</pre></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>audio</p></div></div></td><td class="tableblock halign-left valign-top"><div><div class="paragraph"><p>OGG Vorbis music and sounds</p></div></div></td></tr></tbody></table></div></div>
  28. <div class="sect1"><h2 id="shaders">Shaders</h2><div class="sectionbody"><div class="ulist"><ul><li><p>GLSL support</p></li><li><p>Shader libraries</p></li><li><p>Shader permutations</p></li><li><p><a href="../jme3/advanced/jme3_shadernodes.html">Shader Nodes</a></p></li></ul></div></div></div>
  29. <div class="sect1"><h2 id="material-lighting">Material Lighting</h2><div class="sectionbody"><div class="ulist"><ul><li><p>Per-pixel lighting</p></li><li><p>Multi-pass lighting</p></li><li><p>Phong Lighting</p><div class="ulist"><ul><li><p>Diffuse Map</p></li><li><p>Alpha Map</p></li><li><p>Glow Map</p></li><li><p>Specular Map</p></li><li><p>Normal Map, Parallax Map (a.k.a. bump mapping)</p></li></ul></div></li><li><p>Tangent shading</p></li><li><p>Reflection</p></li></ul></div></div></div>
  30. <div class="sect1"><h2 id="material-textures">Material Textures</h2><div class="sectionbody"><div class="ulist"><ul><li><p>Texturing</p><div class="ulist"><ul><li><p>material colors (ambient, diffuse, specular/shininess, glow),</p></li><li><p>color map, light map,</p></li><li><p>transparency, translucency, alpha map, alpha testing with falloff threshold,</p></li><li><p>sphere map, cube map,</p></li><li><p>texture scale,</p></li><li><p>wireframe</p></li><li><p>color ramp texture</p></li></ul></div></li><li><p>Multi-texturing through shaders</p></li><li><p>UV textures</p></li><li><p>Splat textures, Phong lit or unshaded, supports diffuse and normal maps</p></li><li><p><a href="http://hub.jmonkeyengine.org/forum/topic/textureatlas-creation-and-packed-texture-handling-in-sdk/">Texture Atlas, handling of packed Textures</a></p></li></ul></div></div></div>
  31. <div class="sect1"><h2 id="asset-system">Asset System</h2><div class="sectionbody"><div class="ulist"><ul><li><p>Asset importing</p><div class="ulist"><ul><li><p>Animation</p></li><li><p>Meshes</p></li><li><p>Textures</p></li><li><p>Scenes</p></li><li><p>Materials</p></li><li><p>Shaders</p></li></ul></div></li><li><p>Multi-threaded asset loading via HTTP</p></li><li><p>Loading scenes from .ZIP files</p></li><li><p>Sharable AssetPacks</p></li></ul></div></div></div>
  32. <div class="sect1"><h2 id="special-effects">Special Effects</h2><div class="sectionbody"><div class="ulist"><ul><li><p><a href="../jme3/advanced/particle_emitters.html">Particles: Smoke, fire, explosions, etc</a></p></li><li><p><a href="../jme3/advanced/effects_overview.html">Post processing / 2D Filter Effects</a></p><div class="ulist"><ul><li><p>Reflective Water</p></li><li><p>Shadow mapping</p></li><li><p>High Dynamic Range rendering</p></li><li><p>Screen Space Ambient Occlusion</p></li><li><p>Light Scattering</p></li><li><p>Cartoon Effect</p></li><li><p>Fog</p></li><li><p>Bloom</p></li><li><p>Depth of Field Blur</p></li></ul></div></li></ul></div></div></div>
  33. <div class="sect1"><h2 id="terrain">Terrain</h2><div class="sectionbody"><div class="ulist"><ul><li><p><a href="../jme3/advanced/terrain.html">Geomipmapped hightmap terrain</a></p></li><li><p><a href="../jme3/advanced/ogrecompatibility.html">Import Ogre3D dotScene format</a></p></li><li><p><a href="../jme3/advanced/sky.html">SkyBox and SkyDome</a></p></li><li><p>Terrain lighting</p></li></ul></div></div></div>
  34. <div class="sect1"><h2 id="gui-hud">GUI / HUD</h2><div class="sectionbody"><div class="ulist"><ul><li><p><a href="../jme3/advanced/hud.html">Orthogonal (Billboard) node</a></p></li><li><p><a href="../jme3/advanced/nifty_gui.html">Nifty GUI integration</a></p></li></ul></div></div></div>
  35. <div class="sect1"><h2 id="miscellaneous">Miscellaneous</h2><div class="sectionbody"><div class="ulist"><ul><li><p><a href="../jme3/advanced/application_states.html">Application States</a> and <a href="../jme3/advanced/custom_controls.html">Controls</a> to implement <a href="../jme3/advanced/update_loop.html">game logic</a></p></li><li><p><a href="../jme3/advanced/cinematics.html">Cinematics and motion paths</a></p></li><li><p><a href="../jme3/advanced/camera.html">Camera System</a></p><div class="ulist"><ul><li><p>Normal or parallel view</p></li><li><p>Multiple views</p></li></ul></div></li><li><p>Swing canvas (e.g. for Applets)</p></li><li><p><a href="../jme3/advanced/input_handling.html">Input handling</a></p><div class="ulist"><ul><li><p>Mouse, keyboard, joystick</p></li><li><p><a href="../jme3/advanced/combo_moves.html">Combo moves</a></p></li></ul></div></li></ul></div></div></div>
  36. <div class="sect1"><h2 id="networking">Networking</h2><div class="sectionbody"><div class="ulist"><ul><li><p><a href="../jme3/advanced/networking.html">SpiderMonkey API</a></p></li></ul></div></div></div></div><div id="footer"><div id="footer-text">Version <br>Last updated 2019-12-22 21:29:50 +00:00</div></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script><script>docsearch({
  37. apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
  38. indexName: 'jmonkeyengine',
  39. inputSelector: '#doc-search',
  40. debug: false // Set debug to true if you want to inspect the dropdown
  41. });</script></body></html>