[Bf-blender-cvs] CVS commit: blender/source/blender/blenkernel BKE_ipo.h blender/source/blender/blenkernel/intern constraint.c depsgraph.c ipo.c key.c object.c blender/source/blender/blenloader/intern readfile.c writefile.c blender/source/blender/include BSE_editipo.h blender/source/blender/makesdna ...

Ton Roosendaal ton at blender.org
Sun Oct 2 22:51:36 CEST 2005


ton (Ton Roosendaal) 2005/10/02 22:51:35 CEST

  Modified files:
    blender/source/blender/blenkernel BKE_ipo.h 
    blender/source/blender/blenkernel/intern constraint.c 
                                             depsgraph.c ipo.c 
                                             key.c object.c 
    blender/source/blender/blenloader/intern readfile.c 
                                             writefile.c 
    blender/source/blender/include BSE_editipo.h 
    blender/source/blender/makesdna DNA_curve_types.h 
                                    DNA_ipo_types.h 
    blender/source/blender/render/intern/source renderPreAndPost.c 
    blender/source/blender/src buttons_shading.c drawipo.c 
                               editipo.c editobject.c header_ipo.c 
                               interface.c 
  
  Log:
  Version 1.0 of IpoDrivers.
  
  First note that this is new functionality, unfinished, and only for
  testing and feedback purposes. I'll list below what works, and what will
  need work still.
  
  This text is also in cms: http://www.blender.org/cms/Ipo_Drivers.680.0.html
  
  An IpoDriver is like an IpoCurve, but instead of a Bezier curve, it allows
  to connect a property of other Objects as input for the "channel". For
  example, IpoDrivers can be used to have a Shape Key being "driven" by
  the rotation of a Bone. Or the RGB colors of a Material get driven by the
  XYZ location of an Object.
  
  Editing of Drivers happens in the IpoWindow. Here you can notice that the
  channels (right hand window) now have an "active" channel indicator.
  To add a Driver, you have to use the "Transform Properties" Panel (Nkey).
  Here you can add or remove a Driver to the active channel, and use the
  buttons to fill in what kind of relationship you want to establish.
  
  Driver Objects
  
  Note that any Ipo Channel can become driven now, but that only Object
  transformation or Pose Bone transformation can be used to become a
  Driver now.
  At this moment, only the local transformation is taken into account.
  For Objects that means the location/rotation/scale value without Parent
  transform (as shown in "Transform Properties" Panel for Objects).
  For Pose Bones it means that only the Pose transform (changes of rest
  position) is Driver information (also as shown in Transform Property
  Panel in Pose Mode).
  
  Mapping of Drivers
  
  When an Ipo Channel is "driven", the mapping is by default one-to-one.
  It is only restricted by already built-in limits for Channels, like
  for Material the "R" value can only range from 0.0 to 1.0.
  
  Also note that when mapping rotations, the actual rotation values
  in Ipos are scaled down with a factor 10.0. (180 degrees actually has
  in the Ipo system a value of 18.0). This is an ancient year zero
  convention in Blender... it is a bit hidden, because the ruler
  (vertical as well as horizontal) displays the virtual values correctly.
  Only the Properties panel shows the actual value.
  
  When you draw an IpoCurve in a Driven channel, this curve will define
  the mapping between the Driver output (horizontal) and Driven input
  (vertical, as usual).
  A nice new option to use is "Insert one-to-one curve" (press I-key,
  or in pulldown menu). This will also zoom the display in exactly to
  fill the window, allowing easy edit. If you use this option with
  degrees, it will map 180 degree rotation to a range of 1.0 unit.
  
  Live updates
  
  Since the Drivers are integrated in the Ipo system, they will always
  be updated whenever an Ipo is evaluated. This happens at least on
  frame changes.
  For interactive feedback, updates while transforming objects were
  added in these cases:
  
  - Driven Object Ipos, by other Objects or Pose Bones
  - Driven Shape Key Ipos, by other Objects or Pose Bones
  
  You can also insert Drivers on Action Ipos, but these are only evaluated
  on frame change now.
  
  Todo
  
  - Drivers can also get a text button, allowing a 1 line Python script
    to be executed.
  - Make UI for it a bit less hidden... maybe with visualization in 3D?
  - Allowing global transform coordinates as Driver too.
  
  Issues
  
  - renaming Bones won't rename drivers
  - (file) appending the Ipo won't append the linked driver Objects
  
  Revision  Changes    Path
  1.9       +7 -1      blender/source/blender/blenkernel/BKE_ipo.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenkernel/BKE_ipo.h.diff?r1=1.8&r2=1.9&cvsroot=bf-blender>
  1.35      +2 -2      blender/source/blender/blenkernel/intern/constraint.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenkernel/intern/constraint.c.diff?r1=1.34&r2=1.35&cvsroot=bf-blender>
  1.23      +38 -3     blender/source/blender/blenkernel/intern/depsgraph.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenkernel/intern/depsgraph.c.diff?r1=1.22&r2=1.23&cvsroot=bf-blender>
  1.24      +138 -28   blender/source/blender/blenkernel/intern/ipo.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenkernel/intern/ipo.c.diff?r1=1.23&r2=1.24&cvsroot=bf-blender>
  1.13      +3 -1      blender/source/blender/blenkernel/intern/key.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenkernel/intern/key.c.diff?r1=1.12&r2=1.13&cvsroot=bf-blender>
  1.77      +29 -12    blender/source/blender/blenkernel/intern/object.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenkernel/intern/object.c.diff?r1=1.76&r2=1.77&cvsroot=bf-blender>
  1.195     +7 -2      blender/source/blender/blenloader/intern/readfile.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenloader/intern/readfile.c.diff?r1=1.194&r2=1.195&cvsroot=bf-blender>
  1.60      +2 -1      blender/source/blender/blenloader/intern/writefile.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenloader/intern/writefile.c.diff?r1=1.59&r2=1.60&cvsroot=bf-blender>
  1.17      +3 -1      blender/source/blender/include/BSE_editipo.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/include/BSE_editipo.h.diff?r1=1.16&r2=1.17&cvsroot=bf-blender>
  1.19      +9 -1      blender/source/blender/makesdna/DNA_curve_types.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/makesdna/DNA_curve_types.h.diff?r1=1.18&r2=1.19&cvsroot=bf-blender>
  1.17      +2 -1      blender/source/blender/makesdna/DNA_ipo_types.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/makesdna/DNA_ipo_types.h.diff?r1=1.16&r2=1.17&cvsroot=bf-blender>
  1.12      +4 -4      blender/source/blender/render/intern/source/renderPreAndPost.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/render/intern/source/renderPreAndPost.c.diff?r1=1.11&r2=1.12&cvsroot=bf-blender>
  1.148     +2 -2      blender/source/blender/src/buttons_shading.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/buttons_shading.c.diff?r1=1.147&r2=1.148&cvsroot=bf-blender>
  1.56      +194 -21   blender/source/blender/src/drawipo.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/drawipo.c.diff?r1=1.55&r2=1.56&cvsroot=bf-blender>
  1.69      +289 -142  blender/source/blender/src/editipo.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/editipo.c.diff?r1=1.68&r2=1.69&cvsroot=bf-blender>
  1.255     +17 -2     blender/source/blender/src/editobject.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/editobject.c.diff?r1=1.254&r2=1.255&cvsroot=bf-blender>
  1.32      +17 -7     blender/source/blender/src/header_ipo.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/header_ipo.c.diff?r1=1.31&r2=1.32&cvsroot=bf-blender>
  1.206     +21 -16    blender/source/blender/src/interface.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/interface.c.diff?r1=1.205&r2=1.206&cvsroot=bf-blender>



More information about the Bf-blender-cvs mailing list