Graphic Capacities of jME?

True but,

If you use the SDK, convert model mesh.xml file to .j3o.
Edit it in SceneComposer.
Select the models geometry node in the scene explorer panel to the left.
In the properties panel to the right, under geometry, next to Material, hit the drop down arrow and select:

create j3m file

2 Likes

Yeah, this will auto-create a material for you! Nice one :+1:

1 Like

It worked, thanks alot

Since only jME files are put in the jar can I store my .blend files in the assets directories without any impact?

The SceneComposer renders my door with material but when I load it in the game it renders completly black.

Spatial door = assetManager.loadModel("Models/Door.mesh.j3o");
rootNode.attachChild(door);

My scene contains a directional light.
Do I also need to add the material in code?

Not if its generated.

Links in the post are here,
https://jmonkeyengine.github.io/wiki/jme3/external/blender.html

More videos and code here.
https://jmonkeyengine.github.io/wiki/jme3.html#video-use-case-tutorials

Yes.
Best practice is to export into the Textures folder first . Generate the .j3o. If your going to generate a material file then do that. If not, create the material in the material folder. Last, move your .j3o. Basically, use the texture folder to store everything it takes to make the model work. Makes it easy to re-create the model.

https://jmonkeyengine.github.io/wiki/jme3/intermediate/multi-media_asset_pipeline.html#convert-3d-models-to-j3o-format

1 Like

How do I actually set that up? Or should I go with the tutorial in the wiki?

I have followed the eclipse setup from the wiki and getting I am getting this output:

Jan. 22, 2018 7:36:30 NACHM. com.jme3.system.JmeDesktopSystem initialize
INFORMATION: Running on jMonkeyEngine 3.2-stable
 * Branch: HEAD
 * Git Hash: f85624a
 * Build Date: 2018-01-21
Jan. 22, 2018 7:36:31 NACHM. com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFORMATION: LWJGL 2.9.3 context running on thread jME3 Main
 * Graphics Adapter: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_c791f781cd94491f\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_c791f781cd94491f\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_c791f781cd94491f\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_c791f781cd94491f\nvldumdx.dll
 * Driver Version: null
 * Scaling Factor: 1
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jme3.util.ReflectionAllocator (file:/C:/Users/MyUsername/jME3.2-stable/lib/jme3-core.jar) to method sun.nio.ch.DirectBuffer.cleaner()
WARNING: Please consider reporting this to the maintainers of com.jme3.util.ReflectionAllocator
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Jan. 22, 2018 7:36:31 NACHM. com.jme3.renderer.opengl.GLRenderer loadCapabilitiesCommon
INFORMATION: OpenGL Renderer Information
 * Vendor: NVIDIA Corporation
 * Renderer: GeForce GTX 1080/PCIe/SSE2
 * OpenGL Version: 4.6.0 NVIDIA 388.31
 * GLSL Version: 4.60 NVIDIA
 * Profile: Compatibility
Jan. 22, 2018 7:36:31 NACHM. com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio Renderer Information
 * Device: OpenAL Soft
 * Vendor: OpenAL Community
 * Renderer: OpenAL Soft
 * Version: 1.1 ALSOFT 1.15.1
 * Supported channels: 64
 * ALC extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFT_loopback
 * AL extensions: AL_EXT_ALAW AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_LOKI_quadriphonic AL_SOFT_buffer_samples AL_SOFT_buffer_sub_data AL_SOFTX_deferred_updates AL_SOFT_direct_channels AL_SOFT_loop_points AL_SOFT_source_latency
Jan. 22, 2018 7:36:31 NACHM. com.jme3.audio.openal.ALAudioRenderer initOpenAL
WARNUNG: Pausing audio device not supported.
Jan. 22, 2018 7:36:31 NACHM. com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio effect extension version: 1.0
Jan. 22, 2018 7:36:31 NACHM. com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio max auxiliary sends: 4

How to solve the warnings from the illegal reflective access operation and what’s the warning “Pausing audio device not supported”? I am also getting this warning in the SDK.

I also get the warning about pausing audio devices on both of my (Linux) workstations. Is the build crashing or otherwise failing? If not, you can probably ignore the illegal reflection warning.

1 Like

Yes but I don’t get that warning in the SDK

Regarding pausing audio - I get it in the SDK. I think the javadoc references that it is android related or an android capability. I don’t think it affects anything else.

1 Like

So I have followed the instructions from the wiki how to setup Eclipse with jME and when I run, it doesn’t find my assets.

The easiest way to make sure the asset manager can access the assets is by adding the assets folder to the classpath.

Go to Project Properties

Select Java Build Path

Under the Source tab click Add Folder

Add your Assets folder

That didn’t work for me

Did you get some warning it didn’t work or is it not finding the path when trying to use eclipse to run a app with assets?

1 Like

It can’t find it

Someone with eclipse experience will have to help. I don’t know the app or why it wouldn’t find the folder.

1 Like

The SDK project will generate an assets jar and include it in your project dependencies.

If you use Eclipse then you have to roll all of that stuff by hand.

1 Like

Blender files

  1. Double click on the blender file to open in blender

  2. Hit the ‘a’ key to select all

  3. Ctrl-J to join objects

  4. File → Export → Ogre 3D ( Select ‘Copy Shader Programs’ ‘Export Selected Only’ ‘Export Meshes’ ‘Export Material’)

  5. Copy All Material to one file.
    This file Has to be called the same name as the .mesh.xml mince the .mesh.xml add .material
    Example: model.mesh.xml and model.material

  6. Load the file in JME
    spatial = assetManager.loadModel(“Models/Voyager/model.mesh.xml”);
    Note: For stars app config.json we use a model path like ‘/Models/Voyager’.
    Then the loader will look for all .xml files in /Models/Voyager and load them to spatials.

1 Like

There is a setting in the exporter that will allow you to skip step 5. I Think it is call export to one material or something

1 Like

… but you always have to make sure the material file and .mesh.xml file have the same name

1 Like