• entries
    88
  • comments
    105
  • views
    70171

Skeleton structure : Blender export script

Sign in to follow this  
mixmaster

1392 views

Getting easier working with blender, but sadly I'm done for now.

Here is the export script for skeleton structure. Tested in Blender 2.61


# -*- coding: utf-8 -*-
#
# vortX GE export skeleton
#

import os
from math import radians

import bpy
from mathutils import *


# my OP ###

class ExportVSO(bpy.types.Operator):
bl_idname = "object.export_vso"
bl_label = "Export VSO"

@classmethod
def poll(cls, context):
return context.active_object != None

def objToLine( self, obj ):
line = "add_skeleton "
line += obj.name
return line[:] + "\n"

def boneToLine( self, bone ):
line = "add_bone "
line += bone.name
line += " "
if bone.parent:
line += bone.parent.name
else:
line += "NONE"
# Head
line += " "
line += str( bone.head_local[0] )
line += " "
line += str( bone.head_local[1] )
line += " "
line += str( bone.head_local[2] )
return line[:] + "\n"

def outvso(self, path, scn, obj ):
filename = path + obj.name + ".vso"
file = open(filename, "w")
file.write("# vortX GE skeleton v0.1\n\n")

file.write(self.objToLine( obj ))
# bone structure
for bone in obj.data.bones:
file.write(self.boneToLine( bone ))

file.close()

def execute(self, context):
print("Run Export VSO")
# print( dir( context ) )
rd = context.scene.render
path = rd.filepath
obj = context.active_object
scn = context.scene
self.outvso(path, scn, obj)
return {'FINISHED'}

# my PANEL
class OBJECT_PT_export_vso(bpy.types.Panel):
bl_label = "Export VSO"
bl_space_type = "PROPERTIES"
bl_region_type = "WINDOW"
bl_context = "object"

def draw(self, context):
layout = self.layout
rd = context.scene.render
obj = context.active_object

row = layout.row()
row.label(text="Active Object : " + obj.name)

row = layout.row()
layout.prop(rd, "filepath", text="")

row = layout.row()
row.operator("object.export_vso", text="Export Skeleton")

def register():
bpy.utils.register_class(ExportVSO)
bpy.utils.register_class(OBJECT_PT_export_vso)

def unregister():
bpy.utils.unregister_class(OBJECT_PT_export_vso)
bpy.utils.unregister_class(ExportVSO)

if __name__ == "__main__":
register()



And once again here's the exported file


# vortX GE skeleton v0.1

add_skeleton Armature
add_bone Bone NONE 0.0 0.0 0.0
add_bone Bone.001 Bone -1.4901161193847656e-08 -1.4404456294414558e-07 1.2499637603759766
add_bone Bone.002 Bone.001 -3.973643103449831e-08 -1.2914340175029793e-07 2.4999637603759766
add_bone Bone.003 Bone.002 -3.973643103449831e-08 -1.2417635275596695e-07 3.7499632835388184
Sign in to follow this  


1 Comment


Recommended Comments

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now