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!
« Blender Conference roundup | The Ever Shrinking Orange Wishlist »
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
Well, he tells me he will publish it soon, but at this point it depends on some uncommitted API changes in blender.
Now we are getting places.
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.
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…
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 :)
That’s amazing – great work, guitargeek! This really improves the workflow. Can’t wait to use it…
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!
You need to get the divx codec from http://www.divx.com/
Thanks a bunch guitargeek, the movie looks good too!
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?
I was thinking about 4 floor constraints with offsets.
“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.
Oh man, i want to see this as a Blender feature. please please please. :D
“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 :)
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
The range object is rotated 45 degrees so that “up” is actually a combination of 2 directions
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 :)
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….
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.
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.
Bassam,
The slider object is extremely trivial. I could even add options if you want a Diamond,Square or Circle :)
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.
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
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… :)
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?
Super cool !!!
yeah, that works..(seperate layer, unlocked view). It didn’t initially, but Ton did some fixes to DAG updating so it would :)
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!
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
guitargeek: I just updated my main post with a link to your website, thanks a lot for this :)
I use Windows XP
blender 2.40
this my error
Traceback ( moct recent call last ):
File “
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
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
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->
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.
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 !
Thanks Toni
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
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.
Ok after some revisions to the API and script, it should work again against Current CVS.
http://guitargeek.superihost.com/widgetmaker/
[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
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 :)