[SOLVED] Blender .obj export not working in JmonKeyBuilder

Hi ,
i have made a simple gear on blender & when i export that gear as a obj ,then importing it in jmonkeyBuilder i get this shape , it seems there’s clipping issues , so how can i fix this ?
Thanks

images:
Gear on Blender object mode :

Gear on Blender Edit mode :

My Export Settings in blender :

Gear on JmonkeyBuilder after importing :

Most likely cause is that some of your faces are pointing the wrong way.

okay, i forgot to tell you that i have tried to import a cylinder w/o modifying it but the same problem persists…

Maybe Blender isn’t triangulating the faces for OBJ?

Have you tried exporting as gltf?

2 Likes

tried it ,it gave me an unkown shape

this is the log text for importing obj in jmonkey

Stop offview panel
Stop offview panel
Looking in empty list for Gear.obj
Copied file /home/twisted/Blender Projects/Gear.obj to Models/Gear/Gear.obj
Add file Models/Gear/Gear.obj to delete list
Looking in empty list for Gear.mtl
Copied file /home/twisted/Blender Projects/Gear.mtl to Models/Gear/Gear.mtl
Add file Models/Gear/Gear.mtl to delete list
Using real ProjectAssetManager for import instatiation.
Unknown statement in OBJ! o
Edge or polygon detected in OBJ. Ignored.
Edge or polygon detected in OBJ. Ignored.
Edge or polygon detected in OBJ. Ignored.
Edge or polygon detected in OBJ. Ignored.

…i have tried it in unity as obj and it worked !

Okay, i have fixed it as you have said the blender havenot not isnot triangulating the faces for obj as if you choose the triangular fans in the faces mode of add cylinder menu , blender will recognize the faces as triangles as you mentioned & then finally jmonkey can really read them.

make the cap fill type property as triangular fans :
image

Gear in blender :

Gear in jmonkey:

Thank you

1 Like

Did you manage to build jMonkeyBuilder for 3.3? The latest release is very old and only supports 3.2.

1 Like

@8Keep123

the versions i am using but the problem lies within jmonkeyEngine not the version , the engine seems to be supporting faces in triangle mode only … the non-triangle mode works with Unity Engine, if the triangle faces issue is fixed in new version then its okay thankfully blender has the ability to convert regular faces into triangular ones

Unity does processing on its side to protect their innocent users from issues like non triangle polygons. jME could do that too, but you can do the same thing in blender.

The 3.2 issue is just a side note, so you know you aren’t getting any of the 3.3 features + fixes

1 Like

@8Keep123 okay, i will the do the update

There is no update to jMonkeyBuilder. You can probably stay on 3.2 for now since you are not blocked on any issues that would be fixed in 3.3, and try to figure out a path forward to rework your jMonkeyBuilder workflow if you want.

1 Like

@8Keep123 if i managed to build full scenes in blender without issues & import it into jmonkey projects … i will stop using the Jmonkey Scene Builder

I wrote a gradle plugin that imports models

Just click “File → import model”.

1 Like

@8Keep123 i have a current issue with running swing framework besides JME3 framework , sometimes when i exit the game then start it again for the third time from my JForm swing gui program , the whole jar program crashes & it writes a new log file this one :

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f264429cc98, pid=1454, tid=0x00007f264c2fe700
#
# JRE version: Java(TM) SE Runtime Environment (8.0_201-b09) (build 1.8.0_201-b09)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.201-b09 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libstdc++.so.6+0x1bec98]  vtable for __cxxabiv1::__si_class_type_info+0x10
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x00007f26781d4800):  JavaThread "Finalizer" daemon [_thread_in_native, id=1542, stack(0x00007f264c1fe000,0x00007f264c2ff000)]

siginfo: si_signo: 11 (SIGSEGV), si_code: 2 (SEGV_ACCERR), si_addr: 0x00007f264429cc98

Registers:
RAX=0x00007f2604fee8d0, RBX=0x0000000000000000, RCX=0x00007f25e9f69d30, RDX=0x00007f25e9f5b260
RSP=0x00007f264c2fd6c8, RBP=0x00007f25e9f69d30, RSI=0x00007f25b254cf90, RDI=0x00007f25e81c69d0
R8 =0x0000000000000000, R9 =0x0000000000000001, R10=0x00007f266901869b, R11=0x00007f2680125db0
R12=0x00007f25b254cf90, R13=0x00007f25e9f5b260, R14=0x0000000000000000, R15=0x00007f25e9f5b260
RIP=0x00007f264429cc98, EFLAGS=0x0000000000010202, CSGSFS=0x002b000000000033, ERR=0x0000000000000015
  TRAPNO=0x000000000000000e

Top of Stack: (sp=0x00007f264c2fd6c8)
0x00007f264c2fd6c8:   00007f2604d1be25 00007f25e9f5b260
0x00007f264c2fd6d8:   00007f25e9b05610 0000000000000000
0x00007f264c2fd6e8:   00007f25e9f69d30 00007f25b254cf90
0x00007f264c2fd6f8:   00007f2604d06d99 0000000000000000
0x00007f264c2fd708:   0000000104da724c 00007f264c2fd760
0x00007f264c2fd718:   00007f25b3328c10 0000000000000000
0x00007f264c2fd728:   00007f25e9b05610 00007f264c2fd7a0
0x00007f264c2fd738:   00007f25e9f5b260 00007f264c2fd75f
0x00007f264c2fd748:   00007f2604d066fc 00007f264c2fd7a0
0x00007f264c2fd758:   800e9d1e24cc9600 00007f264c2fd890
0x00007f264c2fd768:   00007f25e9f69d30 00007f25ec02e130
0x00007f264c2fd778:   00007f25e9f5b260 00007f25e81c69d0
0x00007f264c2fd788:   00007f264c2fd8c0 00007f26781d4800
0x00007f264c2fd798:   00007f2604d0650d 00007f2604fec290
0x00007f264c2fd7a8:   00007f25e9f69d30 00007f25ec02e130
0x00007f264c2fd7b8:   00007f2604d70e49 00007f25e83fa5e0
0x00007f264c2fd7c8:   0000000000000000 00007f25e9f69d30
0x00007f264c2fd7d8:   00007f2604d2c023 00007f26781d4800
0x00007f264c2fd7e8:   00007f25e83fa5e0 00007f264c2fd890
0x00007f264c2fd7f8:   0000000000000000 00007f25f058d378
0x00007f264c2fd808:   00007f2604d50619 00007f25e9ae74e0
0x00007f264c2fd818:   00007f2604d3c981 00007f25f058d378
0x00007f264c2fd828:   00007f26690186c7 00007f264c2fd890
0x00007f264c2fd838:   00007f2669018419 fffffffe00000000
0x00007f264c2fd848:   00007f26690183e2 00007f264c2fd850
0x00007f264c2fd858:   00007f25f058d378 00007f264c2fd8c0
0x00007f264c2fd868:   00007f25f0598a40 0000000000000000
0x00007f264c2fd878:   00007f25f058d378 0000000000000000
0x00007f264c2fd888:   00007f264c2fd8b0 00007f264c2fd908
0x00007f264c2fd898:   00007f26690082bd 0000000000000000
0x00007f264c2fd8a8:   00007f2669011d18 00007f25e9ae74e0
0x00007f264c2fd8b8:   0000000088d55fe8 0000000088d55fe8 

Instructions: (pc=0x00007f264429cc98)
0x00007f264429cc78:   20 07 25 44 26 7f 00 00 e0 bf 29 44 26 7f 00 00
0x00007f264429cc88:   00 00 00 00 00 00 00 00 70 cc 29 44 26 7f 00 00
0x00007f264429cc98:   50 46 18 44 26 7f 00 00 70 46 18 44 26 7f 00 00
0x00007f264429cca8:   b0 48 18 44 26 7f 00 00 b0 48 18 44 26 7f 00 00 

Register to memory mapping:

