|
@@ -69,7 +69,8 @@ Prepare the `asset` folder structure for your individual project:
|
|
|
|
|
|
|
|
. Agree on a directory structure with the graphic designers.
|
|
. Agree on a directory structure with the graphic designers.
|
|
|
. Create subfolders of `assets` in any way that suits your project (see example above). Stick with one system.
|
|
. Create subfolders of `assets` in any way that suits your project (see example above). Stick with one system.
|
|
|
-** If different assets belong together, create a parallel subdirectory structure for them. +Example: For car models, create `Textures/vehicles/car1/`, `Materials/vehicles/car1/`, `Models/vehicles/car1/`, , `Sounds/vehicles/car1/` (etc) directories now.
|
|
|
|
|
|
|
+** If different assets belong together, create a parallel subdirectory structure for them. +
|
|
|
|
|
+Example: For car models, create `Textures/vehicles/car1/`, `Materials/vehicles/car1/`, `Models/vehicles/car1/`, , `Sounds/vehicles/car1/` (etc) directories now.
|
|
|
|
|
|
|
|
. Agree on a file naming and numbering scheme with the graphic designers.
|
|
. Agree on a file naming and numbering scheme with the graphic designers.
|
|
|
** Are some assets used interchangeably? Systematic naming and numbering lets developers easily swap out assets by swapping out parts of the path String.
|
|
** Are some assets used interchangeably? Systematic naming and numbering lets developers easily swap out assets by swapping out parts of the path String.
|
|
@@ -118,8 +119,10 @@ Note that UV coords are part of the mesh and not part of the material, so if you
|
|
|
|
|
|
|
|
. Create 3D models in a mesh editor.
|
|
. Create 3D models in a mesh editor.
|
|
|
.. Create efficient *low-polygon models*. High-polygon models may look pretty in static 3D art contests, but they slow down dynamic games!
|
|
.. Create efficient *low-polygon models*. High-polygon models may look pretty in static 3D art contests, but they slow down dynamic games!
|
|
|
-.. <<jme3/advanced/j3m_material_files#,Create materials>> for your models either in the 3D editor, or in the jME3 SDK. Only use the following material features: *Diffuse Map or Diffuse Color (minimum); plus optionally Normal Map, Glow Map, Specular Map.* +Every material feature not listed in the <<jme3/advanced/materials_overview#,Materials Overview>> is unsupported and ignored by JME3's renderer.
|
|
|
|
|
-.. Unwrap the model in the 3D editor and generate a *UV texture* (i.e. one texture file that contains all the pieces of one model from different angles). +Don't use multiple separate texture files with one model, it will break the model into several meshes.
|
|
|
|
|
|
|
+.. <<jme3/advanced/j3m_material_files#,Create materials>> for your models either in the 3D editor, or in the jME3 SDK. Only use the following material features: *Diffuse Map or Diffuse Color (minimum); plus optionally Normal Map, Glow Map, Specular Map.* +
|
|
|
|
|
+Every material feature not listed in the <<jme3/advanced/materials_overview#,Materials Overview>> is unsupported and ignored by JME3's renderer.
|
|
|
|
|
+.. Unwrap the model in the 3D editor and generate a *UV texture* (i.e. one texture file that contains all the pieces of one model from different angles). +
|
|
|
|
|
+Don't use multiple separate texture files with one model, it will break the model into several meshes.
|
|
|
|
|
|
|
|
. Export the model mesh in one of the following formats: *.blend, Wavefront .OBJ/.MTL, Ogre .mesh/.material/.scene*.
|
|
. Export the model mesh in one of the following formats: *.blend, Wavefront .OBJ/.MTL, Ogre .mesh/.material/.scene*.
|
|
|
.. *Bake* each texture into one file when exporting. Create a Texture Atlas.
|
|
.. *Bake* each texture into one file when exporting. Create a Texture Atlas.
|
|
@@ -131,7 +134,8 @@ See also: link:http://www.gamasutra.com/view/feature/2530/practical_texture_atla
|
|
|
|
|
|
|
|
[IMPORTANT]
|
|
[IMPORTANT]
|
|
|
====
|
|
====
|
|
|
-*When I load the model in JME3, why does it look different than in the 3D editor?* +3D models will never look identical in a game engine and in a mesh editor. Mesh editors are optimized for high-quality offline rendering, and many of the material and texture options simply do not work in a live rendering context such as games. Also, the shaders that render the materials in JME3 are different implementations than in your mesh editor's renderer. Remind your graphic designers to <<jme3/advanced/materials_overview#,focus on features that game engines support>>.
|
|
|
|
|
|
|
+*When I load the model in JME3, why does it look different than in the 3D editor?* +
|
|
|
|
|
+3D models will never look identical in a game engine and in a mesh editor. Mesh editors are optimized for high-quality offline rendering, and many of the material and texture options simply do not work in a live rendering context such as games. Also, the shaders that render the materials in JME3 are different implementations than in your mesh editor's renderer. Remind your graphic designers to <<jme3/advanced/materials_overview#,focus on features that game engines support>>.
|
|
|
====
|
|
====
|
|
|
|
|
|
|
|
|
|
|
|
@@ -141,7 +145,8 @@ See also: link:http://www.gamasutra.com/view/feature/2530/practical_texture_atla
|
|
|
Convert all models and scenes to jME3's binary .j3o format to load() them. You use the jMonkeyEngine SDK to do the conversion.
|
|
Convert all models and scenes to jME3's binary .j3o format to load() them. You use the jMonkeyEngine SDK to do the conversion.
|
|
|
|
|
|
|
|
. Confirm that you exported the model into the `assets/Textures` directory (or subdirectories) together with all its textures.
|
|
. Confirm that you exported the model into the `assets/Textures` directory (or subdirectories) together with all its textures.
|
|
|
-. In the SDK, right-click the model and choose “Convert to j3o Binary. +The paths in the j3o now reference files with an absolute `assets/Textures/…` path.
|
|
|
|
|
|
|
+. In the SDK, right-click the model and choose “Convert to j3o Binary. +
|
|
|
|
|
+The paths in the j3o now reference files with an absolute `assets/Textures/…` path.
|
|
|
. Now, move the .j3o into the corresponding `assets/Models/` or `assets/Scenes/` directory.
|
|
. Now, move the .j3o into the corresponding `assets/Models/` or `assets/Scenes/` directory.
|
|
|
. Use the AssetManager to load() the .j3o files.
|
|
. Use the AssetManager to load() the .j3o files.
|
|
|
|
|
|
|
@@ -155,7 +160,8 @@ The .j3o file format is an optimized format to store parts of a jME3 scene graph
|
|
|
* A .j3o file can contain one shape, one model, or a whole scene.
|
|
* A .j3o file can contain one shape, one model, or a whole scene.
|
|
|
* Only .j3o files can store all of jme3's material options and other features. Other formats can only be considered meshes with UV mapping data and always need extra work.
|
|
* Only .j3o files can store all of jme3's material options and other features. Other formats can only be considered meshes with UV mapping data and always need extra work.
|
|
|
* .j3o files work seamlessly across platforms and can also be automatically adapted for certain platforms on distribution.
|
|
* .j3o files work seamlessly across platforms and can also be automatically adapted for certain platforms on distribution.
|
|
|
-* (Optional) You can store the model's physical properties, materials, lights, particle emitters, and audio nodes, in the .j3o file. +Use Java commands, or use the <<sdk/scene_composer#,jMonkeyEngine SDK SceneComposer>> as a user-friendly interface to add these properties.
|
|
|
|
|
|
|
+* (Optional) You can store the model's physical properties, materials, lights, particle emitters, and audio nodes, in the .j3o file. +
|
|
|
|
|
+Use Java commands, or use the <<sdk/scene_composer#,jMonkeyEngine SDK SceneComposer>> as a user-friendly interface to add these properties.
|
|
|
* The default Ant build script copies .j3o files, .j3m files, sounds, and textures, into the distributable JAR automatically.
|
|
* The default Ant build script copies .j3o files, .j3m files, sounds, and textures, into the distributable JAR automatically.
|
|
|
|
|
|
|
|
|
|
|