[Durian-svn] [4794] - pre-roll default for dragons
campbell
institute at blender.org
Wed Jun 9 13:06:22 CEST 2010
Revision: 4794
https://blenderinstitute.dyndns.org/durian-svn/?do=log&project=durian&path=/&rev=4794
Author: campbell
Date: 2010-06-09 13:06:22 +0200 (Wed, 09 Jun 2010)
Log Message:
-----------
- pre-roll default for dragons
- extra updating to work around blender bug
Modified Paths:
--------------
pro/scripts/modules/finals_config.py
pro/scripts/utilities/batch_bake.py
Modified: pro/scripts/modules/finals_config.py
===================================================================
--- pro/scripts/modules/finals_config.py 2010-06-09 11:02:01 UTC (rev 4793)
+++ pro/scripts/modules/finals_config.py 2010-06-09 11:06:22 UTC (rev 4794)
@@ -1129,7 +1129,7 @@
return obj, mod
-def setup_dragon_baby(baked=False, sim=True, pre_roll=10):
+def setup_dragon_baby(baked=False, sim=True, pre_roll=40):
base_dir, base_name, frame_start, frame_end, object_items = scene_info()
# ---- Dragon Baby ---- #
@@ -1145,46 +1145,48 @@
mod.vertex_group = "wing_sim"
for obj in [obj for obj_name, obj in object_items if obj_name == "GEO-wing_sim"]:
- mod = obj.modifiers["Cloth"]
+ cloth_mod = obj.modifiers["Cloth"]
if sim:
- mod.realtime = True
- mod.render = True
+ cloth_mod.realtime = True
+ cloth_mod.render = True
- pointcache_generic_setup(mod.point_cache, frame_start, frame_end, pre_roll)
- mod.point_cache.name = "dragon_baby_" + base_name
- pointcache_generic_bake(mod.point_cache, baked)
+ pointcache_generic_setup(cloth_mod.point_cache, frame_start, frame_end, pre_roll)
+ cloth_mod.point_cache.name = "dragon_baby_" + base_name
+ pointcache_generic_bake(cloth_mod.point_cache, baked)
+
+ cloth_mod.settings.pre_roll = pre_roll
# Per-blend dragon baby stuff...
if base_name.startswith("03.1g"):
- mod.point_cache.frame_start = frame_start - 10
+ cloth_mod.point_cache.frame_start = frame_start - 10
elif base_name.startswith("03.1i"):
- mod.point_cache.frame_start = -15
+ cloth_mod.point_cache.frame_start = -15
elif base_name.startswith("03.1k"):
- mod.point_cache.frame_start = -20
+ cloth_mod.point_cache.frame_start = -20
elif base_name.startswith("03.1l"):
- mod.point_cache.frame_start = -25
+ cloth_mod.point_cache.frame_start = -25
elif base_name.startswith("03.1n"):
- mod.point_cache.frame_start = -25
+ cloth_mod.point_cache.frame_start = -25
elif base_name.startswith("03.2c"):
- mod.point_cache.frame_start = -20
+ cloth_mod.point_cache.frame_start = -20
elif base_name.startswith("03.2d"):
- mod.point_cache.frame_start = -20
+ cloth_mod.point_cache.frame_start = -20
elif base_name.startswith("03.2e"):
- mod.point_cache.frame_start = -14
+ cloth_mod.point_cache.frame_start = -14
elif base_name.startswith("03.3a"):
- mod.point_cache.frame_start = -60
+ cloth_mod.point_cache.frame_start = -60
elif base_name.startswith("03.3c"):
- mod.point_cache.frame_start = 257
+ cloth_mod.point_cache.frame_start = 257
elif base_name.startswith("03.4a"):
- mod.point_cache.frame_start = 16
+ cloth_mod.point_cache.frame_start = 16
elif base_name.startswith("03.4b"):
- mod.point_cache.frame_start = 45
+ cloth_mod.point_cache.frame_start = 45
elif base_name.startswith("03.4c"):
- mod.point_cache.frame_start = 98
+ cloth_mod.point_cache.frame_start = 98
elif base_name.startswith("04.1c"):
- mod.point_cache.frame_start = frame_start - 3
+ cloth_mod.point_cache.frame_start = frame_start - 3
- mod.settings.quality = GLOBAL_QUALITY
+ cloth_mod.settings.quality = GLOBAL_QUALITY
def get_pointcache_dragon_adult_cloth(obj=None):
@@ -1215,19 +1217,19 @@
mod.invert = False
for obj in [obj for obj_name, obj in object_items if obj_name == "GEO-wing_a_sim"]:
- mod = obj.modifiers["Cloth"]
+ cloth_mod = obj.modifiers["Cloth"]
if sim:
- mod.realtime = True
- mod.render = True
- pointcache_generic_setup(mod.point_cache, frame_start, frame_end, pre_roll)
- mod.point_cache.name = "dragon_adult_" + base_name
- pointcache_generic_bake(mod.point_cache, baked)
+ cloth_mod.realtime = True
+ cloth_mod.render = True
+ pointcache_generic_setup(cloth_mod.point_cache, frame_start, frame_end, pre_roll)
+ cloth_mod.point_cache.name = "dragon_adult_" + base_name
+ pointcache_generic_bake(cloth_mod.point_cache, baked)
# Per-blend dragon baby stuff...
#if base_name.startswith("03.1g"):
- mod.point_cache.frame_start = frame_start - pre_roll
+ cloth_mod.settings.pre_roll = pre_roll
- mod.settings.quality = GLOBAL_QUALITY
+ cloth_mod.settings.quality = GLOBAL_QUALITY
def setup_guardian(baked=False, sim=False, pre_roll=10):
Modified: pro/scripts/utilities/batch_bake.py
===================================================================
--- pro/scripts/utilities/batch_bake.py 2010-06-09 11:02:01 UTC (rev 4793)
+++ pro/scripts/utilities/batch_bake.py 2010-06-09 11:06:22 UTC (rev 4794)
@@ -12,21 +12,22 @@
# what to bake!!
DO_SINTEL = False
-DO_SHAMAN = False
+DO_SHAMAN = True
DO_DRAGON_BABY = True
DO_DRAGON_ADULT = False
# 0:bake not needed
# 1:bake needed
# 2:force rebake
+# 3:final baked
# -1: buggy, needs attention
BAKE_DEFINITION = {
"02.a": {"sintel": 0, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": -1},
"02.b": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 1},
"02.c": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": -1},
"02.d": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 0},
- "02.e": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": -1},
- "02.f": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": -1},
+ "02.e": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 3},
+ "02.f": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 3},
"02.g": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": -1},
"02.h": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 0},
"02.i": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 0},
@@ -143,7 +144,7 @@
"06.e": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 0},
"06.f": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 0},
"06.g": {"sintel": 0, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": -1},
- "06.h": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 1},
+ "06.h": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 0},
"06.i": {"sintel": 0, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 0},
"06.j": {"sintel": 1, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 0},
"06.k": {"sintel": 0, "dragon_baby": 0, "dragon_adult": 0, "shaman_cloth": 0},
@@ -195,7 +196,14 @@
MULTIPROCESS = False
+def scene_sets(scene):
+ scenes = [scene]
+ while scenes[-1].set:
+ scenes.append(scenes[-1].set)
+
+ return scenes
+
# print("running", __file__)
@@ -226,13 +234,8 @@
if not groups:
return objects
-
- scenes = [bpy.context.scene]
-
- while scenes[-1].set:
- scenes.append(scenes[-1].set)
-
- for scene in scenes:
+
+ for scene in scene_sets(bpy.context.scene):
for base in scene.bases:
obj = base.object
if obj.type == 'EMPTY':
@@ -255,13 +258,14 @@
return layers
-def finals_config_setup_all(baked):
+def finals_config_setup_all(baked=False):
import finals_config
for attr in dir(finals_config):
if attr.startswith("setup_"):
_setup = getattr(finals_config, attr)
_setup(baked=baked)
+
def check_init():
'''
if "durian_init.py" not in bpy.data.texts:
@@ -304,8 +308,7 @@
def use_simplify():
- scene = bpy.context.scene
- while scene:
+ for scene in scene_sets(bpy.context.scene):
scene.render.use_simplify = False
if DO_DRAGON_BABY: # needed for mdef
@@ -314,7 +317,6 @@
scene.render.simplify_subdivision = 0
scene.render.simplify_child_particles = 0.5
- scene = scene.set
def blender_bg_bake(dry_run=False):
@@ -338,14 +340,42 @@
# start bake
bpy.ops.ptcache.free_bake_all()
-
+
+
+ # ATTEMPT TO DO FULL REFRESH
+ print("\n\nSTART\n")
+ finals_config_setup_all(baked=True)
+ for scene in scene_sets(bpy.context.scene):
+ scene.render.use_simplify = True
+ scene.set_frame(bpy.context.scene.frame_start)
+ scene.update()
+ for scene in scene_sets(bpy.context.scene):
+ scene.render.use_simplify = False
+ scene.set_frame(bpy.context.scene.frame_start)
+ scene.update()
+ finals_config_setup_all(baked=False)
+ for ob in bpy.data.objects:
+ ob.update(bpy.context.scene)
+ print("END...\n\n\n\n")
+ else:
+ for scene in scene_sets(bpy.context.scene):
+ scene.render.use_simplify = True
+ scene.set_frame(bpy.context.scene.frame_start)
+ scene.update()
+ for scene in scene_sets(bpy.context.scene):
+ scene.render.use_simplify = False
+ scene.set_frame(bpy.context.scene.frame_start)
+ scene.update()
+ for ob in bpy.data.objects:
+ ob.update(bpy.context.scene)
+ # END ATTEMPT TO FIX BUGS
+
'''
obj = bpy.data.objects['Mesh']
point_cache = obj.modifiers["Cloth"].point_cache
bpy.ops.ptcache.bake({"point_cache": point_cache}, bake=True)
'''
-
object_items = bpy.data.objects.items()
base_context = {
@@ -362,6 +392,7 @@
'''Tricky function to bake '''
for obj in [obj for obj_name, obj in object_items if obj_name == obj_sim_name]:
obj, mod_sim = get_pointcache_func(obj)
+ print(" <found '%s', '%s'>" % (obj.name, obj.library.filepath if obj.library else 'LOCAL'))
context = base_context.copy()
@@ -454,6 +485,9 @@
elif mat.name == "sintel_hair_shabuffe":
mat.diffuse_color = 0.6, 0.33, 0.25
+ # DEBUG
@@ Diff output truncated at 10240 characters. @@
More information about the Durian-svn
mailing list