English
This release uses a simple two-part setup for Operation Lovecraft: Fallen Doll:
- The Fallen Doll Mod runs with the game and writes a compact live motion stream.
- Motion Bridge is the new standalone Windows application. It reads that stream, shows the six-axis motion and 3D device preview, and sends output to your hardware.
They are designed to be used together.
Game pages:
Motion Bridge
- Real-time six-axis
L0/L1/L2/R0/R1/R2motion for SR6; OSR2 usesL0. - USB TCode, Wi-Fi UDP TCode (default:
tcode.local:8000), and Intiface Desktop output. - Compatible with Intiface Central 3.1.1.
- A separate live SR6/OSR 3D preview, which can stay on top of the game window.
- Per-axis gain, inversion and output-range controls, cross-axis smart limits with an editable two-point curve, hard speed limits, output switches, and configurable return positions. Return positions default to
50%and are used for stream-loss return, explicit stop, startup safety and disabled axes. Position, Range, preferred interval and learned travel are shown consistently as0–100%; each axis has its own invert switch immediately left of the preferred-range button. A selected driver axis can dynamically reduce another axis’ range or response speed. Axis cards and the 3D preview show the final protected signal even while hardware output is disarmed. Settings are saved with the portable app. - Safe startup: output always begins disarmed. On stream loss, motion briefly holds and then returns smoothly to centre.
- English and Simplified Chinese UI.
- Use the matching Mod branch for Fallen Doll Demo or Fallen Doll Playtest.
- The Mod also includes additional support for humanoid actions.
Current Fallen Doll Mod update
- Demo / Legacy 0.49 Mod v0.17.3: adds a guided one-click installer for Demo Desktop, Demo VR and Legacy 0.49. It can locate Steam installations automatically, provides a folder picker fallback, checks runtime-folder write access, verifies the installed files and writes
Install-Mod.logwhen troubleshooting is needed. - Playtest 0.9.0 Mod v0.17.6: adds the same guided installation and verification flow for Playtest, and fixes the PowerShell path-resolution failure caused by installer status text entering the detected path result.
Install and use
- Download the latest Fallen Doll Mod release for your game version, then close the game.
- Extract the complete Mod package, then double-click
Install Mod.cmd. The current Demo and Playtest packages search the Steam libraries, show the detected destination, check runtime-folder write access, install the Mod, and verify the required files. The Demo package first asks you to choose Demo Desktop, Demo VR, or Legacy 0.49. If automatic detection fails, select the top-level game folder when prompted or follow the manual steps below. - Download and extract the latest Motion Bridge portable ZIP, then start
MotionBridge.exe. - Start Fallen Doll and enter an HAnime. In Motion Bridge, wait until STREAM shows ONLINE.
- Open the 3D preview and verify that the motion looks correct before connecting hardware.
- Choose one output method: USB, Wi-Fi, or Intiface. Check the port/address, set safe per-axis ranges, then explicitly select ARM OUTPUT. For Intiface, connect the hardware in Intiface Central first.
Manual Mod installation (fallback only)
- Close Fallen Doll completely and extract the entire downloaded Mod ZIP.
- Choose the destination that matches the exact game edition:
| Edition | Destination inside the game folder |
|---|---|
| Playtest | Paralogue\Binaries\Win64 |
| Demo Desktop | Desktop\WindowsNoEditor\Paralogue\Binaries\Win64 |
| Demo VR | VR\WindowsNoEditor\Paralogue\Binaries\Win64 |
- Open the extracted package’s
Gamefolder. Copy the contents inside it—dwmapi.dlland theue4ssfolder—into the destination above. Do not copy the outerGamefolder itself. Allow Windows to mergeue4ssand replace the packaged Mod files when prompted. - Confirm that the selected destination contains these three paths:
<destination>
├─ dwmapi.dll
└─ ue4ss
├─ UE4SS.dll
└─ Mods
└─ fd_tcode_probe
└─ Scripts
└─ main.lua
- Start Motion Bridge, then start Fallen Doll and enter an HAnime. The Mod intentionally adds no in-game menu, overlay, or debug console. A working installation is shown by Motion Bridge changing from STREAM WAITING to STREAM ONLINE after fresh motion frames arrive.
- If the stream remains waiting, open
<destination>\ue4ss\UE4SS.logand check whether%USERPROFILE%\.f8\studio\games\fallen-doll\runtime\fd-skeleton.ndjsonexists and continues updating during the HAnime.
Do not arm output until the preview is correct. Stop/disarm the app before changing hardware or testing a new pose.
If you encounter a problem, please leave a reply in this topic with your game version, the scene/action, and any relevant error details.
Troubleshooting — STREAM WAITING
MotionBridge and the Mod do not make a network connection to each other. The Mod writes a local motion file and MotionBridge reads the same file:
%USERPROFILE%\.f8\studio\games\fallen-doll\runtime\fd-skeleton.ndjson
STREAM WAITING means that MotionBridge has not received a new valid bone frame recently. Check these points in order:
- Use the Mod release matching the exact game edition. Do not assume the repository’s Latest release matches Demo, Playtest, or another installation.
- Confirm the Mod is installed beside the game executable using the edition-specific destination table above. A working destination contains
dwmapi.dll,ue4ss\UE4SS.dll, andue4ss\Mods\fd_tcode_probe\Scripts\main.lua. - Open
<destination>\ue4ss\UE4SS.logafter starting the game. This distinguishes UE4SS not injecting from the Lua Mod not loading. - Enter a recognised HAnime, then check whether
fd-skeleton.ndjsonexists and its modified time continues to change while the action is running. - Check for old
F8STUDIO_GAMES_DIRorFD_TCODE_RUNTIME_DIRenvironment variables. Either one can deliberately redirect the Mod to a different runtime folder.
When reporting this issue, include the game edition and version, the complete downloaded ZIP filename, the relevant UE4SS.log lines, and whether the motion file exists and updates during an HAnime.
Downloads — always use the latest release
- Motion Bridge (Windows x64 portable): latest release and download
- Fallen Doll Mod: all current releases and downloads — download the newest package labelled Demo or Playtest for your game version.
- Discord community: join the MotionBridge Discord
The relevant SHA-256 is published on each Release page. Verify it against the package you download.
Discord community
For ongoing support and release discussion, join the MotionBridge Discord, then use these channels:
- Announcements and download / install help
- Support and troubleshooting
- Bug reports and feature requests
- English community, 中文社区, and showcase
Acknowledgements
Special thanks to @mooomoo and @zpoogz for testing Handy through Intiface and sharing detailed feedback.
Notes and limitations
- This is an unofficial community project; it is not affiliated with the game developers or hardware vendors.
- The packages do not include game assets, device drivers, or Intiface Desktop.
- Intiface support uses the first declared Position-with-duration or plain Position feature and maps it from
L0; it is not a generic SR6 mapping. - The persistent Auto reconnect status button in the Device connection header applies to USB, Wi-Fi and Intiface. It retries detected transport failures with a 0.5–5 second backoff and resumes only output that was already enabled. USB retries a lost serial port; Intiface retries server or device disconnects; Wi-Fi rebuilds output after local network, address-resolution or UDP socket errors. UDP cannot confirm whether the remote device itself is connected. STOP OUTPUT or changing transport always cancels reconnection.
- Intiface declares each device’s output feature and native Value range. Motion Bridge maps the unified L0
0–100%signal into that range automatically: TCode uses0–9999, Handy advertises0–100, and other devices use their own declared limits. The L0 Range remains entirely user-controlled. - For timed-position linear devices, mainly Handy, Motion Bridge retains only the newest L0 target and sends it from a dedicated precise
20 Hztimer. Target arrival time defaults to Automatic, where eachDurationfollows the real timer interval (normally50 ms, automatically adjusted after a delayed tick). Advanced users may select50–100 msmanually in5 mssteps;50–70 msis the practical tuning range, while higher values add more response delay. Ordinary Position remains the fallback; USB/Wi-Fi TCode and vibration output are unaffected. - New or unusual scenes should always be checked in the preview first. Set conservative output ranges for your hardware.
中文
这次更新采用两个组件配合使用:
- Fallen Doll Mod 随游戏运行,输出精简的实时动作数据。
- Motion Bridge 是新的独立 Windows 软件,读取动作数据,提供六轴数值与 3D 设备预览,并将信号发送到设备。
两者需要配合使用。
游戏页面:
Motion Bridge
- SR6 实时六轴
L0/L1/L2/R0/R1/R2;OSR2 使用L0。 - 支持 USB TCode、Wi-Fi UDP TCode(默认
tcode.local:8000)和 Intiface Desktop 输出。 - 兼容 Intiface Central 3.1.1。
- 独立的 SR6/OSR 实时 3D 预览窗口,可置顶显示在游戏上方。
- 每轴增益、反向与输出范围、带双点曲线的跨轴智能限制、硬性速度限制、输出开关和归中位置设置;每轴归中位置默认均为
50%,并用于断流归中、主动停止、启动安全位置和已关闭轴。位置、Range、偏好区间与学习行程统一显示为0–100%,每张轴卡的偏好区间按钮左侧都有独立反向开关。智能限制可根据所选驱动轴的位置,动态缩小另一个轴的行程或响应速度。即使硬件输出未解锁,轴卡和 3D 预览也会显示最终处理后的信号。便携版会保存设置。 - 安全启动:设备输出默认未解锁。数据流中断时会短暂停留,然后平滑回中。
- 支持英文和简体中文界面。
- 请按游戏版本选择 Fallen Doll Demo 或 Fallen Doll Playtest 对应的 Mod 分支。
- Mod 还额外支持类人动作。
当前 Fallen Doll Mod 更新
- **Demo / Legacy 0.49 Mod v0.17.3:**新增适用于 Demo Desktop、Demo VR 与 Legacy 0.49 的引导式一键安装器;支持自动查找 Steam 安装目录、手动选择目录、检查 runtime 写入权限、验证安装文件,并在需要排错时生成
Install-Mod.log。 - **Playtest 0.9.0 Mod v0.17.6:**为 Playtest 增加相同的一键安装和验证流程,并修复安装器状态文字混入检测路径结果所导致的 PowerShell 路径解析错误。
安装与使用
- 根据游戏版本下载最新的 Fallen Doll Mod 发布包,然后关闭游戏。
- 完整解压 Mod 包,然后双击
Install Mod.cmd。当前 Demo 与 Playtest 安装包都会自动搜索 Steam 库,显示检测到的目标位置,检查 runtime 目录写入权限,安装 Mod,并验证必需文件。Demo 安装包会先要求选择 Demo Desktop、Demo VR 或 Legacy 0.49。自动检测失败时,请按提示选择游戏最外层目录,或按照下方步骤手动安装。 - 下载并解压最新版 Motion Bridge 便携包,然后启动
MotionBridge.exe。 - 启动 Fallen Doll 并进入 HAnime。在 Motion Bridge 中等待 STREAM 显示为 ONLINE。
- 打开 3D 预览,先确认动作正确,再连接设备。
- 选择一种输出方式:USB、Wi-Fi 或 Intiface。确认端口/地址,为设备设置安全的各轴范围后,再手动点击 ARM OUTPUT。使用 Intiface 时,先在 Intiface Central 中连接设备。
手动安装 Mod(仅作备用)
- 完全关闭 Fallen Doll,并完整解压下载的 Mod ZIP。
- 根据实际游戏版本选择目标目录:
| 游戏版本 | 游戏目录内的目标路径 |
|---|---|
| Playtest | Paralogue\Binaries\Win64 |
| Demo Desktop | Desktop\WindowsNoEditor\Paralogue\Binaries\Win64 |
| Demo VR | VR\WindowsNoEditor\Paralogue\Binaries\Win64 |
- 打开解压包内的
Game文件夹,将其中的内容——dwmapi.dll和ue4ss文件夹——复制到上方对应的目标目录。不要把外层Game文件夹本身复制进去。Windows 提示时,允许合并ue4ss并替换安装包提供的 Mod 文件。 - 确认所选目标目录最终包含以下三个路径:
<目标目录>
├─ dwmapi.dll
└─ ue4ss
├─ UE4SS.dll
└─ Mods
└─ fd_tcode_probe
└─ Scripts
└─ main.lua
- 先启动 Motion Bridge,再启动 Fallen Doll 并进入 HAnime。此 Mod 不会显示游戏内菜单、浮层或调试控制台;收到新动作帧后,Motion Bridge 从 STREAM WAITING 变为 STREAM ONLINE,才是可见的运行结果。
- 如果数据流一直处于等待状态,请打开
<目标目录>\ue4ss\UE4SS.log,并检查进入 HAnime 后%USERPROFILE%\.f8\studio\games\fallen-doll\runtime\fd-skeleton.ndjson是否存在且持续更新。
预览未确认正确前,请不要解锁输出。更换硬件或测试新姿势前,请先停止/解除输出。
遇到问题请在本帖留言,并尽量提供游戏版本、场景/动作和相关错误信息。
排错 — STREAM WAITING
MotionBridge 和 Mod 之间不是网络连接。Mod 会写入本地动作文件,MotionBridge 读取同一个文件:
%USERPROFILE%\.f8\studio\games\fallen-doll\runtime\fd-skeleton.ndjson
STREAM WAITING 表示 MotionBridge 最近没有收到新的有效骨骼帧。请按以下顺序检查:
- 下载与实际游戏版本完全匹配的 Mod 发布包。不要因为它是仓库的 Latest Release 就假定适用于 Demo、Playtest 或另一套安装。
- 按照上方区分版本的目标目录表,确认 Mod 安装在游戏 EXE 所在目录。正常的目标目录应包含
dwmapi.dll、ue4ss\UE4SS.dll和ue4ss\Mods\fd_tcode_probe\Scripts\main.lua。 - 启动游戏后打开
<目标目录>\ue4ss\UE4SS.log。它可区分 UE4SS 未注入与 Lua Mod 未加载两种情况。 - 进入已识别的 HAnime,再检查
fd-skeleton.ndjson是否存在,以及动作运行期间修改时间是否持续变化。 - 检查旧的
F8STUDIO_GAMES_DIR或FD_TCODE_RUNTIME_DIR环境变量;它们会让 Mod 有意写入另一个运行目录。
反馈该问题时,请附上游戏版本、下载 ZIP 的完整文件名、相关 UE4SS.log 内容,以及 HAnime 运行时动作文件是否存在并持续更新。
下载 — 始终使用最新 Release
- Motion Bridge(Windows x64 便携版): 最新 Release 与下载
- Fallen Doll Mod: 当前全部 Release 与下载 —— 按游戏版本下载名称标有 Demo 或 Playtest 的最新包。
- Discord 社区: 加入 MotionBridge Discord
每个 Release 页面都会发布对应的 SHA-256;请按实际下载的包进行校验。
Discord 社区
请先加入 MotionBridge Discord,再按问题类型进入对应频道:
感谢
特别感谢 @mooomoo 和 @zpoogz 参与 Handy 通过 Intiface 的实机测试,并提供详细反馈。
说明与限制
- 这是非官方社区项目,与游戏开发商和设备厂商没有关联。
- 发布包不包含游戏资源、设备驱动或 Intiface Desktop。
- Intiface 当前使用设备声明的第一个 Position-with-duration 或普通 Position 功能,并由
L0驱动;它不是通用的 SR6 映射。 - “设备连接”标题区的“自动重连”状态按钮同时适用于 USB、Wi-Fi 和 Intiface,并会持久保存。开启后,检测到连接故障时会按 0.5–5 秒退避重试,并且只恢复之前已启用的输出。USB 会重试丢失的串口;Intiface 会重连服务器或设备;Wi-Fi 会在本机网络、地址解析或 UDP 套接字报错后重建输出。UDP 无法确认远端设备本身是否在线。手动停止输出或切换连接方式会立即取消重连。
- Intiface 会声明各设备的输出功能和原生 Value 范围。Motion Bridge 会把统一的 L0
0–100%自动映射到该范围:TCode 使用0–9999,Handy 声明0–100,其他设备使用各自声明的范围;L0 Range 始终由用户自行设置。 - 对支持 Position-with-duration 的线性设备(主要是 Handy),Motion Bridge 只保留最新 L0 目标,并通过独立的精确
20 Hz定时器发送。“目标到达时间”默认使用“自动”,此时每条命令的Duration跟随真实定时周期(通常为50 ms,定时器延迟时自动调整)。高级用户可以按5 ms步进手动选择50–100 ms;50–70 ms是较实用的范围,更高数值会增加响应延迟。普通 Position 仍作为回退;USB/Wi-Fi TCode 和振动输出不受影响。 - 遇到新动作或特殊姿势,请先在预览中确认,并为自己的设备使用保守的输出范围。


