Unknown blend type 16


#1

When I want to convert a blend file created with 2.79 blender using space shift editor 1.2.0 an exception arise with a strange message “Unknown blend type 16”.

com.jme3.asset.AssetLoadException: An exception has occured while loading asset: Models/Land/Model Without Cars.blend
at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:261)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:373)
at com.ss.editor.file.converter.impl.AbstractModelFileConverter.convertImpl(Unknown Source)
at com.ss.editor.file.converter.impl.AbstractModelFileConverter.lambda$convert$1(Unknown Source)
at com.ss.editor.executor.impl.BackgroundEditorTaskExecutor.doExecute(Unknown Source)
at com.ss.editor.executor.impl.AbstractEditorTaskExecutor.run(Unknown Source)
Caused by: java.io.IOException: Unexpected importer exception occured: Unknown blend type: 16
at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:223)
at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:88)
at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:259)
... 5 more
Caused by: java.lang.IllegalStateException: Unknown blend type: 16
at com.jme3.scene.plugins.blender.textures.blending.TextureBlenderAWT.blendPixel(TextureBlenderAWT.java:255)
at com.jme3.scene.plugins.blender.textures.blending.TextureBlenderAWT.blend(TextureBlenderAWT.java:137)
at com.jme3.scene.plugins.blender.textures.CombinedTexture.blend(CombinedTexture.java:363)
at com.jme3.scene.plugins.blender.textures.CombinedTexture.flatten(CombinedTexture.java:172)
at com.jme3.scene.plugins.blender.materials.MaterialContext.applyMaterial(MaterialContext.java:175)
at com.jme3.scene.plugins.blender.meshes.TemporalMesh.prepareFacesGeometry(TemporalMesh.java:623)
at com.jme3.scene.plugins.blender.meshes.TemporalMesh.toGeometries(TemporalMesh.java:485)
at com.jme3.scene.plugins.blender.objects.ObjectHelper.toObject(ObjectHelper.java:248)
at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:105)
... 7 more

caused by java.io.IOException: Unexpected importer exception occured: Unknown blend type: 16
at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:223)
at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:88)
at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:259)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:373)
at com.ss.editor.file.converter.impl.AbstractModelFileConverter.convertImpl(Unknown Source)
at com.ss.editor.file.converter.impl.AbstractModelFileConverter.lambda$convert$1(Unknown Source)
at com.ss.editor.executor.impl.BackgroundEditorTaskExecutor.doExecute(Unknown Source)
at com.ss.editor.executor.impl.AbstractEditorTaskExecutor.run(Unknown Source)
Caused by: java.lang.IllegalStateException: Unknown blend type: 16
at com.jme3.scene.plugins.blender.textures.blending.TextureBlenderAWT.blendPixel(TextureBlenderAWT.java:255)
at com.jme3.scene.plugins.blender.textures.blending.TextureBlenderAWT.blend(TextureBlenderAWT.java:137)
at com.jme3.scene.plugins.blender.textures.CombinedTexture.blend(CombinedTexture.java:363)
at com.jme3.scene.plugins.blender.textures.CombinedTexture.flatten(CombinedTexture.java:172)
at com.jme3.scene.plugins.blender.materials.MaterialContext.applyMaterial(MaterialContext.java:175)
at com.jme3.scene.plugins.blender.meshes.TemporalMesh.prepareFacesGeometry(TemporalMesh.java:623)
at com.jme3.scene.plugins.blender.meshes.TemporalMesh.toGeometries(TemporalMesh.java:485)
at com.jme3.scene.plugins.blender.objects.ObjectHelper.toObject(ObjectHelper.java:248)
at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:105)
... 7 more

caused by java.lang.IllegalStateException: Unknown blend type: 16
at com.jme3.scene.plugins.blender.textures.blending.TextureBlenderAWT.blendPixel(TextureBlenderAWT.java:255)
at com.jme3.scene.plugins.blender.textures.blending.TextureBlenderAWT.blend(TextureBlenderAWT.java:137)
at com.jme3.scene.plugins.blender.textures.CombinedTexture.blend(CombinedTexture.java:363)
at com.jme3.scene.plugins.blender.textures.CombinedTexture.flatten(CombinedTexture.java:172)
at com.jme3.scene.plugins.blender.materials.MaterialContext.applyMaterial(MaterialContext.java:175)
at com.jme3.scene.plugins.blender.meshes.TemporalMesh.prepareFacesGeometry(TemporalMesh.java:623)
at com.jme3.scene.plugins.blender.meshes.TemporalMesh.toGeometries(TemporalMesh.java:485)
at com.jme3.scene.plugins.blender.objects.ObjectHelper.toObject(ObjectHelper.java:248)
at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:105)
at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:88)
at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:259)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:373)
at com.ss.editor.file.converter.impl.AbstractModelFileConverter.convertImpl(Unknown Source)
at com.ss.editor.file.converter.impl.AbstractModelFileConverter.lambda$convert$1(Unknown Source)
at com.ss.editor.executor.impl.BackgroundEditorTaskExecutor.doExecute(Unknown Source)
at com.ss.editor.executor.impl.AbstractEditorTaskExecutor.run(Unknown Source)

I tried to test the converting of the simple cube from that blender version and it’s working. So i tried to convert that blend file to Wavefront and tried to convert that obj file and another exception arise.

java.lang.ClassCastException: com.jme3.asset.AssetKey cannot be cast to com.jme3.asset.TextureKey
at com.jme3.texture.Texture.setKey(Texture.java:425)
at com.jme3.scene.plugins.MTLLoader.loadTexture(MTLLoader.java:186)
at com.jme3.scene.plugins.MTLLoader.readLine(MTLLoader.java:232)
at com.jme3.scene.plugins.MTLLoader.load(MTLLoader.java:304)
at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:259)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:373)
at com.jme3.scene.plugins.OBJLoader.loadMtlLib(OBJLoader.java:336)
at com.jme3.scene.plugins.OBJLoader.readLine(OBJLoader.java:389)
at com.jme3.scene.plugins.OBJLoader.load(OBJLoader.java:578)
at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:259)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:373)
at com.ss.editor.file.converter.impl.AbstractModelFileConverter.convertImpl(Unknown Source)
at com.ss.editor.file.converter.impl.AbstractModelFileConverter.lambda$convert$1(Unknown Source)
at com.ss.editor.executor.impl.BackgroundEditorTaskExecutor.doExecute(Unknown Source)
at com.ss.editor.executor.impl.AbstractEditorTaskExecutor.run(Unknown Source)

#2

Try to use xbuf/GLTF as importer as blender importer is not feature complete and it seems that obj also has it’s flaws.


#3

ogre.xml also works pretty well.


#4

Thanks guys. I faced some problems in using xbuf. So, I found that the problem was in a small part of the model (sidewalk) when I try to give the texture a color (yellow and black).


#5

1st error looks like blender garbage getting in the way, a blender file that has had lots done to it easily accumulates ‘garbage’ : unused references and geometries.

2nd error looks like a problem with the .mtl file perhaps ? often the links blender has to files are not properly translated to the material file of the obj… to be safe, I never export materials with obj’s and delete any material files created by accident.