Skip to content
Snippets Groups Projects
Commit 09dd79ed authored by Bastien Montagne's avatar Bastien Montagne
Browse files

Fix T41118: Mesh cache modifier cannot use sub-frames stored in .pc2 files?

Actually issue was in pc2 exporter, which was not handling subframes correctly.
parent 9c84ce12
Branches
No related tags found
No related merge requests found
......@@ -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:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment