Lillarpy and Pip,
Well gentlemen ... I figured it out (finally!). Blender isn't very pretty imo.
I probably didn't need to do all these steps, but it works none-the-less.
1. Exported my model to a .3ds.
2. Imported it back into blender ... adjusted sized and faced it correctly.
Both these steps above may not have be needed, but it did "clean" things up a bit.
3. Added 10 armatures ... One for each mesh.
4. Parent/Child the armature/mesh.
5. Parent/Child everything back into the correct hierachy.
6. UV mapped really quick.
7. Inserted a key at frame 1 and 201 ... it filled in the rest, then I added an action.
Now ... I commented out some lines in the py script, and I'll explain why.
First of all, the script likes to cut-off the last "letter" or "number" in the objects name. Usually the 2nd and subsequent objects.
This isn't a problem with names like "_0Body" but it kills the emitter names ... like
#!01, it will write out
#!0, not good.
To fix this, I added an extra "_" ... so it reads
#!01_.
OK ... here is what I commented out of the script and the reason ...
Line 25 #EXPORT_ANIM = True
Line 103 #if EXPORT_ANIM:
Line 104 # file.write('MESHANIM\n')
I've never seen MESHANIM in any of the s3f's ... Plus, when the STUB engine builds the s4f, the file size is HUGE.
Since we're in the vicinity of line 104 ... look at the lines from 106-114 ...
Code: Select all
#write parent
if obj.parent != None and BPyMesh.getMeshFromObject(obj.parent) != None:
file.write('parent %s\n' % obj.parent.name)
else:
#armature = BPyArmature.getBakedPoseData(
print obj.parent.name
print len(obj.parent.modifiers)
for mod in obj.parent.modifiers:
print mod, mod.nam
This appears to try to parent/child mesh ... but, since the parent/child relationship is armature/mesh or mesh/armature, it never writes out "parent (meshname)".
So, I had to manually add the "parent (meshname)" in the s3f. Now, I could have saved a lot of steps earlier by not setting up a parent/child relationship since it appears it doesn't work anyway. I'll have to experiment with that.
And finally, the last line that I changed ...
change ...
Line 214 #if EXPORT_ANIM or i == 0:
to read ...
if i == 0:
This change above prevents it from writing "v" and "n" for every keyframe past 1 ... reduces file size.
Now, I may need to change Line 236 ...
if EXPORT_ANIM or frame == 1:
Anyway ... Just my 2 cents worth ... I don't know Python but after spending time reading "Pip Scripts" I can sort out some logic
Any tips on your end would be helpful, thank you.
Here's my Mini-Merr tank in BA .... (ignore the funny railroad tracks, that's another experiment altogether!)