jMonkeyBuilder: Bugs

This topic is for posting all found bugs in jMB.

I’m having trouble importing a PBR tree made with JMB’s tree generator plugin. The base color map for the tree isn’t appearing. The tree shows only the emissive color or texture.

I made this test tree without making any changes to the default material settings in JMB, and the tree shows up with its proper textures in JMB (version 1.6), but when I run my game or view the tree in the SDK, it appears black

I’m not sure if this is a bug, or if I’m doing something wrong since it’s still showing the emissive color correctly. Thanks :slightly_smiling_face:

Do you have a light probe in your jme scene? Doesn’t look like

you created the PBR version, it requires a light probe in your scene :wink:

Also please check the gamma correction box.

I have a light probe although the large rock in the background and the terrain are still using the phong lighting shaders, so the effects aren’t noticeable in this scene yet.

I just realized I did not update the “Sim-Arboreal-Assets.jar” dependency from 1.2 to 1.3 after upgrading to the latest version of JMB, but doing so just fixed the issue. It was entirely on my end, thanks for the quick help though :slightly_smiling_face:

1 Like

Yep, the PBR shader was changed in jME, so I have updated the library :wink:

For several days, I use jmonkeybuilder 1.6.1 and Edea to develop a project.

I have compiled several times and without problem my own controller which is easily added from JMonkeyBuilder.

After several days, for no apparent reason, I can not see my controllers anymore when I try to add a personality controller from JMB.

They are no longer in the list. Yet I did not change anything

The following exception appears again:

WARNING 12:40:18:067 ClassPathScannerImpl: Can't load class: AssenceurControl
WARNING 12:40:18:068 ClassPathScannerImpl: java.lang.NoClassDefFoundError: AssenceurControl (wrong name: controlers/AssenceurControl)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at com.ss.rlib.classpath.impl.ClassPathScannerImpl.loadClass(ClassPathScannerImpl.java:221)
	at com.ss.rlib.classpath.impl.ClassPathScannerImpl.scanDirectory(ClassPathScannerImpl.java:262)
	at com.ss.rlib.classpath.impl.ClassPathScannerImpl.scan(ClassPathScannerImpl.java:386)
	at com.ss.rlib.classpath.ClassPathScanner.scan(ClassPathScanner.java:101)
	at com.ss.editor.manager.ClasspathManager.reload(ClasspathManager.java:196)
	at com.ss.editor.executor.impl.JmeThreadExecutor.execute(JmeThreadExecutor.java:82)
	at com.ss.rlib.util.array.Array.forEach(Array.java:213)
	at com.ss.editor.executor.impl.JmeThreadExecutor.execute(JmeThreadExecutor.java:73)
	at com.ss.editor.JmeApplication.update(JmeApplication.java:411)
	at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:506)
	at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:589)
	at com.jme3.system.lwjgl.LwjglWindow.create(LwjglWindow.java:427)
	at com.jme3x.jfx.injfx.JmeOffscreenSurfaceContext.create(JmeOffscreenSurfaceContext.java:213)
	at com.jme3.app.LegacyApplication.start(LegacyApplication.java:463)
	at com.jme3.app.LegacyApplication.start(LegacyApplication.java:424)
	at com.jme3.app.SimpleApplication.start(SimpleApplication.java:125)
	at com.ss.editor.JfxApplication.startJmeApplication(JfxApplication.java:168)
	at com.ss.editor.JfxApplication.lambda$main$0(JfxApplication.java:154)
	at java.lang.Thread.run(Thread.java:748)

@javasabr, we had already discussed this problem which seemed to have been solved but I do not know why, it reappears.

I work under Windows10.

Thanks

THOCED

When you open jMB from IDEA, IDEA sends information about project classpath, when you open jMB separately, jMB doesn’t know about your custom classes.

sorry but under windows, when I run JMB from IDEA, JMB starts but the project does not open and when I restart a second time JMB, IDEA freze and must be stopped.

I use the 1.1 Plugin and JMB 1.6.1 . The path to JMB is well set.

Does a windows user have the same problems ?

Thank you

Thoced

Could you provide a log from IDEA with the problem?

in the log file, the following exception is thrown but it is thrown when the Idea starts. I write it all the same but I do not think it’s the problem:

java.lang.ClassNotFoundException: org.apache.tools.ant.Project
	at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:222)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at com.intellij.lang.ant.ReflectedProject.<init>(ReflectedProject.java:87)
	at com.intellij.lang.ant.ReflectedProject.getProject(ReflectedProject.java:71)
	at org.jetbrains.plugins.groovy.gant.AntTasksProvider$AntClassLoader.lambda$new$0(AntTasksProvider.java:134)
	at com.intellij.openapi.application.impl.ApplicationImpl$2.call(ApplicationImpl.java:338)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

