[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