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

I noticed that you mentioned me and Winhelp in your video. Please, tell us what you exactly need. I was trying to understand, but I’m afraid, my English is bad…

Sorry my english is very horrible, I need more practice and correction.

It’s seems that with the last testRobo, I don’t have the issue I’ve got with the previous one. I would like to know you changed, to reproduce it manually and later automatically. If you remember.

PS: Thanks for watching.

If you talking about foots - yes there was change. First time I disconnected it from parent bones and set its position by keyframing it. Later (when foots shake in animation after export to game) I parented it back to shinbone (stopa=foot, noga_down=shinbone) and make some IK bones to rotate foots in proper way.

Why I disconnect if previously? - I cannot switch of inherit parent option in bone setting so I decited to do that. Later I learn something more about Armatures and IK bones and I make it in better way (I think).
I’m hope that u understand what I say :smiley:

This is looking awesome and especially the instant feedback with the in engine render inside blender is like the best thing ever for an artist working on a game.

Now a question how easy is it for you to support modifiers? The one i’m most interested is the new Data Transfer Modifier and especially the option to manipulate the normals of a mesh.
I made two images to show the difference: http://imgur.com/a/SzYwj#0
I’ll upload a simple test scene with just the modifier later.
(I know that support for a feature like this is not very important for now since you are still working on more common problems, so no hurry.)

1 Like

Hi, I didn’t test every modifiers, in unittest.blend I used “subdivide” modifier on a cude.
What is to done today, is to generate a mesh with modifiers applied when data are sent to the jME Process. I have issue when I reconfigure modifier when jME is rendering in the Blender’s 3D View.

I got around to trying your xbuf viewer which worked very well (i had to switch from rendered to another view mode sometimes for changes to become visible).
Now the data transfer modifier doesn’t work for custom normals, i guess it is because if it is applied the data gets saved in “Custom Split Normal Data” and i guess xbuf would have to somehow take the normals from there.
I made a test scene to display the issue:
On the left barely visible on the screen is a cube named “flat_shaded” and in the middle is one called “custom_normals” which has a bevel modifier which bevels just once and a Data Transfer modifier which takes the normals from the flat shaded cube and applies it to the beveled cube. On the right side is a heavily beveled cube which is there to see what the other one should look like.
In the Xbuf render view only the unedited normals are visible.

And the blender file:

(First time using dropbox let me know if link doesn’t work.)

If i do have time and I’m done with my improvements for jMonkeys shadow renderers i might give it a try to implement this myself.

Anyway i’m looking forward to building an artpipeline around blender, xbuf and my own custom shaders and post processing with instant feedback while creating models/levels/textures.

1 Like

Thanks @Perjin, every feedback, contributions are welcomes. Contact me (forum, pm) or open github issue (better for tracking) if you have any questions, comments, or don’t understand code,…

I’ll take a look this WE to see, If I understand the issue (I’m a blender noob, who use xbuf as an opportunity to learn it).

@winhelp, thanks for the steps I’ll try to reproduce it. I’m doing a small break in the blender plugin (animation part) until I fix the assimp’animation import. I hope assimp animation import will help me to improve animation support on jme Side.

I wanted to try this but unfortunately there doesn’t seem to be any documentation / instruction / download page on how to install it. The links on the first post also are dead (404).

Do you have any idea?

I think everything moved to: http://www.xbuf.org/

…but I only discovered that by accident. The first post should probably be updated I guess.

Links in the top post updated, thanks

Sorry, I’ve got train issue, so I can’t do a video today. I’ll try to post a video this week-end.
Else next live streams will be Wednesday, I should have less trouble this week’s day. :stuck_out_tongue:

What do like to view next time ?

EDIT: FYI I’m reviewing the format, some changes will happen :

  • no more use of extensions, some language binding doesn’t support it and it’ll not be availble “as is” in next version of protobuf
  • version number format will change
  • AnimationKF should change and be more documented (I’m studing other format)

Next video/stream at 20:00 UTC (22:00 Paris time) in +/- 1h20 on twitch : http://www.twitch.tv/davidb31

xbuf #5: update on animation, fbx sample

PS: Sorry for audio, some issue with my setup and twitch


I have some issue with mic+recorder (too noisy), so no more video until I fix or workaround.


  • I continue to work on the assimp2xbuf pipeline, I did some refactor, prepare integration with cli or gradle, have issue with skinning + animation to fix before demo
  • I add support for shared mesh in jme (see image below, the color will not be fixed because they required support for “RGB to Intensity” (and I would like to spare time on node based material)
  • I started to study to be able to provide animation skeleton retargeting for xbuf pipeline



I finally managed to try this out again.

-> Addon now starts fine, with the new path logic
-> jme3_ext_assettools also starts up fine

Now the problem is, nothing is really visible?

-> In the SpatialExplorer I see the remoteRootNode appear
it contains the eye cameranode, the default node, a lamp , ect this all seems fine.
However, it does not contain any geometrys :frowning:
My guess is, that somewhere there is an exception happening, but I cannot see it.
In the assetttools, if any exception is thrown while loading a xbuf file, is it visible in a dialog or so?

If i delete the default grid, it also vanishes from the blender internal view, so the rendering itself seems to work.

I tried using the 06 version. Any ideas what I could test?

Hi @Empire_Phoenix,

In the published ModelViewer :

  • SpatialExplorer doesn’t refresh SceneTree automaticaly, you should right click on a node (eg: root) and use “Refresh”, (SpatialExplorer is a separeted project that I used with several game/tools.)
  • there are no lights by default (same behavior than in SDK) => Lighting material are not rendered. I change this behavior for the future version.

To use the latest version, you could run the viewer with

clone the jme3_xbuf
cd jme3_xbuf/jme3_xbuf_viewer
gradle run

Edit: run blender from terminal to have log of the blender add-on


I did refresh the graph, that why i saw the nodes with the missing geomtrys, probably should have mentiond this

Sadly I was only on windows for the tests, and I kinda ragequitted trying to get windows to give output to cmd when starting an exe . (WTF is wrong with microsoft?)

I will try with the git version soon (and this time under linux).

Oh, good that I’ve got both on this machine. But maybe need to give my Linuxes more space now, to test this Xbuf software. Usually these two Linuxes are only for compatibility tests.

Btw… I don’t understand what all this is, but it has something to do with optimizing the asset pipeline, right? Which I would appreciate greatly - so, keep up the good work and I wish you luck and success! :chimpanzee_smile:

Well maybe you could have an introduction for stupid people like me who are already proud when they managed to install the jME SDK and Blender? Maybe not now, but later? :chimpanzee_wink:

The pipeline should work on Linux, Mac, Windows (I didn’t test it on Windows since a long time, I’ll recheck next WE).

The goals was to provide an alternate pipeline (with lot of part shareable with other communities).

  • using blender for level design
  • preview in blender with game render pipeline (lights, post-process, appstate, …)
  • quicker preview/check of model, animation
  • integration with gradle based assets pipeline

I start a tutorial at http://www.xbuf.org/get_started/

1 Like

The main way to have a cmd window is to launch it, and then launch the .exe from inside it. This does assume that the .exe in question actually provides output to STDOUT. (Not all do, or only provide error messages. That is a property of the application.)

If you really need double-click launch and console output, create a small .bat file that does a command line launch of your .exe. This is also a good way to save a common set of command line arguments, without having to type them in every time.