Bones - Skeletal and Pose animations for jPCT

Started by raft, January 06, 2010, 11:45:01 PM

Previous topic - Next topic

raft

my OgreXMLConverter failed too to convert your files. giving same serializer error
Exception caught: Cannot find serializer implementation for current version [MeshSerializer_v1.41]

this is, as i remember, caused by version mismatch. ie: exporter uses a newer Ogre library than converter. I've upgraded my converter and successfully converted your files. but this time Bones failed to load your files since there is no animation in them. export some animations and send me the files again.

to run converter on your machine, get latest version of converter. seems as precompiled Windows version is not latest, so you can try building from source.

if you have access to an ubuntu machine, you can get latest converter from here:
https://launchpad.net/~ogre-team/+archive/ogre


raft

I've updated the zip. this version saves Animated3D names to stream. This changes stream version, formerly serialized groups should be re-serialized with BonedIO or script files.

i've decided -at least for now- not to publish merging many objects in many groups into a single group. this is because it wont work as the way I expected and will cause more trouble than it solves.

Babu

Quoteto run converter on your machine, get latest version of converter. seems as precompiled Windows version is not latest, so you can try building from source.

I got the source from their SVN.  But when I tried to build, I found that some more files are required.
1>Compiling...
1>main.cpp
1>d:\archive\main.cpp(30) : fatal error C1083: Cannot open include file: 'Ogre.h': No such file or directory
1>OgreXMLMeshSerializer.cpp
1>d:\archive\ogrexmlprerequisites.h(32) : fatal error C1083: Cannot open include file: 'OgrePrerequisites.h': No such file or directory
1>OgreXMLSkeletonSerializer.cpp
1>d:\archive\ogrexmlprerequisites.h(32) : fatal error C1083: Cannot open include file: 'OgrePrerequisites.h': No such file or directory
1>tinyxml.cpp
1>d:\archive\tinyxml.h(29) : fatal error C1083: Cannot open include file: 'OgrePrerequisites.h': No such file or directory
1>tinyxmlerror.cpp
1>d:\archive\tinyxml.h(29) : fatal error C1083: Cannot open include file: 'OgrePrerequisites.h': No such file or directory
1>tinyxmlparser.cpp
1>d:\archive\tinyxml.h(29) : fatal error C1083: Cannot open include file: 'OgrePrerequisites.h': No such file or directory
1>Generating Code...


I am searching for these missing files in their SVN, now  :(

raft

well, you are on your own for this build process ;)

have tried downloading Ogre SDK? it contains OgreXMLConverter too.
http://www.ogre3d.org/download/sdk/

paulscode

Quote from: raft on April 18, 2011, 08:12:27 PMif you have access to an ubuntu machine, you can get latest converter from here:
https://launchpad.net/~ogre-team/+archive/ogre

Another option if you can't get the Windows version to work, might be to install the free program VirtualBox, and then create an Ubuntu virtual machine to use for compiling and converting.  Sort of a round-about way to do things, but its another option that won't cost anything if all else fails.

Babu

Quotehave tried downloading Ogre SDK? it contains OgreXMLConverter too.
Done that.  But the mac version of the SDK seems to be having some problem.  However, my artist was able to download the windows version of the converter and he sent the .xml files.

But when I ran them through the BonesImporter, I got the following exception.  Any hints on resolving this exception??
Skeleton created out of jME OGRE skeleton, 69 joints
Exception in thread "main" java.lang.NullPointerException
at raft.jpct.bones.BonesImporter.convertJMEMeshData(BonesImporter.java:431)
at raft.jpct.bones.BonesImporter.importOgre(BonesImporter.java:192)
at raft.jpct.bones.util.JMEOgreImporter.loadGroup(JMEOgreImporter.java:93)
at raft.jpct.bones.util.JMEOgreImporter.loadGroup(JMEOgreImporter.java:77)
at raft.jpct.bones.util.JMEOgreImporter.run(JMEOgreImporter.java:58)
at raft.jpct.bones.util.JMEOgreImporter.main(JMEOgreImporter.java:147)

Babu

raft, also I've mailed you the bunch of files..

raft

#202
seems as a bug in jME ogre loader. there are two vertex texture buffers where first is null. I always use the first buffer, that causes the exception. even if I skip that part I run into another jPCT related exception.

@Egon can you please check the below exception. I provide an array of 13278 int's as coordinates, UV's and indices are null. 4426x3 = 13278 so I dont get what is wrong..

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4426
at com.threed.jpct.Object3D.<init>(Unknown Source)
at raft.jpct.bones.Animated3D.<init>(Animated3D.java:119)
..


edit: corrected the typo

raft

@Babu, meanwhile you can tell your artist not to use shared vertices/geometry if there is such an option in exporter.  seems as that troubles jME loader

Babu

hi raft,
I got the new files from my artist (not using shared vertices/geometry) and finally, I was able to load the multiple objects with the corresponding textures!!  ;D.  And thanks a ton for all your help and patience  :).  I think, I am off your back for some time  ;)

Note: Mailed u the screenshot as I couldn't figure out how to place an image in this post.

raft

you're welcome ;) i'm glad we finally solved your problem.. btw, your screenshot seems quite good

Monopula

Hello there,

Just downloaded the android example to try. It compiles ok.
But while running I've got the following exception from BonesIO.readHeader:82 :

Version mismatch. Current version: 3, stream version: 2

Would you, please help me?

raft

please re-download the android app. it should be ok now

Monopula

Yeah, thanks. I've already found it in sources ))

Babu

hi raft, I am back :)
I read in wiki read that
Quotecurrent versions of jPCT come with a new class, the DeSerializer. While it can be used within jPCT only, it's main purpose is to be used in combination with AE. The idea is to load the models in jPCT and serialize them into an optimized format that can be loaded by AE very quickly.

Is it possible to use this approach when we are using Bones i.e. is it possible to serialize/deserialize Animated3Ds?