Advanced Search
Search Results
11 total results found
Udon 网络同步
学习案例来自 UKeyboard 包内的源码 Udon 里进行网络同步的两种方法: 1、通过标注 此方法适合简单的不重要的数据,当网络繁忙时,旧数据有概率被新数据覆盖。 通过将udon的网络同步Attributes特性:[UdonSynced] 标注在成员上时,Udon会定期将其值同步给每一个玩家。 在同步前会进行序列化和反序列化, OnPreSerialization() 预序列化 OnDeserialization() 反序列化 具体逻辑: 当某一玩家对标注[UdonSynced] ...
碰撞盒触发
简单实用,实用 Udon 现成的方法:OnCollisionEnter(Collision collision) 实现两个物体碰撞后消失,并出现第三个物体, 创建 ABC 三个默认立方体, 在 Udon 脚本中定义两个物体,将脚本挂在A物体上, B、C物体,拖入脚本对应位置。C物体处于未激活状态, [SerializeField] private GameObject B; [SerializeField] private GameObject C; OnCollisionEnter(Co...
使用OSC与外部程序通讯
在VRChat中开启了OSC功能后, 当Avatar中定义过的参数发生变化时,VRChat就会通过OSC向外部发送数据: IP:127.0.0.1(本地IP) 9001为VRChat发出的端口,我们的程序接收这个端口的消息。 IP:127.0.0.1(本地IP) 9000是VRChat接收的端口,要给VRChat发消息通过这里。 面捕程序VRCFaceTracking也是通过此方法传递面捕的参数。 如果需要多个程序连接,要用到VOR作为路由器。 github.com/SutekhVRC/VOR 在...
[通用] 编辑器自动保存
防止各种意外崩溃导致未保存的内容丢失,可以按照需求删减或修改 。 使用方法:在Assets内创建一个C#脚本,删除脚本内预制的代码,将以下代码黏贴到脚本内,保存后即可生效。 #if UNITY_EDITOR using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using UnityEditor.SceneManagement; [Initia...
Udon奇葩报错收集
这里收集了我遇到过的麻烦的报错,已开放权限,大家有其他报错也可以在这里补充~ 请将已找到解决办法的报错在这里追加,方便后来的小伙伴查询,没有找到解决办法的建议群里询问。 1,正常界面无报错,上传世界时弹框提示,世界更改无法上传。 The VRCSDK build was aborted because the IVRCSDKPreprocessSceneCallback 'AssignSceneNetworkIDs' reported a failure. 控制台和Builder提示报错: Uploa...
新页面
这里收集了我遇到过的麻烦的报错,已开放权限,大家有其他报错也可以在这里补充~ 请将已找到解决办法的报错在这里追加,方便后来的小伙伴查询,没有找到解决办法的建议群里询问。 还存在已删除的脚本幽灵一般的再次生效的情况,应该是缓存问题。 总之为了避免此类bug,请尽量避免删除或创建非必要的脚本。
四、将翻译的内容通过OSC传给VRChat显示在角色头顶
基本流程: 新增依赖:脚本现在需要 python-osc 库。如果尚未安装,请运行: Bash pip install python-osc OSC客户端初始化: 在脚本开头导入 argparse 和 pythonosc.udp_client。 在 main() 函数的开始部分,设置 argparse 来获取 OSC 服务器的 IP 和端口(默认为 127.0.0.1:9000)。 初始化 SimpleUDPClient。 ...
三、使用Ollama进行翻译
Ollama 实现以下功能: 获取 Ollama 模型列表:在脚本开始时,连接到本地 Ollama 服务,获取可用的模型列表,并让用户选择一个用于翻译。 选择目标翻译语言:让用户从中(中文)、日(日文)、英(英文)、韩(韩文)四种语言中选择一个作为翻译的目标语言。 翻译识别内容:将 FunASR 识别出的文本发送给选定的 Ollama 模型进行翻译。 逐行打印结果:在控制台清晰地打印出识别的原文和 Ollama翻译后的译文。 前提条件: FunASR API 服务正在运行:确保您之前的 fu...
二、录制麦克风并向FunASR API 发送录音实现语音识别
目前需要执行以下操作: 列出可用的麦克风设备,并让您选择一个。 持续监听所选麦克风的音频输入。 当检测到音量超过预设阈值并持续一段时间(例如0.3秒)后,开始录制音频。 当音量低于预设阈值并持续一段时间(例如0.5秒)后,停止录制。 将录制好的音频发送到 FunASR API (http://localhost:5000/transcribe) 进行语音识别。 打印 API 返回的识别文本。 重要前提: FunASR API 服务正在运行:请确保您之前创建的 funasr_api_se...
一、创建FunASR的API服务便于联网调用
计划与准备 使用 Flask 创建的 Python API,它接受音频流(作为上传文件),利用 funasr 库和 SenseVoiceSmall 模型进行转录,并返回识别出的文字。该 API 将持续运行直到你停止服务器。 需要安装了 funasr 及其依赖(如 PyTorch 和适当的 CUDA 环境如果使用 GPU),并且 SenseVoiceSmall 模型可用或可以通过 funasr 下载。 实现步骤: 设置一个 Flask Web 服务器。 funasr 模型将在服务器启动时加载一次,以节省...
五、添加webui以及一些优化
这里新增了一个简单的webui,便于修改麦克风、API地址等 优化方面:为录音开始增加了一个缓冲以保证录音完整。 import sounddevice as sd import numpy as np import requests import wave import io import time import threading import queue import json import argparse import gradio as gr from pythonosc i...