Xbuf format – A developer friendly game exchange format for 3d data

I must say, please give up with interactive formats,
at least for me this is not going to sync with my work/sleep/freetime cycle.

My suggest would be if you insist on video, to just answer questions from the forum/pm/email in the video.


You can view the capture of the video on youtube. The video is in french because I didn’t though to share the record, in fact I guessed I disabled the option and I made it for @nehon (and I guess my english is too horrible for him ;-P, and far less fluent than my french).

For next video :

  • I’ll schedule it later: start at 21:OO UTC (22:00 Paris timezone)
  • If no viewer, the session will be shorter : I’ll stop the stream after 10 min. (as viewer I prefer short video)
  • The next video will be on youtube, except if I can record twich video and create event like with youtube.

To prepare it, tell me what you would like to see, send me your request, question.
So users that can’t join the stream will be able to see what they would like to see after the stream (day + 1) or to skip/jump part of the video. (thanks @Empire_Phoenix for the suggestions)

Anyways I continue to reply on this forum, or PM.

Example of feature/theme, you would like to see :

  • from blender to modelviewer
  • from blender to my game
  • how to load xbuf file in jme3 Application
  • how to extends xbuf format
  • how to integrate xbuf in the asset pipeline
  • how to setup a simple static scene with mesh, material, lights
  • current state of assimp to xbuf
  • try to convert some fbx files to xbuf via blender or assimp
  • can you show my model xxxxx

Xbuf is young and very WIP, until format v1 the content can changed without backward compatibility.

Thanks for your interest and help.

This is one of the projects that I’m most excited about. If you had a patreon account or whatever, I’d definitely kick some $$ your way. Just saying… I don’t suggest “doing it for money” but getting a little financial kick from us who are impatiently waiting might be nice. :slight_smile:

Well then:

I would like to see an example of a static asset import.
Eg assuming an installed Plugin in blender, what to click where, which jar to add to my jme project till I have a
Spatial loaded = ???

Also the question, do you keep Geometry&Node names? As I store quite some additional information in them.

Traceback (most recent call last):
  File "/usr/share/blender/2.75/scripts/modules/addon_utils.py", line 324, in enable
    mod = __import__(module_name)
  File "/home/empire/.config/blender/2.75/scripts/addons/blender_io_xbuf/__init__.py", line 18, in <module>
    from . import renderengine
  File "/home/empire/.config/blender/2.75/scripts/addons/blender_io_xbuf/renderengine.py", line 19, in <module>
    from . import protocol     # pylint: disable=W0406
  File "/home/empire/.config/blender/2.75/scripts/addons/blender_io_xbuf/protocol.py", line 22, in <module>
    import xbuf.datas_pb2
  File "/home/empire/.config/blender/2.75/scripts/addons/modules/xbuf/datas_pb2.py", line 6, in <module>
    from google.protobuf import descriptor as _descriptor
  File "/home/empire/.config/blender/2.75/scripts/addons/modules/google/__init__.py", line 1, in <module>
ImportError: No module named 'pkg_resources'

Do I need to install/enable some other addon first?

@Empire_Phoenix, your subject is selected for next video :thumbsup: . I’ll also reply by text later today (after I finished the re-installation of my desktop, and publish some updates on xbuf).

When possible, xbuf keep names (I also use them, eg to bind behavior, post-load,…)

nehon seems to have a similar issue with blender add-on. I guessed I fix this issue, can you :

  • remove the addon (I change the directory layout to ease install and update, now ‘modules’ is under blender_io_xbuf, I hope)
rm -Rf /home/empire/.config/blender/2.75/scripts/addons/blender_io_xbuf 
rm -Rf /home/empire/.config/blender/2.75/scripts/addons/modules/xbuf*
rm -Rf /home/empire/.config/blender/2.75/scripts/addons/modules/google
  • redownload the plugin (the master “Download zip” or clone the project)

@pspeed, Thanks for your interest, it’s a +1 for motivation. It’s one of your post that motivated me to switch back from “deferred/mssao” to xbuf.

