SDK lagging with material path edit (geometry section in Properties panel)

As in topic - somebody know why all SDK 3.0 is lagging when I expand Geometry section in Properties panel? When I collapse back everything is ok. It is happening even in wireframe mode.

I offer you to use jMB to work with graphics :wink:

I’m just dreaming about something where I can drag&drop material (or assign material to many objects).

Hmmm…

You can use D&D to assign materials to objects in model/scene editor in the jMB :slight_smile:

Can you provide more details on how to reproduce your error in jMB, please?

Version 3.0 is really old. 3.1 is the official stable, and 3.2 isnt far from release. The SDK isnt maintained that far back anymore as far as I’m aware. It may be fixed in a more current release.

Of course. Firstly I unzipped jMB and set asset path to my assets (no asset folder but only this part where I really store j3o files in project). Then I simply use Convert from .blend to .j3o command and here we are - maybe I should set up paths to libraries or something? I’m not programer so I dont know where lib even are but I can ask my teammate @FrozenShade :wink:

3.0 have almost everything what I need - I don’t know if I can just move to 3.2 and all my future model will compatible with my project. Usually its not recommended to update tools in current projects - I heared that few years ago so maybe something changed meanwhile.

Only two thigns what I can complain in 3.0 are: laggy problem and SDK don’t import materials if I set path in blender:
for example
I name material Models\Cars\car1.j3m - using OGRE exporter and convert xml to j3o I have material set in SDK but when using simple convert from blend I don’t have. Strange.

The problem is that we have customized rendering pipeline here and we are unable to switch to 3.1.

Btw, I’m unable to run jMB:

Exception in thread "LWJGL Render" java.lang.UnsatisfiedLinkError: D:\Programy\J
MonkeyBuilder\bulletjme.dll: Nie można odnaleźć określonej procedury
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1086)
        at com.jme3.system.NativeLibraryLoader.loadNativeLibrary(NativeLibraryLo
ader.java:683)
        at com.jme3.system.JmeDesktopSystem.initialize(JmeDesktopSystem.java:348
)
        at com.jme3.system.JmeDesktopSystem.newContext(JmeDesktopSystem.java:271
)
        at com.jme3.system.JmeSystem.newContext(JmeSystem.java:162)
        at com.jme3.app.LegacyApplication.start(LegacyApplication.java:461)
        at com.jme3.app.LegacyApplication.start(LegacyApplication.java:424)
        at com.jme3.app.SimpleApplication.start(SimpleApplication.java:125)
        at com.ss.editor.JFXApplication.startJMEApplication(Unknown Source)
        at com.ss.editor.JFXApplication.lambda$main$0(Unknown Source)
        at java.lang.Thread.run(Thread.java:748)

EDIT: I did an old trick. Replaced jme3-bullet-3.2_branch-SNAPSHOT.jar and jme3-bullet-native-3.2_branch-SNAPSHOT.jar with some old jbullet.jar and it is able to start now.

EDIT2: nvm…

WARNING 00:35:03:859 EditorAreaComponent: java.lang.Exception: java.lang.NoClass
DefFoundError: com/jme3/bullet/PhysicsTickListener
        at com.ss.editor.ui.component.editor.area.EditorAreaComponent.processOpe
nFileImpl(Unknown Source)
        at com.ss.editor.ui.component.editor.area.EditorAreaComponent.lambda$pro
cessOpenFile$9(Unknown Source)
        at com.ss.editor.executor.impl.BackgroundEditorTaskExecutor.doExecute(Un
known Source)
        at com.ss.editor.executor.impl.AbstractEditorTaskExecutor.run(Unknown So
urce)
Caused by: java.lang.NoClassDefFoundError: com/jme3/bullet/PhysicsTickListener
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at com.ss.editor.ui.component.editor.impl.model.ModelFileEditor.<init>(U
nknown Source)
        at com.ss.editor.ui.component.editor.EditorRegistry.createEditorFor(Unkn
own Source)
        ... 4 more
Caused by: java.lang.ClassNotFoundException: com.jme3.bullet.PhysicsTickListener

        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 30 more

 caused by java.lang.NoClassDefFoundError: com/jme3/bullet/PhysicsTickListener
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at com.ss.editor.ui.component.editor.impl.model.ModelFileEditor.<init>(U
nknown Source)
        at com.ss.editor.ui.component.editor.EditorRegistry.createEditorFor(Unkn
own Source)
        at com.ss.editor.ui.component.editor.area.EditorAreaComponent.processOpe
nFileImpl(Unknown Source)
        at com.ss.editor.ui.component.editor.area.EditorAreaComponent.lambda$pro
cessOpenFile$9(Unknown Source)
        at com.ss.editor.executor.impl.BackgroundEditorTaskExecutor.doExecute(Un
known Source)
        at com.ss.editor.executor.impl.AbstractEditorTaskExecutor.run(Unknown So
urce)
Caused by: java.lang.ClassNotFoundException: com.jme3.bullet.PhysicsTickListener

        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 30 more

 caused by java.lang.ClassNotFoundException: com.jme3.bullet.PhysicsTickListener

        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at com.ss.editor.ui.component.editor.impl.model.ModelFileEditor.<init>(U
nknown Source)
        at com.ss.editor.ui.component.editor.EditorRegistry.createEditorFor(Unkn
own Source)
        at com.ss.editor.ui.component.editor.area.EditorAreaComponent.processOpe
nFileImpl(Unknown Source)
        at com.ss.editor.ui.component.editor.area.EditorAreaComponent.lambda$pro
cessOpenFile$9(Unknown Source)
        at com.ss.editor.executor.impl.BackgroundEditorTaskExecutor.doExecute(Un
known Source)
        at com.ss.editor.executor.impl.AbstractEditorTaskExecutor.run(Unknown So
urce)

Do you have x32 OS?

Yes.
jMB creates bulletjme.dll and it is x32 version for sure, I compared it with those packed in jme3-bullet-native-3.2_branch-SNAPSHOT.jar by size.

I would not expect an increase in the minor version number to be compatible with previous versions. As far as I am aware a change in minor version means a breaking change. However I do not know to what extent the differences are. I have a feeling you might have to scour the changelogs or just throw it at it in a new project…

could you recheck this version, please?

could you run the HelloPhysics example on the last version of jME, please?

Not a HelloPhysics, but something similar.
A clean installation of JME 3.2, testproject, again the same error. There is something wrong with that dll.

SEVERE: main() method had exception: jme3test.bullet.TestBrickWall
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at jme3test.TestChooser$2.run(TestChooser.java:270)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.UnsatisfiedLinkError: D:\Projekty Visual C\JMonkeyProjects\JmeTests2\bulletjme.dll: Nie można odnaleźć określonej procedury
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
    at java.lang.Runtime.load0(Runtime.java:809)
    at java.lang.System.load(System.java:1086)
    at com.jme3.system.NativeLibraryLoader.loadNativeLibrary(NativeLibraryLoader.java:683)
    at com.jme3.system.JmeDesktopSystem.initialize(JmeDesktopSystem.java:348)
    at com.jme3.system.JmeDesktopSystem.newContext(JmeDesktopSystem.java:271)
    at com.jme3.system.JmeSystem.newContext(JmeSystem.java:162)
    at com.jme3.app.LegacyApplication.start(LegacyApplication.java:461)
    at com.jme3.app.LegacyApplication.start(LegacyApplication.java:424)
    at com.jme3.app.SimpleApplication.start(SimpleApplication.java:125)
    ... 6 more

I’m not an expert with bullet part of jME, I have no ideas how I can help you :frowning:

Just a quick comment (I’ll edit when I find the time):

The Problem is that j3o isnt really backwards compatible so while it could work with newer versions it could also lead to Problems (I Think I had it that 3.2 j3os had Empty Animations in 3.1).

I dont understand 100% where its lagging but we could only really fix 3.1/3.2 issues.

Another thing worth noting is that the blender importer got many improvements but is still really imperfect. You could also try xbuf which is superior, but it will also embed the Material. Also on your current state it might not be wise to change the asset pipeline.

But with blender importer you should be able to Click on “generate Material” to Export the Embedded Material so its like with ogre (if I understood the problem correctly).

For the lagging: is that for every Model? Also on other devices?

1 Like

I don’t have other devices. Lagging is always when I just expand Geometry section in Properties panel. I looks like path field (or second one) have refresh rate or something - for example:
when Geometry is collapsed I edit scale values, hit [Enter] and changes are set immediately. When I do the same with opened Geometry panel I click scale - wait one sec. - type values (fluently) - hit [Enter] - wait 1 sec.
Lagging is even when I open menu from top manu bar, when moving nodes - everywhere in all SDK. :frowning:
I will try on my second system account.

The Problem is that j3o isnt really backwards compatible

Exactly. @FrozenShade was confirmed me that.

New info:
When I open another project everything is going nice - when I open back lagging project… it is still lagging :slight_smile: So maybe material count limitation? To big list for materials? I don’t see any other differences between projects.