Upon request from our users to make simple scripts, I started building a web tool for scripting. Some of you here have used those tools, and a couple of months ago, I scraped the old tools I had built and developed one from scratch. I mostly did the work over weekends and holidays but also spent work hours on it (making it a company property). We, Sweet Tech - the Handy team, now use the tool to review the fully automatic scripting service we are building up (more on that in a future post). To summarize, it’s mostly an off-work product that I have done for fun, the challenge, and to give to the community.
Since it is pretty new, it might be some bugs here and there. I offer no support and do not get mad if I’m slow to reply and fix the bugs. General bug fixing: settings->data->delete all data and refresh;-)
Feel free to make FREE scripts with this tool. Not for commercial use!
Link: Handy simple scripter
Some of the features:
Multiple graphs
Its a website
cross-platform
No installation
Drag and drop
Neural network tracker
Computer vision tracker
Math functions
Push to a Handy device
Some of the things that I hope to add when time (and demand):
Improved output of trackers
Script with your mouse (needed?)
Game controller support
Custom key mapping
Better math functions
Let me know what you guys think. I made a tutorial video (in “help” - my first EVER video → be kind<3) where I go over the current functionality. If there are new modules that you want that will help speed up the scripting process, send requests.
alexander. sorry to repeat this but thanks for a super nice tool. i have been playing around with it a lot and i have two questions. you probably discussed them in your video but i missed it. if I did, please point me to where it was discussed.
is there a way to zoom in to the video? i want to use the computer vision tracker and it woulb be nice if i can zoom in and out of the video.
is there a way to scale the raw graph. the normalize function in the math tools does nothing to the raw graph and i was hoping i can scale that one up and down.
I added a hacky video zoom function. It was requested by others as well. However, it will not work well with the trackers. For neural network, it functions partly, it is just the drawn tracking points are not drawn correctly. For the CV tracker, it will break completely. I think it will be a big job to get the linear algebra right to get the zoom to function in CV. I will add it to my list, but I’m not optimistic due to my limited time. If I find the time zooming will also make the tracker faster since there are fewer pixels to the math on, so it’s definitely something I should do.
The math functions are buggy at the moment. You are right, normalize should have done the trick. I will fix them after my summer break
Great tutorial @handyAlexander. I love this tool, used its predecessor to script a lot and will keep the feature requests coming. So here it goes.
I produced this script and tried to figure out a good low-effort but high quality workflow with motion tracking.
The best I have so far is:
Do motion tracking in Handy simple scripter with either pose detection or computer vision
Delete any non-action portions of the Raw graph, then use Normalize to expand it a bit
Export and load the graph in OpenFunscripter
Delete all mid points
Go through different portions of the graph, select all top/bottom points and move them up/down to match the vid
I think it turned out nicely without much time spent. What I would love is of course to do step 3-5 done in the web tool, and even less effort.
So (4) removing mid points of the generated graph somehow, maybe be able to set some time/angle threshold where a mid point is filtered out.
And (5) stretching the graph, exaggerating movement. Plus moving an entire graph section up/down. Or even better, setting the max/min point while doing motion tracking so the graph points will just scale accordingly. That could also solve (2) - points outside the max/min range wouldn’t be in the graph.
Let us aim for you not to have to switch between tools. Can you explain better what the “delete mid points” function does? Then I can try to add that as a math function.
Step 5. Are there any functions missing in the simple scripter that you need to do for this step?
In this graph, from left to right: top, bottom, bottom, mid, top, bottom
The motion tracking will generate a lot of unnecessary mid points and I can get rid of some by using Downsample but doing it too much will lose accuracy.
Yes. It can’t move entire sections of points up or down (other than manually). Or move sections of top/bottom points up/down.
The adjust points in view component could be extended to nudge all points up/down by +10/-10. And nudge top/bottom points only by +10/-10.
Great additions. Merge mid points looks fantastic, works better to merge the mid points than just delete them like I did in OFS. Nudge up/down is also super useful.
Much better than before! Not sure about average though, it decreases the movements and ruined some parts of the script I tried generating.
The seek map shows the points that are too fast (>400mm/s) as red and the points that are too slow (<32mm/s) as blue. I will modify the seek map slightly to make it more informative. You can also see each point in the seeker the speed of the current point. Should I add a red/blue color to the text to make it more clear?
The map is based on the stroke length set in settings->handy. Default is set to 96mm (max stroke length). If you have a shorter stroke length, you can have less space between the points since the motion is slower.
Yeah I was thinking of it, and replacing that old outdated tutorial I did. But as the Simple scripter tool evolves though, maybe it’s better to wait until I can do a tutorial in that tool.
The step I need to do in OFS right now is selecting and moving top points up and the bottom points down for different sections of the script, to exaggerate movement.
A scale/expand/stretch graph section feature in the simple scripter would be even better.
The up/down movement is much smaller than in the vid but I don’t want to press MIDDLE for example because I want to keep the variety of the movement to reflect the vid.
The graph after I have moved top points up and bottom points down to scale it using OFS:
In this particular case top points were moved +20 and bottom points -10 for the script to match the vid. In other sections of the script I might need different values since the camera might have zoomed out, different camera angle etc.
So you could add adjust top points up and bottom points down by 5 to adjust points in view. Not sure about the mid points, maybe they could be scaled proportionally, up if closer to top or down if close to bottom point.
I think I have added what you want. Now you can click on “all” to toggle between all, bottom, top . For example, if you select top and nudge up, you will only move the top points up 5%. The middle points will be moved relative to the change.