def export_m3d_anim():
	time_start = datetime.datetime.now()
	# object
	objects_arma = export_static.find_first_object("ARMATURE")
	objects_mesh = export_static.find_mesh()
	scene = bpy.data.scenes[0]
	coll_action = bpy.data.actions
	# check
	if len(objects_mesh) == 0:
		print("imm export error: no uv mapped mesh found")
		return;
	if len(objects_arma) == 0:
		print("imm export error: no armature found")
		return
	if len(coll_action) == 0:
		print("imm export error: no action found")
		return
	# object
	o_arma = bpy.data.objects[objects_arma[0]]
	arma = o_arma.data
	build_arma_info(o_arma, arma)
	# if rigify use
	if not config_f.is_rigify:
		config_f.is_rigify = is_rigify(arma)
	if config_f.is_rigify:
		read_hierarchy_rigify(arma)
	global anim_len_bones
	# package
	txt_vertex, txt_triangle, txt_subset, txt_material, \
		txt_offset, txt_hierarchy, txt_coll_anim_clip, len_anim_clip = \
		package_mesh_anim(scene, objects_mesh, o_arma, arma, coll_action)
	txt_m3d = export_static.package_m3d([txt_vertex, txt_triangle, txt_subset, txt_material], \
		[anim_len_bones, len_anim_clip])
	txt_m3d += package_bone_anim(txt_offset, txt_hierarchy, txt_coll_anim_clip)
	export = config_f.export_dir+"export_anim.m3d"
	export_static.write_text(export, txt_m3d)
	time_spend = datetime.datetime.now()-time_start
	# print
	print("-----------------------")
	print("M3D Export (Animation):")
	print("-----------------------")
	print("left hand:\t"+str(config_f.is_left_hand))
	print("is rigify:\t"+str(config_f.is_rigify))
	print("export dir:\t"+config_f.export_dir)
	print("spend time:\t"+str(time_spend.total_seconds())+" seconds")
Esempio n. 2
0
import bpy
import mathutils
import datetime
import sys
sys.path.append("C:\\Dropbox\\imm_blender_export\\")
import export_static
import config_setup
os.system("cls")

# armature
objects_arma = export_static.find_first_object("ARMATURE")
o_arma = bpy.data.objects[objects_arma[0]]
arma = o_arma.data

# mesh
objects_mesh = export_static.find_mesh()
o_mesh = bpy.data.objects[objects_mesh[0]]
mesh = o_mesh.data

'''
# print rigify
rig_list = []
for index, bone in enumerate(arma.bones):
	None
	#if bone.name.find("ORG") != -1:
	#print(index, bone.name)
	temp = str(index) + " " + bone.name
	rig_list.append(temp)
print(len(arma.bones))
print(arma.bones[0].name)
export = config_setup.export_dir+"rig.txt"