Funscripted

Hardware

Multi-Axis Funscripts: Roll, Pitch, Twist and More

A multi-axis funscript is a set of script files for one video. The main file drives the stroke. Extra files drive other motions, such as roll, pitch and twist, on stroker robots like the OSR2 and SR6.

By the Funscripted team. Updated .

The six motions

Multi-axis scripts use the axis names from T-Code, the protocol these robots speak. L means linear, a straight move. R means rotate, a turn around one of the linear axes.

AxisNameMotion
L0StrokeUp and down
L1SurgeForward and back, away from you and toward you
L2SwayLeft and right
R0TwistTurn around the stroke axis
R1RollTilt to the left and right
R2PitchTilt forward and back

The file name for each axis

Every axis has its own file. All files share the video name and sit in the same folder as the video. The part before .funscript tells the player which axis the file drives.

FileAxisMotion
video.funscriptL0Stroke
video.surge.funscriptL1Surge
video.sway.funscriptL2Sway
video.twist.funscriptR0Twist
video.roll.funscriptR1Roll
video.pitch.funscriptR2Pitch
video.vib.funscriptV0Vibration
video.valve.funscriptA0Suction valve
video.suck.funscriptA1Suction pattern
video.lube.funscriptA2Lube pump

These are the default names in MultiFunPlayer for T-Code v0.3. You can change them in its device settings if a script uses other names.

Which devices play which axes

DeviceAxes it can play
The Handy, Kiiroo Keon, SSR1 and other single-axis strokersStroke only (L0)
OSR2Stroke and roll (L0, R1)
OSR2+Adds pitch (R2)
OSR2 with T-wistAdds twist (R0)
SR6Stroke, surge, sway, roll and pitch (L0, L1, L2, R1, R2), plus twist with the twist receiver

A single-axis device reads only video.funscript and ignores the other files. So a multi-axis script still plays on The Handy or the Keon. You just feel the stroke.

How to play a multi-axis script

  1. 1Put the video and all of its script files in one folder, with the same base name.
  2. 2Open MultiFunPlayer. It finds the files by the video name, in the video folder and in any script library folders you add.
  3. 3Connect MultiFunPlayer to your video player, such as VLC, MPV, DeoVR or HereSphere, or use its own player.
  4. 4Add an output for your robot. Use Serial for a USB cable. ESP32 boards with TCodeESP32 can also use UDP or WebSocket over Wi-Fi.
  5. 5Set a speed limit and range for each axis, then press play.

The robot only moves the axes that have a file. Most multi-axis scripts ship the stroke plus a few extra axes, not all six.

Why Intiface Central is not enough

Intiface Central supports T-Code devices, but only as a single linear axis. It plays the stroke and nothing else. For roll, pitch, twist, surge and sway, use MultiFunPlayer or XTPlayer, a free T-Code player for Windows, Linux and Mac.

Find your next script

Every script on Funscripted is a standard .funscript file that works with the players and devices in our guides.

Frequently asked questions

What is a multi-axis funscript?

It is a group of funscript files for the same video. video.funscript drives the stroke, and files such as video.roll.funscript and video.pitch.funscript drive extra motions on robots like the OSR2 and SR6.

Which file is the main stroke?

The file named exactly like the video, such as video.funscript. It drives the L0 stroke axis.

Can The Handy play multi-axis funscripts?

It plays the main stroke from video.funscript and ignores the other files. The Handy has one axis, so roll, pitch and twist do not apply to it.

What player do I need for multi-axis scripts?

MultiFunPlayer is the main choice. It is free and open source, and it drives every T-Code axis. XTPlayer is another free option.

What do L0, R1 and R2 mean?

They are T-Code axis names. L0 is the stroke, R1 is roll and R2 is pitch. L1 is surge, L2 is sway and R0 is twist.

Related guides

Sources