Yet Another Blender Egg Exporter (YABEE)

All right, in the modifier, did you select your armature (so that the modifier knows which armature should be used)? If not, go to the modifier and click on the box labelled “Object”; that should produce a drop-down menu from which you should be able to select your armature. Make sure that you [b]don’t[b] click on “Apply” or “Apply as Shape Key”.

That done, you should probably weight-paint the vertices of your cube: put the armature into “Pose” mode (in the main 3D view, click on the menu that should read “Object Mode” and select “Pose Mode” from the menu that should appear. Then select your cube and, from the same menu, select “Weight Paint”. In that mode paint all of your cube’s vertices until they’re no longer blue.

Finally, go back to “Object Mode”, select both the cube and the armature and have another shot at exporting.

Thank you for your help! Will try it tomorrow, I have to go to work soon :slight_smile:

Hey ninth, are you working on version for Blender 2.68?

At last few month I have been busy by various activities, even did not try new Blender version. I immediately download it. :slight_smile:

ninth

Any updates on a new version of YABEE?

After the quick tests on Blender 2.68 I didn’t find a big difference or problems with YABEE.
Huh I’ll plan to make changes in Actors export behaviour - it’s a most frequent issue as I can see, but it require changes in the YABEE architecture and I can’t gather strength and find time to do it =)

Umm ninth

Someone here apparently managed to make YABEE write an egg file with the alpha-file tag.

 <Scalar> alpha-file { alpha-filename }

How is this done?

EDIT: Nevermind I figured it out.

EDIT2: Ok now my question is how does one adjust the alpha channel?

Alpha channel is hardcoded at texture_processor.py:140
I have no idea how alpha channel can be recognized from somehow Blender settings.

The thing is that you are not taking full advantage of the alpha-channel entry.

<Scalar> alpha-file-channel { channel }

The “channel” value can be 0, 1, 2, 3, or 4, with 0 being the default.

Sure one can just open up the egg in a text editor but personally I would love to see the option to define that value within Blender if it is possible.

Ninth

I exported an animated model consisting multiple objects to one egg file.

Apparently, pview displays everything properly. But within an actual game, the egg file fails to properly load as an actor.

It only displays one part of the actor.

A teammate of mine managed to correct this flaw by editing the egg file, but what he said was that he had to make an “outer group for the egg”. What that means is unclear until I get back that modified egg file.

Also, ninth because you stated that you are rather busy so you don’t have time to update the plugin, I would like assist you but to do that I need the code documentation. I already have the source code for the plugin.

Ok. This is what I said about “behaviour”. YABEE exports each mesh as the separate actor. You can use hack to workaround:

mymodel = loader.loadModel('mymodel')
mymodel_parts = []
for part in mymodel.findAllMatches('**/+Character'):
    actor = Actor(part, {'startWalk': 'mymodel-startWalk', 'walk': 'mymodel-walk', 'stopWalk': 'mymodel-stopWalk'})
    actor.reparentTo(render)
    actor.loop('walk')
    mymodel_parts.append(actor)
    part.removeNode()

It’s quite ugly, but works if you don’t want to edit egg file.

About documentation: I don’t have anything except comments in the code, but if you explain what exactly you need I can try make something.

P.S. Hmm… just thinking… I probably be able to combine actors without global changes in the YABEE. Hack of course, but… I must check it.

Well, you never know what you can do till you try. I made some changes and sent new version to the HG repository. Now all meshes with the same armature is recognized as the single actor. Also meshes which directly parented to the bone should work correctly.

Known restriction: If exported more then one armature with meshes attached to bones, then those bones should have different names, otherwise you can get unexpected result.

Most likely during this manipulations something was broken (as usual Ж)), so use this version with caution until it will be tested a little bit.

Looks like it is up to me to write the code documentation.

But woe is me that I am a full time college student.

Maybe during Christmas break I’ll get started.

PS: How do I only commit the documentation file, that is a single .docx file using Mercurial?

PPS: May I make a repository for the plugin source code on github? I’ll credit you in the readme.

I copied the repository on github github.com/09th/YABEE and of course you can fork it and do what you wish )

As for docx - what kind of documentation? Is it flowchart, or it’s end-user documentation or something else?
And if this file is added to repo, then it’s desirable that it have umm… more open format, so we can use repo possibility for editing.
Alternative we can place docx in the “downloads” section.

Documentation for people wanting to work on the plugin.

It is going to take more than code comments if you want contributors to get up to speed quickly.

This is a too vague concept.
Docstrins/API Reference - is “Documentation for people wanting to work on the plugin.”
TODO - is “Documentation for people wanting to work on the plugin.”
Bugtracker - is “Documentation for people wanting to work on the plugin.”
Flowchart - is “Documentation for people wanting to work on the plugin.”
Even versions history - is “Documentation for people wanting to work on the plugin.”
e.t.c.

Ok, if you don’t like the word “coments” let name it “docstrngs” and use sphinx. :wink: M?

Docstrings/API Reference is what this plugin could use.

Ok. So how about using sphinx + autodoc? It much better than *.docx imho
For example this html is what I have got after a few quick experiments panda3d.org.ru/files/html.zip

I’m attempting to create an object that includes a collision object (modelled in Blender, and having the relevant logic tag, I believe) that is a animated by an armature. However, when I export the project the collision object seems to be exported as normal geometry, not collision geometry.

Am I doing something incorrectly, is this a limitation, either in YABEE or Panda, or is there some other issue?

I’m not sure of my version of YABEE, but it’s one that works with Blender 2.67b, I believe.

If I understand, you trying to make animated collision geometry. If so, then it’s Panda’s restriction. Possible to create a Collision solid out of actor?