Skip to content

Instantly share code, notes, and snippets.

@zeffii
Created July 7, 2013 21:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zeffii/5945040 to your computer and use it in GitHub Desktop.
Save zeffii/5945040 to your computer and use it in GitHub Desktop.
import bpy
# generate the set of flat-shaded frames
def list_to_frames(ranges):
k = set()
for begin, finish in ranges:
k = k | {i for i in range(begin, finish+1)}
return k
# assumes you are OK with setting all faces to smooth or flat
def set_shading(obj, smooth_mode):
if obj.data.polygons[0].use_smooth == smooth_mode:
return
for poly in obj.data.polygons:
poly.use_smooth = smooth_mode
def my_handler(scene):
frame = scene.frame_current
obj = bpy.data.objects[obj_name]
smooth_mode = True if (not frame in frames) else False
set_shading(obj, smooth_mode)
# give frame ranges, and name of mesh based Object.
frames_to_flatshade = [[20,30],[45,54]]
obj_name = 'Cube'
frames = list_to_frames(frames_to_flatshade)
bpy.app.handlers.frame_change_pre.append(my_handler)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment