diff --git a/io_export_pc2.py b/io_export_pc2.py index 663f3a5f8a59ef023c8942f80f0a86f5c5f3a92f..e00ee46b4586ef057a7e5062257381877ccdc435 100644 --- a/io_export_pc2.py +++ b/io_export_pc2.py @@ -19,8 +19,8 @@ bl_info = { "name": "Export Pointcache Format(.pc2)", "author": "Florian Meyer (tstscr)", - "version": (1, 0), - "blender": (2, 57, 0), + "version": (1, 1), + "blender": (2, 71, 0), "location": "File > Export > Pointcache (.pc2)", "description": "Export mesh Pointcache data (.pc2)", "warning": "", @@ -41,16 +41,17 @@ cacheFile -pc2 1 -pcf "<insert filepath of source>" -f "<insert target filename """ import bpy -from bpy.props import * -import mathutils, math, struct +from bpy.props import BoolProperty, IntProperty, EnumProperty +import mathutils +from bpy_extras.io_utils import ExportHelper + from os import remove import time -from bpy_extras.io_utils import ExportHelper +import math +import struct -def getSampling(start, end, sampling): - samples = [start + x * sampling - for x in range(int((end - start) / sampling) + 1)] - return samples +def get_sampled_frames(start, end, sampling): + return [math.modf(start + x * sampling) for x in range(int((end - start) / sampling) + 1)] def do_export(context, props, filepath): mat_x90 = mathutils.Matrix.Rotation(-math.pi/2, 4, 'X') @@ -62,7 +63,7 @@ def do_export(context, props, filepath): apply_modifiers = props.apply_modifiers me = ob.to_mesh(sc, apply_modifiers, 'PREVIEW') vertCount = len(me.vertices) - sampletimes = getSampling(start, end, sampling) + sampletimes = get_sampled_frames(start, end, sampling) sampleCount = len(sampletimes) # Create the header @@ -74,7 +75,7 @@ def do_export(context, props, filepath): file.write(headerStr) for frame in sampletimes: - sc.frame_set(frame) + sc.frame_set(int(frame[1]), frame[0]) # stupid modf() gives decimal part first! me = ob.to_mesh(sc, apply_modifiers, 'PREVIEW') if len(me.vertices) != vertCount: