Blend2j3o tangents problem

Hi, maybe i forgot about somethin, but i have problems with blender2j3o.



before question: Yes i have UV map and im using blender version: 2.49


  • Export to ogre mesh, create j3o with tangents from ogre mesh WORK



    but now i wanted try do the same from blend file.


  • create j3o from blend file, generate tangents using SceneComposer EXCEPTION(when i exit from scenecomposer and trying edit/view j3o again)


java.lang.NullPointerException
at com.jme3.scene.Mesh.cloneForAnim(Mesh.java:284)
at com.jme3.scene.Geometry.clone(Geometry.java:487)
at com.jme3.scene.Geometry.clone(Geometry.java:60)
at com.jme3.scene.Spatial.clone(Spatial.java:1155)
at com.jme3.scene.Node.clone(Node.java:565)
at com.jme3.scene.Node.clone(Node.java:61)
at com.jme3.scene.Spatial.clone(Spatial.java:1155)
at com.jme3.scene.Node.clone(Node.java:565)
at com.jme3.scene.Node.clone(Node.java:61)
at com.jme3.scene.Spatial.clone(Spatial.java:1195)
at com.jme3.asset.ModelKey.createClonedInstance(ModelKey.java:58)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:300)
at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:408)
[catch] at com.jme3.gde.core.assets.SpatialAssetDataObject.loadAsset(SpatialAssetDataObject.java:90)
at com.jme3.gde.scenecomposer.OpenSceneComposer$1.run(OpenSceneComposer.java:38)
at java.lang.Thread.run(Thread.java:619)


what's wrong? is it again my intel GMA chipset? but i think not, becouse it work from ogre meshes :)

or maybe it's just still in alpha progress work

please tell me whyyy... :p

The exception you posted happens when loading, not when applying tangents. @Momoko_Fan?

indeed, i edited post while you wrote it :slight_smile:



edit: but it’s not solving it :stuck_out_tongue:

If you’re using the latest jme3 nightly and loading a .blend model, please post the model file

i have it propably for all models :slight_smile: (at least i checked 5 models). don’t use nightly(In JMP plugins → settings i dont have marked nightly)



later i will send blend model(can’t in that moment)



edit: for example simple model: http://intre.oxplay.net/model.zip

Okay I tried to export it to J3O, then load it again, then export, then load again. Didn’t get any error.

It happens only in jMP?

i use only JMP to do it. If you want me to try other ways, just tell me how to exacly do it.



BTW Maybe some of this will help:



Product Version: jMonkeyEngine SDK 3.0beta

Java: 1.6.0_21; Java HotSpot™ Server VM 17.0-b17

System: Windows 7 version 6.1 running on x86; Cp1250; pl_PL (jmonkeyplatform)

Userdir: C:UsersoxplayAppDataRoaming.jmonkeyplatform3.0beta

@Momoko_Fan said:
Okay I tried to export it to J3O, then load it again, then export, then load again. Didn't get any error.
It happens only in jMP?

Note it happens when the model is cloned, try loading it twice maybe.

maybe i said somethin wrong. here exacly what i was doing:



[LPM on blend model] → convert to j3o → [LPM on this model.j3o] → Edit in SceneComposer → [LPM on Cube.0081] → Tools → Generate Tangents → [LPM on SceneComposer Window] → Close Window → (ask for save then save) → Exception when try to edit/open j3o

Okay I added an issue in the tracker about this. Right now all of us are waiting for @Kaelthas to return so that he can fix them.

@Kaelthas and me are same nationality, I will look for him and beat for that :stuck_out_tongue:



Seriously its really minor problem becouse we have possibility to do the same with ogre meshes

So we can calmly wait :slight_smile:

Hi,



sorry it took so long.

I couln’t keep in touch with everything for some time (lots of stuff to do :stuck_out_tongue: ) but I managed to focus on the loader.

Now I’ll try to collect all problems with the importer and fix them as soon as possible.



Radek try to update to the lates version and let me know if the problem still exists.

1 Like

i have latest stable version (not nightly)

just updated



still same problem :slight_smile:



let me know if you want me use nightly.

Yeah, the changes are only in nightly but remember you cannot just go back, best set up a new application (see manual).

yes i was afraid it



ahh… i have only one life :stuck_out_tongue:



lets use nightly :slight_smile:



edit:



ok i updated. now there are other lines of code:


