python - Blender scale value not updating -


when run script:

import bpy import math  s = bpy.context.scene.frame_start  e = bpy.context.scene.frame_end  values = [] print(s) print(e)  in range(s,e):     bpy.context.scene.frame_current =     print(i)     v = (bpy.context.object.scale[1])     bpy.context.object.scale[0] =     print('at frame ',str(i), ' value ' ,str(v))     values.extend([bpy.context.object.scale[1]]) 

it gives me right number of frames, value same, if scale[1] of object baked sound, change between frames.

it looks blender doesn't update value , take value of frame during text ran.

any way update value during running of code in real time?

you looking @ wrong values.

you have v = scale[1] set scale[0] = i , print(v) reading scale.y , changing scale.x looking @ scale.y

it better use scene.frame_set() change frames via python.

another approach getting keyed value use fcurve.evaluate(frame)

import bpy  s = bpy.context.scene.frame_start  e = bpy.context.scene.frame_end  values = [] f = bpy.context.object.animation_data.action.fcurves.find('scale', index=1)  in range(s,e):     v = f.evaluate(i)     print('at frame ',str(i), ' value ' ,str(v))     values.extend([v]) 

and if planning keyframe values, don't need change frames can specify frame in keyframe_insert(data_path, frame=f)

obj.keyframe_insert('scale', frame=2) obj.keyframe_insert('scale', index=1, frame=5) # key scale.y 

Popular posts from this blog

php - How should I create my API for mobile applications (Needs Authentication) -

5 Reasons to Blog Anonymously (and 5 Reasons Not To)

Google AdWords and AdSense - A Dynamic Small Business Marketing Duo