Shape slider driver update

  / by Bassam

Hello again! you may remember this post about drivers and shapes. Well one of the blender developers, Johnny Matthews ( AKA GuitarGeek ), decided to make a script to create the driver/sliders automatically: He sent me this movie file to show his progress: slider creation movie (Divx AVI).

Looks great, doesn’t it? :D

update: looks like Johnny has committed the changes to the python API neccessary for his script to work: So get a current CVS and head to widgetmaker for some widget-y goodness!

« | »




43 Responses to “Shape slider driver update”

  1. PolygoneUK said on 24 Oct, 2005:

    Dang that’s a mighty handy lookin’ tool. Any word on whether the script will be ‘set free’ to wander the wilderness as nature intended (hehe) or if that kind of feature might make it actually into a blender release?

    I only ask because I, like others, probably sat wondering how you make them shapes and widgets all work. That script solves the problem.

    Good stuff, no… great stuff :D


  2. Bassam said on 24 Oct, 2005:

    Well, he tells me he will publish it soon, but at this point it depends on some uncommitted API changes in blender.


  3. joeri said on 24 Oct, 2005:

    Now we are getting places.


  4. guitargeek said on 24 Oct, 2005:

    Like Bassam said there are 2 patches in the tracker, 1 for Key and 1 for IpoCurve that make small changes that allow this to work. You can get the script and some explanation here…

    http://guitargeek.superihost.com/widgetmaker/

    but unless you apply those patches (or until they are committed) you will not be able to run the script. I am open to suggestions for other widget shapes, types, etc. This is really just a first pass.


  5. Gabio said on 24 Oct, 2005:

    mm ok, I wonder how this is done in other apps. For now in Blender it’s like a mesh in the scene controling the ipo. couldn’t there be a way to create an interface for that in blender’s UI? or other package like maya also does widget this way? maybe a script in space handeler?
    Anyone saw the demo reel of Marek Schneider on cgtalk:
    http://forums.cgsociety.org/showthread.php?t=284907
    Done with messiah I think… Look at all those sliders and widgets… procedural animation look cool.
    I have to find how this can be done in blender…


  6. guitargeek said on 24 Oct, 2005:

    Perhaps once the Python driver idea is implemented (where the driver is not an object, but a line of py code) The spacehandler would be pretty easy to do. Then it could be just drawn to the screen and interacted with, rather than being an object.

    Procedural animation is something else entirely :)


  7. thoro said on 24 Oct, 2005:

    That’s amazing – great work, guitargeek! This really improves the workflow. Can’t wait to use it…


  8. dude said on 24 Oct, 2005:

    How do you play that movie? I am using Windows XP and it won’t run on windows media player or quicktime. When I open it in windows media, it says: ‘Sending request for codec…’ and then gives an error. Nobody else seemed to have this problem, so i’m kinda confused. Please help!


  9. guitargeek said on 24 Oct, 2005:

    You need to get the divx codec from http://www.divx.com/


  10. dude said on 24 Oct, 2005:

    Thanks a bunch guitargeek, the movie looks good too!


  11. Nozzy said on 24 Oct, 2005:

    Great stuff guitargeek :) it nice to have some automation in the rigging process.

    Ive been trying to lock my widget handles to there parent borders, with some simple script linking, and space handlers but neither seem to update on redraw. The script run fine in 2.37, but not on a CVS build.

    But some way of clamping the handles/sliders to there max/min
    would be much more intuitive, and keep things tidy.

    Any ideas?


  12. Johnny Matthews said on 25 Oct, 2005:

    I was thinking about 4 floor constraints with offsets.


  13. joeri said on 25 Oct, 2005:

    “mm ok, I wonder how this is done in other apps.”
    Currently in blender you can only set an object channel as a driver. In other packages you can create your own attributes (properties/variables) and assign thoose as drivers.
    This is on the to-do list for blender. Also on the to-do list is to use python as driver! For example: return(10 * sin(cframe)) for nice wave effect.
    But the attribute sliders would be outside of the 3d window.
    Some packages provide slider drawing in 3d and others let 3d objects drive the sliders.

    Cool stuff. It takes skeletons into rigging.


  14. Extensor said on 25 Oct, 2005:

    Oh man, i want to see this as a Blender feature. please please please. :D


  15. Nozzy said on 25 Oct, 2005:

    “I was thinking about 4 floor constraints with offsets.”

    I would have never thought of that :) That diffinaly does the trick. But I noticed if I then want to reposition the whole widget and rotate the parent, the contraints are locked to the original plane. Maybe this is how it was supposed to work?
    A blend file:
    http://www.thehive.se/blends/contrained_wiget.blend

    But it would still be nice to have some way of locking down objects. When I rig i maya, the slider and widets I use in my gui’s can be lock with maya’s “limit Information”:
    http://www.thehive.se/images/limit.jpg

    Having a simular panel in Blender per object would open up a lot of options for rigging. Ive have been looking at the sources for a while and trying to fathem out a way, but my coding abilties are not up to much and it hard to know which way to attack the problem.
    Anyone up for the challenge :)


  16. mthoenes said on 25 Oct, 2005:

    Great work GuitarGeek!

    I have been setting some sliders and am trying to understand the relationship between the parent object’s axis orientation and the LocZ, LocX and LocY of the control object. Can someone explain this?

    Thanks
    mthoenes


  17. guitargeek said on 25 Oct, 2005:

    The range object is rotated 45 degrees so that “up” is actually a combination of 2 directions


  18. guitargeek said on 25 Oct, 2005:

    I’ve updated my script page with my new additions to the script. It now has 11 widget types.

    1 Shape – 3 Types
    2 Shapes – 5 Types
    3 Shapes – 2 Types
    4 Shapes – 1 Type

    http://guitargeek.superihost.com/widgetmaker/

    Hopefully the API changes will come soon and you can try it :)


  19. Trevor said on 25 Oct, 2005:

    Is this different than the shape sliders that are in 2.40 alpha? I’m getting the feeling that I’m missing the differances in the concept between this and the slider widgets that are actually a part of the GIU in blender 2.40 alpha….


  20. guitargeek said on 25 Oct, 2005:

    The sliders in the program are in either the buttons window or the Action window. These ‘shape widgets’ are objects in the 3d window that are controllers for driven keys of the shapes. Therefore you can have a widget that lets you control more than one shape at a time.


  21. Bassam said on 25 Oct, 2005:

    Trevor: many differences:
    1- the shape sliders only influence one shape
    2- the 3d view doesn’t update until you release the shape slider.
    3- these widgets are 1D or 2D sliders (in theory you could do 3D one’s too), and allow you to influence many things, even non-shapes.
    4- the shape sliders are blender UI elements, these widgets are just regular 3D objects, being used for UI- they can be keyed and animated as objects, or driven with another object.
    5- shape sliders animate the shape IPOs, while these widgets create IPOs only for themselves. The driver does the rest.

    Guitargeek, do you think it would be a good idea to rotate the diamond slider for more intuitive operation?
    or just let the user do it.


  22. guitargeek said on 25 Oct, 2005:

    Bassam,

    The slider object is extremely trivial. I could even add options if you want a Diamond,Square or Circle :)


  23. JoOngle said on 25 Oct, 2005:

    It’d be really nice if this would be implemented in it’s
    own menu rather than “meshes/objects” in the scene…minor
    detail…but not a hack.


  24. cekuhnen said on 26 Oct, 2005:

    because you can unlinck a layer, you could devote one layer for the sliders only in a different window part.

    also in maya you have the slider objects in the scene window as well, they just dont render.

    but i know what you mean. it could in deed be nice to have something like a own window option for sliders, but wouldn that kill the idea behind it? you can just model what ever slider
    uou need and play with it. i do not know if the slider only work in x and y axis but could also work along the z axis. for this you need a 3d window than anyway.

    Johnny, that is some great work! i love to see how blender finaly gets matrue with its animation tools.

    claas


  25. Johnny Matthews said on 26 Oct, 2005:

    I am making the widgets completely out of edges with no faces, so they do not render. /me wonders about a “track to view” option for an object… :)


  26. Alexander Ewering said on 26 Oct, 2005:

    Just add a seperate small 3d view that you just never change, and put it (and the slider objects) at a location and on a layer where they don’t disturb the rest of the scene?


  27. m0nki said on 26 Oct, 2005:

    Super cool !!!


  28. Bassam said on 26 Oct, 2005:

    yeah, that works..(seperate layer, unlocked view). It didn’t initially, but Ton did some fixes to DAG updating so it would :)


  29. Vassilios Boucer said on 26 Oct, 2005:

    Thats Looks also very Interesting!What a Development!!
    I also have a Question:are you have already the Sequencer Plug Ins from Marc??
    If Yes: Where and When we can Found a Download Link to Download?
    I use Windows XP so need dll´s (Sequencer Plug Ins from Marc)
    Thanks and Great Job!


  30. guitargeek said on 26 Oct, 2005:

    Ok, the needed api changes are in CVS sooo, go to my site, download the script to your scripts folder and look for it in Object Mode in the scripts menu.

    http://guitargeek.superihost.com/widgetmaker/

    Usage:
    1. Click where you want the widget to go
    2. Highlight the object that has shapes
    3. Run the script
    4. Choose the type of widget (there are next and back buttons if you pick the wrong kind)
    5. Click next and choose what shapes go where on the widget
    6. Choose a display name for the widget
    7. Click finish
    8. The widget is added and you are returned to the first screen for adding another widget


  31. Bassam said on 26 Oct, 2005:

    guitargeek: I just updated my main post with a link to your website, thanks a lot for this :)


  32. kachen said on 27 Oct, 2005:

    I use Windows XP
    blender 2.40

    this my error

    Traceback ( moct recent call last ):
    File “


  33. kachen said on 27 Oct, 2005:

    sorry first time to my post
    i try to post my error
    i want to know what blender version to work with this script
    Thanks and sorry to my english


  34. Toni said on 27 Oct, 2005:

    kachen,

    because it required a change in the Blender Python API, it only works with the current CVS version, and with no release.

    if there will be a 2.40alpha2 it will work there, and in the 2.40 final of course.

    ~Toni


  35. Hauke Wintjen said on 27 Oct, 2005:

    Hi guys.
    Did anybody of you thing about integrating midi-controllers into blender? So you can turn a wheel on your midi keyboard and the characters starts to move….
    Another cool thing would be to use Midi-Controllers for changing the 3D-view rotation, or the object scale …. 8->


  36. Trevor said on 27 Oct, 2005:

    Hauke…THAT is an awesome Idea. you could map stuff to your midi keyboard too, each key could be mapped to a slider and since they are velocity sensitive you could vary the slider input based on how hard you hit the key.


  37. Vassilios Boucer said on 27 Oct, 2005:

    Hauke….Thats a Very Great Idea and Interesting also!
    Using a 3D Application from a Midi Keyboard!
    I have a Midi Sequence Home Recording Studio with many Digital and Analog Synthesizers and i Compose also Music …so to use Blender from a Midi Keyboard that would be Cool…with Wheals Scrollers, Sliders, Buttons and Keys !


  38. kachen said on 27 Oct, 2005:

    Thanks Toni


  39. tripdragon said on 28 Oct, 2005:

    It does not work for me. I have cvs build 10/26 Is that not good enough ? the script builds the widget but will not control the keys


  40. Johnny Matthews said on 28 Oct, 2005:

    tripdragon, well it depends when that day the build is from. The committed changes happened that day at 17:30 GMT, also check to make sure you have the newest script.


  41. Johnny Matthews said on 31 Oct, 2005:

    Ok after some revisions to the API and script, it should work again against Current CVS.

    http://guitargeek.superihost.com/widgetmaker/


  42. Tom Musgrove said on 4 Nov, 2005:

    [QUOTE]Hi guys.
    Did anybody of you thing about integrating midi-controllers into blender? So you can turn a wheel on your midi keyboard and the characters starts to move….
    Another cool thing would be to use Midi-Controllers for changing the 3D-view rotation, or the object scale …. [/QUOTE]

    I proposed that to Ton quite some time ago, when the initial animation proposals were done.

    LetterRip


  43. Johnny Matthews said on 4 Nov, 2005:

    This may also be an interesting way to incorperate MIDI and Blender

    http://www.mxm.dk/products/public/pythonmidi/

    It is for reading and writing midi files, and not live midi.

    even better it is GPL :)


ok