This is great, thanks for the comprehensive explanation. I only just now realised that MFP also supports connecting over TCP/UDP (and much more) I’ll be giving MFP a try to see if I can get that “random” motion for unscripted axes even better than with my current setup.
Yeah it’s super feature rich. And soooo many of the features in there are in response to community feedback as well. I’m gonna make another tutorial on how I setup my hotkeys for edging.
Thank you for this
Few notes from me:
- The “link script” is pretty optional, I just use random motion provider without linking scripts and it works very good.
- You are using rather old version of MultiFunPlayer, so for example “smart limit” is no longer a toggle and is fully configurable, this is current configuration to match the old toggle (points at (25, 100) and (90, 0)):
- Auto-home duration is just how long it will take to home to default value
Oh, man, I just can’t wait for my SR6 to arrive in the mail so I can start trying these things out. Many thanks for this lucid and simple tutorial.
I would be keen to hear about what settings people enjoy for the blend value of random vs script and why.
I’m looking forward to the tutorial for how to set up your hotkeys for edging.
This is a great write up. Thanks for making this. Even if there weren’t any mult-axis scripts I was interested in, this function alone really makes me want an OSR.
I noticed a lack of multi-axis too. Obviously I could not let that stand since almost all of my scripts are multi-axis. If you want a super easy way to add multi-axis to a single-axis script, I’d recommend using a Leapmotion controller with Recaxis. I added multi-axis to a couple of scripts that others have written. My multi-axis accuracy to the video is probably pretty poor, but it’s hardly noticeable. The main funscript is where accuracy is felt.
What does this mean, and how do I do it? I’m very confused by what’s happening in the “smart limits” tab.
Click on the smart limits tab of the axis you want apply a limit to. In the graph, double click in the empty space to add a node. If you just add one node in the middle, you will limit the range of motion of that axis to 50% of it’s full output range no matter what position the input commands. But, if you move the one node over to the lower left corner and then add another node to the upper right corner, you will have defined a sliding scale for input vs output so that at the bottom of the range, the movement is constrained to zero, but at the top of the range, the movement is unconstrained so that 100% of the range is available. I use this for the pitch and roll axes which I link to the movement of the L0 axis, plus a little random movement. I want the movements to be larger at the tip, and more limited at the base so as not to bend my cock, so I set up the limits with a node about 30% from the left and about 30% up from the bottom, and then another node about 75% from the left and 100% to the top. This limits the pitch and roll to about 30% movement range from the very bottom up to about 1/3 of the way up, and from there their range of motion increases to 100% by the time L0 is at 80% to the top.
Great write up! I actually didn’t mess too much with mfps features besides running scripts but I was wrong. Nice!
The smart linking is still a bit confusing imo but I will tinker around with it
@StyleMavin Thanks for such a detailed explanation. It’s honestly a bit over my head at the moment, but I’ll read through this some more and hopefully with some trial and error I’ll understand it better.
Can you automate this function in future versions for us dumbdumbs?
Could you show it visually in your screenshots to make it clearer ?
Here is a screenshoot of my R2 smart limits. I have a node on the lower left that makes the R2 (pitch) value not exceed 50% when the L0 value is at zero. This means your cock won’t get bent too hard while you’re balls deep. Then in the middle I have node that limits the R2 value to not more than 76% when the L0 axis is at 24%, so there can be more pitch movment when the stroke is about a quarter of the way up from the base, but it’s still not at maximum. Finally, I have a node on the right that lets the R2 axis go to 100% of it’s value when the L0 value is at 72% or more. This alows full pitching moves towards the tip, like a girl twerking on your schlong, or a girl giving you a great BJ with lots of looking up at you while she sucks the tip, or tilting her chin down to her chest while sucking the tip so she can slither her tongue over the front underside and top of your cock to really make you squirm. Toys with tongues make those moves feel awesome. Let me know if this helps.
-StyleMavin
I feel like the R2 setting makes the biggest difference, but the way I use it with single axis scripts is to link the R2 axis to the L0 axis to created a multi-axis effect. I also use axis inversion, and keybind that setting to a controller button, on the R2 axis to control if the toy is toward or away from me on each stroke. The way I remember what the R2 axis values translate into movement is; imagin a girl giving you head, and as she rises up to the top, her pretty face turns up towards you to look at you as she sucks the tip. This a a positive experience! This a what positive pitch axis values give you! So as the L0 axis values increase from 0-100, so do the pitch axis input values before smart limiting. The inverse button makes it so that as the toy moves to the tip (imagine the girl sucking you) she tilts her chin down to her chest to slither tongue up the underside and over the tip of your dick. That is what negative pitch values cause. Honestly that’s also a poistive experience, but I digress. The smart limiting makes most of that movement happen at the top of the stroke and prevents big moves at the bottom of the stroke.
The R0 Twist setting is also important. See how I have the ouput range limited? I do that so the the toy doesn’t twist 360 degrees since that is not realisitic. I limit it’s range and then assign the set middle offset value to the arrow keys on my keyboard so that I can adjust the twist center position to get the alignment right, because sometimes once a toy is inserted it is twisted to left or right relative to what it’s “correct” position should be. I also use a similar smart limit setting on the R0 axis so that the twist actions are bigger or faster at the top of the L0 range. That’s a matter of personal taste. Keep in mind that I use this settings with random movement generators in mind. If there is a script for an axis, I might turn off these limits so I can see how the scripted values feel.
Start with the R2 axis smart limits and see what you like, then try adjusting the other axes.
I can’t seem to get twist or roll axis doing any automatic randomized movements.
It works for pitch though…I used the same settings to enabled the randomized motions but nothing happens with twist or roll… help?
edit: hmm idk nvm it started working for some reason. The script I had loaded did have pitch, roll, and twist axis scripts I had been working on, but I had set MFP to “bypass” them. This seemed to work fine for pitch but maybe something funky was going on with the other ones? I deleted the scripts and removed any bypass settings, reloaded the video and now they all do random stuff. Neat!
Hi @Yoooi! I’ve been trying to setup MFP with the randomized actions for Single Axis scripts. I have a few questions that I hope you can answer.
- In the guide, I saw that I had to set the pitch and roll limits set, does turning on Smart Limit accomplish this or would that be something I would have to wait for the OSR2+ to arrive before tuning? (I think I know the answer, but I just want to be sure before I mess around with more settings)
- Can you verify if these look right? My R1 and R2 have the exact same settings, everything pointing to L0.
Link Script
Motion
Smart Limit
Smart Home
Also, I noticed there’s a red dot in R1, not entirely sure why. Do you know the reason for that? Any help is appreciated!
MFP by default enables random motion on R0/R1/R2 so you dont really need to do anything.
If you mean tuning the range then thats something you have to do with a device to see what works for you.
If you use small range limits for pitch/roll you dont have to use smart limit, you use it when you want to have full range at the bottom of the stroke, but a small range at the top.
Dunno what is right, it depends what you want. The defaults will give you random motion for R0/R1/R2, you used script link and non standard motion provider blend, so all linked axes will use the same script with some random offset added, it wont be fully random.
You can hover over the dots and it will show you what is what.
Red more or less means that one of the features will modify the playing script on that axis.
Has anyone tried MFP with Hersphere? When using MPV the scripts auto load (same name script) whent eh video is selected but not when using hersphere.
You might want to start with what version of HereSphere VR you are using…
Hello, I’ve used this guide to set up the “quiet AliExpress” SR6 I received yesterday.
I’m streaming the script through DeoVR / SLR on a Quest 3 and the output is working to the SR6.
I can get the blended random / script linked motion working for the relevant axis.
The only thing that doesn’t seem to be working as intended is the smart limits. As soon as I put a smart limit on, that axis no longer moves. I can see the red dot is on and when I hover over it says the smart limit is active, almost all the time. It’s like the hand brake is now pretty much permanently on.
As an example, if I turn on the smart limit for the the left / right axis. The SR6 no longer moves left or right. It stays dead centre.
If I turn off the smart limit, I can full range of motion again, but I’d rather have less motion at the bottom and more at the top.
Would anyone with an SR6 be able to share an example of their link, motion and smart limit tab options for say left / right so that I can copy it?
If it’s something else obvious that I’ve missed let me know!
And thanks for the info here, it’s been super helpful.
I think the blend values work differently from how you described it. It seems to control how much of the movement provider blends with a script (if a script is loaded). So it tries to combine/blend the randomness with the loaded script.
I noticed while playing a slow script and blend values set to 50%, the axis barely moved at all. When there is no movement on the R0 axis and there is movement on one of the other ones it tries to blend the random movement (which should be 0 because it’s based on the R0 axis) with the actual script resulting in very little movement.
It’s probably better to set it to 0% because you generally want the loaded script to not blend with the motion provider. This way when a script is loaded it just plays that script and if there is no script loaded it just does whatever the motion provider is set to.
If you want to limit the range of that axis you need to use the slider in the advanced settings instead.