MakeCurve for OFS

That one just adds 1 node to the start and end of each node with a fixed offset. Which would appear very similar to setting just 2 added nodes in my tool. My tool adjust for the node positions and distance while that one doesnt. Both have their own function, and its up to the scripter which he prefers.

Good you mention it, as it could in some cases be a bit cleaner than my script. Especialy if the top section itself must be consistent. My script adjusts for many things, and can face rounding issues.


One thing i forgot to place in the images my tool achieves is that it can handle midpoints as if its a sudden stop:


If not intended, the scripter would have to work around it. But it might be a neat feature

4 Likes

This is great! Thanks so much for the work on this. Messing around with it a bit today and seems incredibly useful, especially for tuning some of the Auto Generators based on music/beats.

1 Like

This neat. I want to see what level of smoothness this might add to song scripts and such. My handy was at a capped speed so I was never getting the benefits of detailed scripts before (they were basically causing the machine to skip, but I think it’s a good bit better now).

Actually, one suggestion I have if you want, is to maybe have it exclude points that starts at the beginning of the video, because it throws an error and the extension has to be reloaded.

This is already fixed in the version im making, it tries to load in a previous node that doesnt exist, while it isnt even needed to load it anyway.

2 Likes

Does this extension still work with the latest version of OFS?

It should still work. The code of this plugin isnt very complex so its unlikely to break.

(and after checking, still works)

Curious how this works in relation to interpolation that players utilize. From my (basic) understanding, even if a script looks linear, players/toys are applying smoothing to those movements to avoid jerky playback. I know in MFP there are several different interpolation types available including Makima and pchip.

@Yoooi - is this duplicative, or would it further enhance interpolation/smoothing in MFP?

1 Like

Only players that do interpolation are MFP and JFP. I dont know of any device that does interpolation itself.
Interpolating an already interpolated script in MFP wont do/add anything. Maybe it would be marginally smoother but you wouldnt be able to tell.

1 Like

Thanks for the confirmation, I was dumb and had the extension in a file inside another file so it wouldn’t run. I kinda assumed I had made a mistake on my part being a scripting beginner and I was right. Thanks regardless

Just wanted to drop by and thank you for this script.

This is one of my favorite tools, I use it all the time! Thank you!

Just wanted to ask is it generally better to smooth out scripts or have them be more linear, when would one be better than the other? I assume quick thrusts would benefit more from linear due to the speed and intensity and smoothing out would work better if it’s like a slower thrust?

EDIT: I tested it out on the Handy, basically makes the script skip/jitter a lot so its choppy. Not sure why.

Bluetooth LE or Wi-Fi?

In BLE mode the Handy takes actions one by one and therefore producing a microstutter before each point. Over Wi-Fi it caches all actions beforehand and is therefore more smoother.

Fast actions, one that exceeeds 380unit/s, should be kept untouched imo, as the sudden acceleration feels rather abrupt and unnatural.

Simple script also has better compatibility, and will thus play out better on older toys such as the Launch and A10 Piston.

It’s worth adding middle points purposefully to represent significant speed changes in the video. Don’t select all actions and perform the function just for the sake of “smoothing” out the strokes, as it may not.

The only device that is completely unaffected by this is the OSRs. And there’s no need to do this for them because MultiFunPlayer takes care of overall interpolation.

Here’s a suggestion for a different moothing method btw:

This one is supposes to have better compatibility than adding two points per stroke.

My observation is smooting is needed only one sided of top bottom points. I rarely see a decelerate to stop but a delay at accelerating. So if you could do the plugin also onesided of top and bottom that would be cool. To me this would seem the natural interpolation that’s how movement forces me to script if I replicate it.

I believe its BLE mode. It’s the purple light. It has the microstutter you decribed.

How do you use wifi mode? I always just used BLE I guess?

Blue light = Bluetooth mode (connected via Intiface)
Magenta light = Wi-fi mode (connected via Handy key)

Weird how I get the stutter then on WiFi mode.

Bluetooth can process less, so if node density is too high, it just skips some. If a script has nodes too close together, on wifi it can still often do those movements, but it wont be smooth anymore as the device will sometimes stutter to sync up again. For nodes further apart it doesnt have that (it can then compensate better).

This is why bluetooth in some cases can feel more smooth. But if this happens nearly everywhere, you have an issue within wifi itself that isnt normal. Wifi is normaly the superior connection.

Unless you use a passthrough method that introduces a delay (for example, pc sends to phone, phone sends to device), as in those cases the delay will introduce more issues. But thats why you have to use the connection key in scriptplayer/handycontrol. Its to be as direct as possible.

Also, if you are constantly downloading/uploading, you might also reach limits on the router. A lot of wifi connections are slower than what the provider can provide (depends on country and hardware though). But if the network is reaching its limit, its no longer reliable at timing.

Update:

This should now feature a ‘smooth start’ and ‘smooth end’ setting, and using a value of 1 you can achieve this:
afbeelding

(nodes added 1)
afbeelding

(nodes added 3)
afbeelding

I hope this helps on those parts :slight_smile:

8 Likes