RAX=0x00007f2604fee8d0: <offset 0x3f98d0> in /home/jpluto/libbulletjme.so at 0x00007f2604bf5000
RBX=0x0000000000000000 is an unknown value
RCX=0x00007f25e9f69d30 is an unknown value
RDX=0x00007f25e9f5b260 is an unknown value
RSP=0x00007f264c2fd6c8 is pointing into the stack for thread: 0x00007f26781d4800
RBP=0x00007f25e9f69d30 is an unknown value
RSI=0x00007f25b254cf90 is an unknown value
RDI=0x00007f25e81c69d0 is an unknown value
R8 =0x0000000000000000 is an unknown value
R9 =0x0000000000000001 is an unknown value
R10=0x00007f266901869b is at code_begin+859 in an Interpreter codelet
method entry point (kind = native)  [0x00007f2669018340, 0x00007f2669018cc0]  2432 bytes
R11=0x00007f2680125db0: <offset 0x9bfdb0> in /home/jpluto/jdk1.8.0_201/jre/lib/amd64/server/libjvm.so at 0x00007f267f766000
R12=0x00007f25b254cf90 is an unknown value
R13=0x00007f25e9f5b260 is an unknown value
R14=0x0000000000000000 is an unknown value
R15=0x00007f25e9f5b260 is an unknown value


Stack: [0x00007f264c1fe000,0x00007f264c2ff000],  sp=0x00007f264c2fd6c8,  free space=1021k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libstdc++.so.6+0x1bec98]  vtable for __cxxabiv1::__si_class_type_info+0x10

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.jme3.bullet.PhysicsSpace.finalizeNative(J)V+0
j  com.jme3.bullet.PhysicsSpace.finalize()V+34
J 1501 C1 java.lang.ref.Finalizer.runFinalizer(Lsun/misc/JavaLangAccess;)V (62 bytes) @ 0x00007f266950ae3c [0x00007f266950a8a0+0x59c]
J 1500 C1 java.lang.ref.Finalizer.access$100(Ljava/lang/ref/Finalizer;Lsun/misc/JavaLangAccess;)V (6 bytes) @ 0x00007f266950b59c [0x00007f266950b540+0x5c]
j  java.lang.ref.Finalizer$FinalizerThread.run()V+45
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x00007f25bd2fd800 JavaThread "jME3 Audio Decoder" daemon [_thread_blocked, id=1639, stack(0x00007f2644dac000,0x00007f2644ead000)]
  0x00007f25e98e5000 JavaThread "jME3 Main" [_thread_in_Java, id=1629, stack(0x00007f25df4f5000,0x00007f25df5f6000)]
  0x00007f260c1b3000 JavaThread "Thread-6" [_thread_in_native, id=1626, stack(0x00007f2604af5000,0x00007f2604bf5000)]
  0x00007f25ec018000 JavaThread "process reaper" daemon [_thread_blocked, id=1587, stack(0x00007f26440a5000,0x00007f26440de000)]
  0x00007f260c25d800 JavaThread "TimerQueue" daemon [_thread_blocked, id=1583, stack(0x00007f26443c9000,0x00007f26444ca000)]
  0x00007f260c01a000 JavaThread "Image Animator 3" daemon [_thread_blocked, id=1563, stack(0x00007f2645b77000,0x00007f2645c78000)]
  0x00007f267800b000 JavaThread "DestroyJavaVM" [_thread_blocked, id=1498, stack(0x00007f267f521000,0x00007f267f621000)]
  0x00007f26784ce000 JavaThread "AWT-EventQueue-0" [_thread_in_Java, id=1562, stack(0x00007f2645c78000,0x00007f2645d79000)]
  0x00007f26784cd000 JavaThread "AWT-Shutdown" [_thread_blocked, id=1561, stack(0x00007f2645d79000,0x00007f2645e7a000)]
  0x00007f2678476800 JavaThread "AWT-XAWT" daemon [_thread_in_native, id=1560, stack(0x00007f264607a000,0x00007f264617b000)]
  0x00007f2678451800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=1559, stack(0x00007f264617b000,0x00007f264627c000)]
& **so on a long text log file**

so is there’s a fix for that ?

I don’t use swing so I’m not the right person to answer this or help here, though the error looks like it’s in finalizing bullet native memory

2 Likes

so where’s the right place to ask about this issue then ?

@8Keep123 I am puttting this snippet in the updatelLoop …is it the real reason behind this error ??

            if(stop){
                this.stop();
                stop=false;
            }