Welcome to VRChatNext.
The projects we have:
一个小工具,通过接受 VRChat Avatar 的 OSC 消息,使用 Websocket 协议联动郊狼 DG-LAB 3.0 ,达到游戏中Avatar被别人/自己触摸,就会被郊狼电的效果。
我们的 VRChat 群组: ShockingVRC https://vrc.group/SHOCK.2911
[!CAUTION] 您必须阅读并同意 安全须知 (Safety Precautions in English) 后才可以使用本工具!
settings-v*.*.yaml
中填入 avatar_params
与工作模式(shock/distance)。settings-advanced-v*.*.yaml
内容,参数含义请查看进阶配置文件参考。配置文件格式 yaml
, 当前配置文件版本: v0.2
。
dglab3:
channel_a:
avatar_params:
# 此处填写 OSC 监听参数组,可以使用通配符 * 匹配任意字符串,注意保留正确缩进与前缀的 “- ”
# 可参考 https://python-osc.readthedocs.io/en/latest/dispatcher.html#mapping
- /avatar/parameters/pcs/contact/enterPass
- /avatar/parameters/Shock/wildcard/*
mode: distance # 工作模式,此处为距离模式
strength_limit: 100 # 强度限制,程序将取该强度与主机设置的强度中最大的一个
channel_b:
avatar_params:
- /avatar/parameters/lms-penis-proximityA*
- /avatar/parameters/ShockB2/some/param
mode: shock # 工作模式,此处为电击模式
strength_limit: 100
version: v0.2
本部分请协助补充描述与解释。
SERVER_IP: null # 为 null 时程序将尝试自动获取本机 IP,如果获取错误,请将null修改为正确的 IP 地址(手机可以访问到电脑的 IP ,通常为有线网络或 WiFi )
dglab3:
channel_a: # 通道 A 配置
mode_config: # 工作模式配置
distance:
# 该项目下的参数仅对 distance 距离模式生效
freq_ms: 10
# 生成波形的频率(间隔毫秒),推荐 10
# 详细请参考 DG-LAB-OPENSOURCE 蓝牙协议V3 的波形部分
shock:
# 该项目下的参数仅对 shock 电击模式生效
duration: 2
# 触发后的电击时长
wave: '["0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464"]'
# 电击波形
trigger_range:
# 触发阈值设置,对所有模式生效,范围 0 ~ 1
bottom: 0.0 # OSC 回报参数触发下界(低于视为 0%)
top: 0.8 # OSC 回报参数触发上界(超过视为 100%)
channel_b: # 通道 B 配置,参数设置与 A 通道相同
mode_config:
distance:
freq_ms: 10
shock:
duration: 2
wave: '["0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464","0A0A0A0A64646464"]'
trigger_range:
bottom: 0.1
top: 0.8
general: # 通用配置
auto_open_qr_web_page: true # 程序启动时自动开启扫码 Web 页面
local_ip_detect: # 探测本地 IP 时使用的服务器地址
host: 223.5.5.5 # 默认为 AliDNS 如果在中国大陆以外使用,请适当修改
port: 80
log_level: INFO # 日志等级,诊断问题时可以改为 DEBUG
osc: # OSC 服务配置
listen_host: 127.0.0.1 # 如果 VRChat 在其他主机运行,请改为 0.0.0.0,并给 VRChat 正确配置 osc 启动命令行参数。
listen_port: 9001
version: v0.2 # 配置文件版本
web_server: # Web 服务器配置
listen_host: 127.0.0.1 # 如果需要从其他主机打开网页扫码,请改为 0.0.0.0
listen_port: 8800
ws: # Websocket 服务配置
listen_host: 0.0.0.0
listen_port: 28846
master_uuid: 6da2fd3b-a6e5-4af4-afc1-96bfd2e9e95c # 首次启动自动随机生成
settings-v*.*.yaml
基础配置文件内的 strength_limit
也会限制强度上限,如果超过默认值 100,需要调整该参数。/avatar/parameters/pcs/contact/enterPass
同时复制进基础配置文件 settings-v*.*.yaml
内 channel_a
和 channel_b
的 avatar_params
列表内,请注意缩进与行首的 -
。报错中显示 OSC监听失败
或包含 create_datagram_endpoint
的 WinError 10048
为该问题。该问题一般是和面捕软件冲突导致。
Exception in thread Thread-1 (async_main_wrapper):
Traceback (most recent call last):
...
File "shocking_vrchat.py", line 143, in async_main_wrapper
...
File "shocking_vrchat.py", line 135, in async_main
File "asyncio\base_events.py", line 1387, in create_datagram_endpoint
File "asyncio\base_events.py", line 1371, in create_datagram_endpoint
OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
osc-repeater_x.x.x_windows_amd64.exe
同目录创建配置文件,名为 config.yaml
,文件内容:
listenPorts:
- 9001
targets:
- "127.0.0.1:9011"
- "127.0.0.1:9021"
9001
为实际端口号9011
,保存后退出面捕软件settings-advanced-v*.*.yaml
进阶配置,设置 osc
的 listen_port
为 9021
osc-repeater
、面捕程序、ShockingVRChat*以后使用时只执行步骤 7 即可,如果只用面捕也需要启动 osc-repeater
--osc=9000:127.0.0.1:9001
的配置,如有,请修改进阶配置文件,osc
listen_port
的值为最后一个冒号后的值,如 9001。strength_limit
取一最小值设置为最大强度。trigger_range
配置。SERVER_IP:
填写正确的 IP 地址后重启程序再试。感谢 DG-LAB-OPENSOURCE ,赞美 DG-LAB 的开源精神!
感谢以下用户对常见参数部分的协助:ichiAkagi
为了您能健康地享受产品带来的乐趣,请在使用前确保已阅读并理解本安全须知的全部内容。
错误使用本产品可能对您或者他人造成伤害,由此产生的责任将由您自行承担。
感谢您选择DG-LAB系列产品,用户的安全始终是我们的第一要务。
本产品为情趣用品,请保证在安全,清醒,自愿的情况下使用。并将其放置于未成年人接触不到的地方。
本安全须知大约需要2分钟阅读。