diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-10-15 11:19:34 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-10-15 11:19:34 +0400 |
commit | febcb91b82c03a2ec0fc36f989b5dddeca5f4373 (patch) | |
tree | 86691bd83724f8f9321b0d1bb32e5ac14b26c26a /release/scripts/templates | |
parent | 5da894b1fe1214866d7b343fabab848e8f32a581 (diff) |
- add template for defining custom driver functions.
- comment unused assignments.
Diffstat (limited to 'release/scripts/templates')
-rw-r--r-- | release/scripts/templates/driver_functions.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/release/scripts/templates/driver_functions.py b/release/scripts/templates/driver_functions.py new file mode 100644 index 00000000000..db9d4fb4678 --- /dev/null +++ b/release/scripts/templates/driver_functions.py @@ -0,0 +1,34 @@ +# This script defines functions to be used directly in drivers expressions to +# extend the builtin set of python functions. +# +# This can be executed on manually or set to 'Register' to +# initialize thefunctions on file load. + + +# two sample functions +def invert(f): + """ Simple function call: + + invert(val) + """ + return 1.0 - f + + +uuid_store = {} + +def slow_value(value, fac, uuid): + """ Delay the value by a factor, use a unique string to allow + use in multiple drivers without conflict: + + slow_value(val, 0.5, "my_value") + """ + value_prev = uuid_store.get(uuid, value) + uuid_store[uuid] = value_new = (value_prev * fac) + (value * (1.0 - fac)) + return value_new + + +import bpy + +# Add variable defined in this script into the drivers namespace. +bpy.app.driver_namespace["invert"] = invert +bpy.app.driver_namespace["slow_value"] = slow_value |