Yet Another Blender Egg Exporter (YABEE)


#77

See instructions in first post. I do not do the installation / integration as I continue to make changes to the script.


#78

Ninth, would you have any objections to me posting a temporary gui and installer for Yabee rev 10? I made it for my own personal use but I thought others as lazy as myself might be interested.


#79

Quick Question: How do we actually use this?
I am a complete newbie and I have absolutely no Blender .egg exporting/script using knowledge in Blender.


#80

j.edgar, You are free to make any changes and publish them :slight_smile:

sukiwater, script does not require installation. Just open it in th Blender’s text editor and run them


#81

If anyone wants it, here’s a link to a bare bones gui/installer for rev 10.

http://sites.google.com/site/gf4f56d4g6fds4g654fd65g/junkdrawer/Yabee_10_UI.py

Place it in the same folder as ‘yabee.py’. In Blender hit crtl+alt+u (or select user prefs from file menu). Select the addons tab and click the install-addons button. Select 'Yabee_10_UI.py" and click the checkbox to enable it.

As you can see below, it’s nothing fancy.


#82

Change the url to http:// from https:// otherwise no one will be able to download. Good work on the script though!


#83

the latest script (UI) is not downloadable neither with http nor https

could you please re-upload it somewhere in a more reliable place?

UPD: well, worked on 10th attempt


#84

first off, great thanks for writing the exporter :slight_smile: it allows me to finally work with 2.5.

one thing i noticed tho. in the eggwriter. you use a lot of string operations that end up as… pretty big strings in the end. while this works ok for smaller models, it totaly breaks the export of big ones. trying toexporting a 70k mesh object… well i killed blender after it froze up for more than 20 minutes.
working with not so epic-long strings and writing them out to disk is a lot faster.


#85

Hey, I was struggling with a model I couldn’t export (script error), I had to convert quads to tris to make it work. Maybe it can help you !


#86

ok while… i poked around a bit, reducing += string operations given those mechanisms http://wiki.python.org/moin/PythonSpeed/PerformanceTips#String_Concatenation
it reduced the export time from 200 to 180 seconds.
appears that the tangent and binormal generation take the lion share and i cant find any 2.59 references for tangent calculation code. altho blender sure is capable on c level as it. so… until blender wraps up the tanget calc , disregard my performance advice above. btw. respect for caculating tangets and binormal manually.

i would favor a switch to turn tangets and binormal calculation off. Unless one uses normal maps those may not be necessary.


#87

Thank you for your comments. I was planning to enter the variable to disable the calculation of TBN.
I did not find information on how to calculate the TBN in Blender too, so i had to reinvent the wheel.
btw. TBN is not my merit - I just translated the the C++ code, which i found through Google.

last month I was on vacation and resting from computer =) So, now i plan to continue work with exporter


#88

nice :slight_smile:


#89

I’ve found that Yabee doesn’t seem to export vertex colors. Is that correct? And if so, I’d like to make a request for this feature :slight_smile:.

Welcome back, then :slight_smile:. I can’t wait for the new updates.


#90

Hi,

Really good work here, I’ve wanted to upgrade to 2.5 more or less for the gui for a long time now, I’m glad someone managed to create an export script for it!

I’ve got a bit of a weird problem though, I built an animated character using an armature + armature modifier + weight paint (on 6 different blender nodes/models, ex. left & right feet, hands, body, and tail, are all seperate)

when I export it (with separate animation files on, mind you), I get a strange behavior

Viewing the model in pview, ex “pview pico.egg pico-walk.egg”, works perfectly.

However, viewing the model as a simple panda3d Actor class, fails miserably and only shows his right shoe, clearly I want his whole body shown,

This is the code I am using:

from direct.directbase import DirectStart
from direct.actor.Actor import Actor

print 'For some magical reason, loading the animation as an Actor class, is failing miserably'
print 'and only shows his right shoe, however, try running the following to preview it in pview:'
print '    pview pico.egg pico-walk.egg'

m = Actor('pico', {'startWalk': 'pico-startWalk', 'walk': 'pico-walk', 'stopWalk': 'pico-stopWalk'})
m.reparentTo(render)
m.loop('walk')

run()

I wrapped all of this, minimal textures, code in “err.py”, and the egg and blender versions of the model, I am using r10 of the script, there are no errors exporting as far as I’ve seen, and again, it views perfectly in pview, just has problems in python’s Actor class

in this zip file here:
http://www.mediafire.com/?p90t66p55t35m5t
it’s < 1mb so you should have no problems getting it, if you need me to upload it somewhere else or email it to you let me know,

I really appreciate any help or clarification on what’s going wrong with it :smiley:

~powerpup118


#91

Actually, you has more then one actor in the single file. Pview processed this situation, and Actor class - not. Actor load only one animated mesh. You should join all parts in the single mesh in Blender to get single Actor, or do something like this:

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

Although, thanks to your example, I found one more bug in YABEE :slight_smile:


Pview different results from Panda3D.
#92

Thank you alot! It works properly now that you explain it, the reason I have different Actor’s is for customization (changing textures on him in-game etc)

Thank you again,
~powerpup118


#93

Hi, I’ve been having bone roll issues with the exporter. The orientation of models’ parts changes depending on the roll of the armatures’ bones. I have to manually adjust the roll for each bone, export, and then readjust the roll until the egg looks like the original animation. Is this an error on my part or the exporters?


#94

Can you upload a couple of explaining screenshots? I’m not quite realize what’s going on :frowning:


#95

What ambyra says is, I guess, that a bone in blender has more properties than position and direction.
It also has a length and a rotation around its own length axis.
All those can be used in blender for rigging and animation.


#96

I’m not sure.
Actually bone’s length is not affect to anything (I’m do not mean the scale or spline bones). Direction and rotation around its axis is equivalent of the Euler angles, used in the *.EGG