On the other hand, when the Freeze application, a directory “threaDumps-freeze - ****” is created and log files are created, here is the exception:

"AWT-EventQueue-0 2017.3.4#IC-173.4548.28 IDEA, eap:false, os:Windows 10 10.0, java-version:JetBrains s.r.o 1.8.0_152-release-1024-b11" prio=0 tid=0x0 nid=0x0 blocked
     java.lang.Thread.State: BLOCKED
 on com.ss.jme.plugin.jmb.JmbInstance@bcd2b72 owned by "pool-3-thread-1" Id=68
	at com.ss.jme.plugin.jmb.JmbInstance.sendCommand(JmbInstance.java)
	at com.ss.jme.plugin.JmeModuleComponent.sendCommand(JmeModuleComponent.java:177)
	at com.ss.jme.plugin.ui.action.OpenInJmbAction.actionPerformed(OpenInJmbAction.java:46)
	at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:220)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:237)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:321)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$$Lambda$1840/487400928.run(Unknown Source)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:911)
	at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:136)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:311)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:130)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$$Lambda$1838/1052652613.run(Unknown Source)
	at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:88)
	at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:111)
	at com.intellij.openapi.application.TransactionGuardImpl$$Lambda$216/1696944311.run(Unknown Source)
	at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:120)
	at com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:122)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:130)
	at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:521)
	at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:48)
	at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:541)
	at java.awt.Component.processMouseEvent(Component.java:6541)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6306)
	at java.awt.Container.processEvent(Container.java:2237)
	at java.awt.Component.dispatchEventImpl(Component.java:4897)
	at java.awt.Container.dispatchEventImpl(Container.java:2295)
	at java.awt.Component.dispatchEvent(Component.java:4719)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
	at java.awt.Container.dispatchEventImpl(Container.java:2281)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4719)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
	at java.awt.EventQueue.access$500(EventQueue.java:98)
	at java.awt.EventQueue$3.run(EventQueue.java:715)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
	at java.awt.EventQueue$4.run(EventQueue.java:737)
	at java.awt.EventQueue$4.run(EventQueue.java:735)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:822)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:646)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

thanks, I will look at it today :slight_smile:

I installed linux and then installed Idea and JMB.

Under linux, the launch of JMB from IDEA is no problem.

But despite that, I still have a problem finding my custom controllers.

I really do not understand what I’m wrong.

I redo tests tomorrow

Thoced

Could you recheck it on these builds?:
Plugin:
https://yadi.sk/d/rqg8YuFl3SNkwR
jMB:

1 Like

Hello,

Super, it works well, custom controllers are detected.

What have you changed ? I saw that the version of the library RLib was not the same.

PS: Is version 1.7 of JMB the latest version release and so finished or is it just a develop version for the test?

Thank you

THoced

Another problem identified,

Sometimes, after adding or removing an item from the scene, the recording seems to have not worked.Any add or delete is not saved.

To fix the problem, I have to copy the scene, paste it and open the new scene pasted.

Oddly, the new pasted scene has all the changes made (delete or add)

Where do you think this problem could come from?

I do not see any exception generated

Thoced

I just added more log. information to the RLib, but the problem was in a network connection between IDEA and jMB.
A data packet had maximum size - 2k bytes before, so in your case information about your classpath was bigger than 2k bytes, so I increased the maximums size of data packets to 65k bytes. :wink:

it’s a pre-release version, I’m looking for any new bugs now :slight_smile:

I have uploaded a new build, could you recheck your problem again, please?

Adding a character controller causes the JMB application to crash.
When a character control is already placed in a model and I open this model with JMB, here is the generated exception:

java.lang.Exception: java.lang.UnsatisfiedLinkError: com.jme3.bullet.objects.PhysicsCharacter.setUp(JLcom/jme3/math/Vector3f;)V
	at com.ss.editor.ui.component.editor.area.EditorAreaComponent.processOpenFileImpl(EditorAreaComponent.java:510)
	at com.ss.editor.ui.component.editor.area.EditorAreaComponent.lambda$processOpenFile$9(EditorAreaComponent.java:470)
	at com.ss.editor.executor.impl.BackgroundEditorTaskExecutor.doExecute(BackgroundEditorTaskExecutor.java:44)
	at com.ss.editor.executor.impl.AbstractEditorTaskExecutor.run(AbstractEditorTaskExecutor.java:141)
Caused by: java.lang.UnsatisfiedLinkError: com.jme3.bullet.objects.PhysicsCharacter.setUp(JLcom/jme3/math/Vector3f;)V
	at com.jme3.bullet.objects.PhysicsCharacter.setUp(Native Method)
	at com.jme3.bullet.objects.PhysicsCharacter.setUp(PhysicsCharacter.java:151)
	at com.jme3.bullet.objects.PhysicsCharacter.setUpAxis(PhysicsCharacter.java:143)
	at com.jme3.bullet.objects.PhysicsCharacter.read(PhysicsCharacter.java:445)
	at com.jme3.bullet.control.CharacterControl.read(CharacterControl.java:238)
	at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:342)
	at com.jme3.export.binary.BinaryInputCapsule.resolveIDs(BinaryInputCapsule.java:483)
	at com.jme3.export.binary.BinaryInputCapsule.readSavableArray(BinaryInputCapsule.java:471)
	at com.jme3.export.binary.BinaryInputCapsule.readSavableArrayList(BinaryInputCapsule.java:587)
	at com.jme3.scene.Spatial.read(Spatial.java:1648)
	at com.jme3.scene.Geometry.read(Geometry.java:623)
	at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:342)
	at com.jme3.export.binary.BinaryInputCapsule.resolveIDs(BinaryInputCapsule.java:483)
	at com.jme3.export.binary.BinaryInputCapsule.readSavableArray(BinaryInputCapsule.java:471)
	at com.jme3.export.binary.BinaryInputCapsule.readSavableArrayList(BinaryInputCapsule.java:587)
	at com.jme3.scene.Node.read(Node.java:744)
	at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:342)
	at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:242)
	at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:125)
	at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:109)
	at com.ss.editor.extension.loader.SceneLoader.load(SceneLoader.java:109)
	at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:259)
	at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:373)
	at com.ss.editor.ui.component.editor.impl.model.ModelFileEditor.doOpenFile(ModelFileEditor.java:178)
	at com.ss.editor.plugin.api.editor.BaseFileEditor.openFile(BaseFileEditor.java:140)
	at com.ss.editor.plugin.api.editor.Base3DFileEditor.openFile(Base3DFileEditor.java:39)
	at com.ss.editor.ui.component.editor.area.EditorAreaComponent.processOpenFileImpl(EditorAreaComponent.java:508)
	... 3 more

 caused by java.lang.UnsatisfiedLinkError: com.jme3.bullet.objects.PhysicsCharacter.setUp(JLcom/jme3/math/Vector3f;)V
	at com.jme3.bullet.objects.PhysicsCharacter.setUp(Native Method)
	at com.jme3.bullet.objects.PhysicsCharacter.setUp(PhysicsCharacter.java:151)
	at com.jme3.bullet.objects.PhysicsCharacter.setUpAxis(PhysicsCharacter.java:143)
	at com.jme3.bullet.objects.PhysicsCharacter.read(PhysicsCharacter.java:445)
	at com.jme3.bullet.control.CharacterControl.read(CharacterControl.java:238)
	at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:342)
	at com.jme3.export.binary.BinaryInputCapsule.resolveIDs(BinaryInputCapsule.java:483)
	at com.jme3.export.binary.BinaryInputCapsule.readSavableArray(BinaryInputCapsule.java:471)
	at com.jme3.export.binary.BinaryInputCapsule.readSavableArrayList(BinaryInputCapsule.java:587)
	at com.jme3.scene.Spatial.read(Spatial.java:1648)
	at com.jme3.scene.Geometry.read(Geometry.java:623)
	at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:342)
	at com.jme3.export.binary.BinaryInputCapsule.resolveIDs(BinaryInputCapsule.java:483)
	at com.jme3.export.binary.BinaryInputCapsule.readSavableArray(BinaryInputCapsule.java:471)
	at com.jme3.export.binary.BinaryInputCapsule.readSavableArrayList(BinaryInputCapsule.java:587)
	at com.jme3.scene.Node.read(Node.java:744)
	at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:342)
	at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:242)
	at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:125)
	at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:109)
	at com.ss.editor.extension.loader.SceneLoader.load(SceneLoader.java:109)
	at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:259)
	at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:373)
	at com.ss.editor.ui.component.editor.impl.model.ModelFileEditor.doOpenFile(ModelFileEditor.java:178)
	at com.ss.editor.plugin.api.editor.BaseFileEditor.openFile(BaseFileEditor.java:140)
	at com.ss.editor.plugin.api.editor.Base3DFileEditor.openFile(Base3DFileEditor.java:39)
	at com.ss.editor.ui.component.editor.area.EditorAreaComponent.processOpenFileImpl(EditorAreaComponent.java:508)
	at com.ss.editor.ui.component.editor.area.EditorAreaComponent.lambda$processOpenFile$9(EditorAreaComponent.java:470)
	at com.ss.editor.executor.impl.BackgroundEditorTaskExecutor.doExecute(BackgroundEditorTaskExecutor.java:44)
at com.ss.editor.executor.impl.AbstractEditorTaskExecutor.run(AbstractEditorTaskExecutor.java:141)