Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ggg123124/TouchCamVR

Repository files navigation

TouchCamVR

English | 简体中文

一个通过网页触控界面远程控制 VRChat 内置相机参数的工具。无需在头显内操作菜单,即可在平板或手机上精细调整相机设置,非常适合虚拟摄影师使用。

✨ 特性

  • 双操控模式:提供两种触控逻辑,适应不同操作习惯。
    • 区域分割模式:屏幕左侧控制焦距(Focal Distance)和光圈(Aperture),右侧控制变焦(Zoom)和曝光(Exposure)。
    • 手指计数模式:单指控制变焦/曝光,双指控制焦距/光圈,通过滑动方向区分具体功能。
  • 直观的视觉反馈:实时显示触摸点,并提供当前操作模式的文字提示。
  • OSC 通信:通过 WebSocket 和 OSC 协议与 VRChat 稳定通信。
  • 响应式设计:适配各种移动设备屏幕,支持全屏操作。
  • 参数限制与节流:服务器端确保相机参数在合理范围内,并对高频操作进行节流,保证流畅性。

🎥 视频演示

观看实际操作演示,了解 TouchCamVR 的工作方式:

TouchCamVR 演示

🛠️ 技术栈

  • 前端: HTML5, CSS3, Vanilla JavaScript (使用 Touch Events API)
  • 后端: Python 3, Tornado (WebSocket 服务器), python-osc
  • 通信协议: WebSocket, OSC (Open Sound Control)

🚀 使用说明

  1. 确保 VRChat 启用 OSC

    • 在 VRChat 设置中,找到 OSC 选项卡。
    • 启用 OSC 选项。
  2. 启动 TouchCamVR 服务器

    python main.py
  3. 连接设备

    • 确保你的移动设备(手机/平板)和运行 VRChat 的电脑在同一个局域网下。
    • 在移动设备的浏览器中访问:http://<你的电脑IP地址>:8888
    • 例如:http://192.168.1.100:8888
  4. 开始控制

    • 界面上的两个按钮分别用于切换全屏切换控制模式(需双击)。
    • 根据屏幕提示或按钮上显示的模式名称,在触控区域内使用手势即可控制 VRChat 相机。

⚙️ 配置

服务器启动前,你可以根据你的网络环境修改 main.py 文件中的配置项:

HTTP_PORT = 8888  # 网页服务器端口,如果冲突可以修改
OSC_IP = "127.0.0.1"  # OSC 目标 IP,通常不需要修改(除非 VRChat 在其他电脑上)
OSC_PORT = 9000       # OSC 目标端口,确保与 VRChat 设置中的 OSC 监听端口一致
OSC_SEND_INTERVAL = 1.0 / 60.0  # OSC 发送频率限制(秒),默认 ~60Hz

📦 安装与运行

  1. 克隆本项目

    git clone https://github.com/ggg123124/TouchCamVR
    cd TouchCamVR
  2. 安装 Python 依赖

    pip install tornado python-osc
  3. 运行服务器

    python main.py
  4. 按照上方 使用说明 的步骤操作即可。

🎮 控制逻辑详解

区域分割模式 (默认)

  • 左侧屏幕区域
    • 垂直滑动:控制 Focal Distance (焦距距离)
    • 水平滑动:控制 Aperture (光圈)
  • 右侧屏幕区域
    • 垂直滑动:控制 Zoom (变焦)
    • 水平滑动:控制 Exposure (曝光)

手指计数模式

  • 单指触摸:进入 Zoom/Exposure 控制状态。
    • 首次滑动方向决定后续操作:
      • 垂直滑动:控制 Zoom
      • 水平滑动:控制 Exposure
  • 双指(及以上)触摸:进入 Focal/Aperture 控制状态。
    • 首次滑动方向决定后续操作:
      • 垂直滑动:控制 Focal Distance
      • 水平滑动:控制 Aperture

❓ 常见问题

Q: 连接不上怎么办? A: 请依次检查:

  1. VRChat 中的 OSC 是否已启用。
  2. 电脑的防火墙是否允许了 8888 端口的连接。
  3. 移动设备输入的 IP 地址和端口是否正确。

Q: 操作没有反应? A: 请检查:

  1. main.py 中的 OSC_IPOSC_PORT 是否与 VRChat 设置匹配。
  2. 浏览器控制台 (Console) 和服务器日志是否有错误信息。

📝 待办与贡献

  • 实现更多相机参数的控制(如 FlySpeed, TurnSpeed 等)。
  • 提供 Web 界面的参数自定义面板。
  • 增加多语言支持。
  • 打包为桌面应用或移动端 App,简化部署流程。

欢迎提交 Issue 和 Pull Request!

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。


免责声明: 此工具与 VRChat Inc. 无关。请合理使用,遵守 VRChat 社区准则。


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published