When I start the project in 2014-12, I hoped to be able to gain few money with it (I was jobless and in search of business model for a new activity). At this time I thought about using bountysource.

Today I have lot of less time to work on it, and more than money, the project need community support (comments, …)

PS: Where is the button to say “Thanks Pspeed for your help, when I started with jme”.


it now installed without any error, but I also don’t see it under the addons anymore :frowning:
Is this what it is expected to look like?

BTW, what i just thought about, as far as I know blender can be used to call scripts from commandline :smile:
An alternative blender loader, that starts blender in the background, exports as xbuf, and loads into jme3, for development useage, to reduce required manual steps.
Might give this a try once I’m a bit confident with the system.

I don’t know about the speed of the xbuf pipeline, but since you use it as an external renderer I guess it is probably good enough for development useage. For deploy j3o is probably a better choice than xbuf?

Heh, thats actually what the SDK does for 3ds and other blender formats ^^

I moved 10 posts to a new topic: Xbuf format - Asset protections

1 Like

And I apologize for derailing the topic of this thread… so I will attempt to swing it back.

What’s left to do at this point? Is JME animation nearly fully supported or are there some weak areas still?

@pspeed, no probleme, I agree 100% with what you wrote about “protected data”. One more point, some success commercial game doesn’t protect there data, and there data was used by demo and derivative game (that require original game) : World Of Warcraft, Doom 3, Team Fortress, Dungeon Keeper (I’m not sur about the last).

With the assets provide by the community and from assimp’s test, I found some issue on static model (file path, mutli-material, mutli-slot in material,…), so lastly I mainly work on static part. About animation, there some issues :

  • Jaime’s animation are running at the wrong Y
  • When armature is not the parent the animation behave badly
  • An some other.

My last works was on :

  • the doc generation (I move all the wiki page under xbuf.github.io project and use werckler to auto-deploy),
  • create some king of unittest.blend with all the small case, issue I found.

next stream today @ 20:00 UTC : xbuf: create and import static model into jme3 - YouTube

EDIT: Sorry, I got some issue with the youtube UI. At the end of the demo I’ve got an bug with remote viewer AppState, I’ll investigate (I don’t have this bug with jme3_xbuf_viewer)

Thanks to @mathiasj for his .blend that help me to improve material support (multi-material per obj, file path,…). I use his model for the today demo. I also join a screenshot of the model in blender rendered by jme3_xbuf_viewer.


Awesome! I really love the direct rendering in Blender. No more exporting and hoping that it’ll work :smiley: Glad I could help with that model.

Yes, that is really great about this. (appart from being probably better supportable than the blend loader)

I updated the Get started · xbuf, with it you should be able to reproduce what is in the video. Tell if there are issues, or you have problem.

You can do PR on every project, including the doc xbuf/xbuf.github.io

To ease the test of blender => xbuf, I started a file xbuf_unittest.blend with small “unit” sample to check.

I opened my robo file and didnt see anything:

Your test scene (xbuf_unitest.blend) is empty too.

Win 8.1, b2.75

Have you try to add a light (required by jME to display Lighting material) ?
But xbuf_unittest.blend include a light.

I guess you used the pre-packaged ModelViewer, I did a change in mesh format since (change in the format - core - are rare but can be done until 1.0). I’ll upload a new version, until you can :

git clone https://github.com/xbuf/jme3_xbuf.git
cd jme3_xbuf/jme3_xbuf_viewer
gradle run

I uploaded version 0.6.1 of ModelViewer (require java 8)
13.5 MB jme3_xbuf_viewer-201508242048.tgz

I had some issue with animation and material + HW skinning on your model, I hope to have time to work on it this week.

I updated the link in the doc. Thanks for reporting, Sorry for trouble.

Still not working. :chimpanzee_confused:

My new robo file (probably there are few differences).



Sorry, no stream/video today.

But I can give you the agenda for next Thursday on Twich (I’ll try again but not in German :wink: ):

  • presentation of xbuf_unittest.blend and overview of progress on xbuf pipeline
  • testRobo (Thanks @winhelp)

@winhelp, I can load the model and display it (with some issue on animation), I’ll take a look to your log.