[Durian-svn] [3578] updates to hair settings and some utility functions for baking

campbell institute at blender.org
Wed May 19 13:37:32 CEST 2010


Revision: 3578
          https://blenderinstitute.dyndns.org/durian-svn/?do=log&project=durian&path=/&rev=3578
Author:   campbell
Date:     2010-05-19 13:37:31 +0200 (Wed, 19 May 2010)
Log Message:
-----------
updates to hair settings and some utility functions for baking

Modified Paths:
--------------
    pro/scripts/modules/finals_config.py

Modified: pro/scripts/modules/finals_config.py
===================================================================
--- pro/scripts/modules/finals_config.py	2010-05-19 11:10:01 UTC (rev 3577)
+++ pro/scripts/modules/finals_config.py	2010-05-19 11:37:31 UTC (rev 3578)
@@ -8,9 +8,46 @@
 import bpy
 import os
 
+def get_pointcache_sintel_hair(obj=None):
+    if obj is None:
+        obj = bpy.data.objects["GEO-sintel_hair_emit"]
 
+    psys = obj.particle_systems["sintel_hair"]
+
+    return obj, psys
+
+def pointcache_dirs(point_cache):
+    # cache path local: from
+    cache_dir = bpy.utils.expandpath(point_cache.id_data.library.filename) # expand //
+    cache_dir = os.path.normpath(cache_dir) # remove ../../
+    cache_dir = os.path.splitext(cache_dir)[0] # remove .blend
+    cache_base_dir, cache_base_name = os.path.split(cache_dir)
+    cache_path_from = os.path.join(cache_base_dir, "blendcache_" + cache_base_name)
+
+    # cache path global: to
+    base_dir, base_name = os.path.split(bpy.data.filename)
+    cache_path_to = os.path.join(base_dir, point_cache.name, point_cache.name)
+    point_cache.use_library_path = True
+
+    return cache_path_from, cache_path_to
+
+def pointcache_commands(point_cache):
+    cache_path_from, cache_path_to = pointcache_dirs(point_cache)
+
+    '''
+    return [
+        "mkdir '%s'" % (os.path.dirname(cache_path_to)),
+        "mv %s/%s* %s/" % (cache_path_from, point_cache.name, os.path.dirname(cache_path_to)),
+        "svn add %s" % (os.path.dirname(cache_path_to)),
+        "svn commit %s -m \"hair sim auto message\"" % (os.path.dirname(cache_path_to)) ]
+    '''
+
+    return [
+        "mkdir '%s'" % (os.path.dirname(cache_path_to)),
+        "mv %s/%s* %s/" % (cache_path_from, point_cache.name, os.path.dirname(cache_path_to)),
+        "svn add %s" % (os.path.dirname(cache_path_to)) ]
+
 def setup(baked=False, pre_roll=40, sim=True, cloth=False, collisions=False, mindis=0.002):
-    
     def replace_group(group_name, groups_from):
         group = bpy.data.groups[group_name]
         
@@ -20,22 +57,6 @@
                 obj.dupli_group = group
 
 
-    def pointcache_dirs(point_cache):
-        # cache path local: from
-        cache_dir = bpy.utils.expandpath(point_cache.id_data.library.filename) # expand //
-        cache_dir = os.path.normpath(cache_dir) # remove ../../
-        cache_dir = os.path.splitext(cache_dir)[0] # remove .blend
-        cache_base_dir, cache_base_name = os.path.split(cache_dir)
-        cache_path_from = os.path.join(cache_base_dir, "blendcache_" + cache_base_name)
-
-        # cache path global: to
-        base_dir, base_name = os.path.split(bpy.data.filename)
-        cache_path_to = os.path.join(base_dir, point_cache.name, point_cache.name)
-        point_cache.use_library_path = True
-
-        return cache_path_from, cache_path_to
-
-
     def pointcache_generic_setup(point_cache, frame_start, frame_end):
         point_cache.frame_start = frame_start - pre_roll
         point_cache.frame_end = frame_end + 1  # one extra frame for vector blur
@@ -50,14 +71,10 @@
         else:
             if point_cache.external:
                 point_cache.external = False
-                
-            cache_path_from, cache_path_to = pointcache_dirs(point_cache)
+
             print("finals_config.py: configuring :: Needs Baking'%s'" % point_cache.name)
-
-            print("    mkdir '%s'" % (os.path.dirname(cache_path_to)))
-            print("    mv %s/%s* %s/" % (cache_path_from, point_cache.name, os.path.dirname(cache_path_to)))
-            print("    svn add %s" % (os.path.dirname(cache_path_to)))
-            print("    svn commit %s -m \"hair sim auto message\"" % (os.path.dirname(cache_path_to)))
+            for l in pointcache_commands(point_cache):
+                print("    " + l)
             print("")
 
 
@@ -82,7 +99,7 @@
     # if obj:
     if baked:
         for obj in [obj for obj_name, obj in object_items if obj_name == "GEO-sintel_hair_shad"]:
-            psys = obj.particle_systems["sintel_hair"]
+            obj, psys = get_pointcache_sintel_hair(obj)
             # change per scene
             pointcache_generic_setup(psys.point_cache, frame_start, frame_end)
             psys.point_cache.name = "sintel_hair_" + base_name
@@ -93,7 +110,8 @@
     # if obj:
     for obj in [obj for obj_name, obj in object_items if obj_name == "GEO-sintel_hair_emit"]:
 
-        psys = obj.particle_systems["sintel_hair"]
+        obj, psys = get_pointcache_sintel_hair(obj)
+
         # change per scene
         pointcache_generic_setup(psys.point_cache, frame_start, frame_end)
         psys.point_cache.name = "sintel_hair_" + base_name
@@ -258,9 +276,9 @@
             sintal_preset_hair_run()
 
         elif base_name.startswith("04.2i"):
-            psys.cloth.settings.pin_stiffness = 0.82
-            psys.cloth.settings.quality = 25
-            psys.cloth.settings.bending_stiffness = 20.0
+            psys.cloth.settings.pin_stiffness = 0.7
+            psys.cloth.settings.quality = 120
+            psys.cloth.settings.bending_stiffness = 30.0
             psys.cloth.settings.spring_damping = 80.0
             psys.cloth.settings.air_damping = 20.0
             psys.cloth.settings.mass = 0.1



More information about the Durian-svn mailing list