java.lang.NullPointerException
at com.jme3.scene.Mesh.cloneForAnim(Mesh.java:274)
at com.jme3.scene.Geometry.clone(Geometry.java:487)
at com.jme3.scene.Geometry.clone(Geometry.java:60)
at com.jme3.scene.Spatial.clone(Spatial.java:1142)
at com.jme3.scene.Node.clone(Node.java:565)
at com.jme3.scene.Node.clone(Node.java:61)
at com.jme3.scene.Spatial.clone(Spatial.java:1142)
at com.jme3.scene.Node.clone(Node.java:565)
at com.jme3.scene.Node.clone(Node.java:61)
at com.jme3.scene.Spatial.clone(Spatial.java:1182)
at com.jme3.asset.ModelKey.createClonedInstance(ModelKey.java:58)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:300)
at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:408)
[catch] at com.jme3.gde.core.assets.SpatialAssetDataObject.loadAsset(SpatialAssetDataObject.java:90)
at com.jme3.gde.scenecomposer.OpenSceneComposer$1.run(OpenSceneComposer.java:38)
at java.lang.Thread.run(Thread.java:619)


and while launching game i get:


java.lang.ClassNotFoundException: com.jme3.scene.plugins.blender.BlenderModelLoader


funny is that i get this error when i try somehow change terrain shining in material...

i have no such class... huh?

Are you opening the J3O or the blend file? You have to convert it to J3O again for it to work

@Momoko_Fan:



no, i dont use blend files in code. i use only j3o. i dont use mesh.xml also. everything is j3o. i know its needed for distribution version



and i dont use badly one converted j3o from SDK(this one from .blend)



remember i have 2 cases: SDK exception and runtime exception. this one is about runtime exception



i updated now also, and same happends:




java.lang.ClassNotFoundException: com.jme3.scene.plugins.blender.BlenderModelLoader
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.jme3.asset.DesktopAssetManager.registerLoader(DesktopAssetManager.java:135)
at com.jme3.asset.AssetConfig.loadText(AssetConfig.java:74)
at com.jme3.asset.DesktopAssetManager.(DesktopAssetManager.java:88)
at com.jme3.system.JmeDesktopSystem.newAssetManager(JmeDesktopSystem.java:56)
at com.jme3.system.JmeSystem.newAssetManager(JmeSystem.java:87)
at com.jme3.app.Application.initAssetManager(Application.java:162)
at com.jme3.app.Application.initialize(Application.java:490)
at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:204)
at oxplay.app.engine.GameApplicationExtend.initialize(GameApplicationExtend.java:41)
at oxplay.Client.initialize(Client.java:296)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:129)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:205)
at java.lang.Thread.run(Thread.java:619)


where in at oxplay.app.engine.GameApplicationExtend.initialize(GameApplicationExtend.java:41)

i have:

[java] @Override
public void initialize() {
super.initialize();
inputManager.setCursorVisible(true);
flyCam.setEnabled(false);
stateManager.attach(renderTaskManager);
stateManager.attach(camControl);
stateManager.attach(silverManager);
stateManager.attach(world);
stateManager.attach(filterConfig);
stateManager.attach(terrainManager);
}[/java]

so it seems it is broken on super.initialize(). so its not my fault i think

edit:

1) Downloading SDK beta from jme webpage and delete all setting folders seems to work.

2) BUT updating:

Android Support [3.0.0.8348.45 -> 3.0.0.8829.45]
Applet Support [3.0.0.8424 -> 3.0.0.8774]
AssetPack Support [3.0.0.8383 -> 3.0.0.8667]
Desktop Deployment Support [3.0.0.8117 -> 3.0.0.8774]
Font Creator [3.0.0.8093 -> 3.0.0.8774]
GLSL Editor [3.0.0.8421 -> 3.0.0.8829]
jMonkeyEngine3 External Libraries [3.0.0.8499 -> 3.0.0.8829]
jMonkeyEngine3 Library [3.0.0.8509 -> 3.0.0.8829]
Material Support [3.0.0.8119 -> 3.0.0.8829]
Model Import Tool [3.0.0.8436 -> 3.0.0.8667]
NiftyGUI Support [3.0.0.8390.2 -> 3.0.0.8774.2]
OgreXML Support [3.0.0.8384 -> 3.0.0.8667]
Project Templates [3.0.0.8408 -> 3.0.0.8829]
Project Test Data [3.0.0.8306 -> 3.0.0.8667]
SceneComposer [3.0.0.8380 -> 3.0.0.8667]
SDK Core [3.0.0.8511.45 -> 3.0.0.8829.45]
SDK Engine [3.0.0.8509 -> 3.0.0.8829]
SDK Libraries [3.0.0.8499 -> 3.0.0.8829]
Terrain Editor [3.0.0.8314 -> 3.0.0.8667]
Tests Template [3.0.0.8500 -> 3.0.0.8667]
Vehicle Creator [3.0.0.8118 -> 3.0.0.8667]
Welcome Screen [3.0.0.8093 -> 3.0.0.8794]


give in SDK exception i said before:

java.lang.NullPointerException
at com.jme3.scene.Mesh.cloneForAnim(Mesh.java:284)
at com.jme3.scene.Geometry.clone(Geometry.java:487)
at com.jme3.scene.Geometry.clone(Geometry.java:60)
at com.jme3.scene.Spatial.clone(Spatial.java:1155)
at com.jme3.scene.Node.clone(Node.java:565)
at com.jme3.scene.Node.clone(Node.java:61)
at com.jme3.scene.Spatial.clone(Spatial.java:1155)
at com.jme3.scene.Node.clone(Node.java:565)
at com.jme3.scene.Node.clone(Node.java:61)
at com.jme3.scene.Spatial.clone(Spatial.java:1195)
at com.jme3.asset.ModelKey.createClonedInstance(ModelKey.java:58)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:300)
at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:408)
[catch] at com.jme3.gde.core.assets.SpatialAssetDataObject.loadAsset(SpatialAssetDataObject.java:90)
at com.jme3.gde.scenecomposer.OpenSceneComposer$1.run(OpenSceneComposer.java:38)
at java.lang.Thread.run(Thread.java:619)

but Runtime work

3) ok now nightly update:

Android Support [3.0.0.8829.45 -> 3.0.0.8840.45]
jMonkeyEngine3 External Libraries [3.0.0.8829 -> 3.0.0.8850]
jMonkeyEngine3 Library [3.0.0.8829 -> 3.0.0.8885]
Material Support [3.0.0.8829 -> 3.0.0.8875]
Project Test Data [3.0.0.8667 -> 3.0.0.8839]
SDK Engine [3.0.0.8829 -> 3.0.0.8885]
SDK Libraries [3.0.0.8829 -> 3.0.0.8850]
Terrain Editor [3.0.0.8667 -> 3.0.0.8809]
Tests Template [3.0.0.8667 -> 3.0.0.8843]

SDK exception (other lines)

java.lang.NullPointerException
at com.jme3.scene.Mesh.cloneForAnim(Mesh.java:274)
at com.jme3.scene.Geometry.clone(Geometry.java:487)
at com.jme3.scene.Geometry.clone(Geometry.java:60)
at com.jme3.scene.Spatial.clone(Spatial.java:1142)
at com.jme3.scene.Node.clone(Node.java:565)
at com.jme3.scene.Node.clone(Node.java:61)
at com.jme3.scene.Spatial.clone(Spatial.java:1142)
at com.jme3.scene.Node.clone(Node.java:565)
at com.jme3.scene.Node.clone(Node.java:61)
at com.jme3.scene.Spatial.clone(Spatial.java:1182)
at com.jme3.asset.ModelKey.createClonedInstance(ModelKey.java:58)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:300)
at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:408)
[catch] at com.jme3.gde.core.assets.SpatialAssetDataObject.loadAsset(SpatialAssetDataObject.java:90)
at com.jme3.gde.scenecomposer.OpenSceneComposer$1.run(OpenSceneComposer.java:38)
at java.lang.Thread.run(Thread.java:619)

and runtime exception

WARNING: Failed to find loader: com.jme3.scene.plugins.blender.BlenderModelLoader
java.lang.ClassNotFoundException: com.jme3.scene.plugins.blender.BlenderModelLoader
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.jme3.asset.DesktopAssetManager.registerLoader(DesktopAssetManager.java:135)
at com.jme3.asset.AssetConfig.loadText(AssetConfig.java:74)
at com.jme3.asset.DesktopAssetManager.(DesktopAssetManager.java:88)
at com.jme3.system.JmeDesktopSystem.newAssetManager(JmeDesktopSystem.java:56)
at com.jme3.system.JmeSystem.newAssetManager(JmeSystem.java:87)
at com.jme3.app.Application.initAssetManager(Application.java:162)
at com.jme3.app.Application.initialize(Application.java:490)
at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:204)
at oxplay.app.engine.GameApplicationExtend.initialize(GameApplicationExtend.java:41)
at oxplay.Client.initialize(Client.java:296)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:129)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:205)
at java.lang.Thread.run(Thread.java:619)

and terrain is Really shiny as in one topic on forum.

@Kaelthas: now you know when it started crashing

the more i update -> more exceptions

Several minutes ago a nightly update was released for the sdk that fixes the null pointer issue. Please update from nightly

it fixed nothing for me. :frowning:

Should i reinstall SDK and then update?

I assume you’re double clicking a .blend file in jMP which is updated to nightly build. If that’s the case, please post the .blend file.