504 lines
11 KiB
Markdown
Raw Normal View History

2025-07-18 13:14:28 +08:00
---
title: XiaoZhiAI_server32_Unity
description: 基于Unity的小智AI视觉交互服务实现语音与Live2D多模态人机交互体验
---
# XiaoZhiAI_server32_Unity
<div class="project-header">
<div class="project-logo">
<img src="./images/logo.png" alt="Unity Logo">
</div>
<div class="project-badges">
<span class="badge platform">跨平台</span>
<span class="badge language">C#/Unity</span>
<span class="badge status">活跃开发中</span>
</div>
</div>
## 项目简介
XiaoZhiAI_server32_Unity是一个基于Unity开发的AI应用程序专注于提供高质量的语音交互和网络服务功能。本项目利用Unity的跨平台特性支持多种设备和操作系统包括PC、Android、iOS、WebGL和微信小程序为用户提供流畅的AI语音与Live2D交互体验。
## 技术架构
XiaoZhiAI_server32_Unity基于以下技术栈构建
- **开发引擎**Unity 2020.3或更高版本
- **目标平台**PC、Android、iOS、WebGL、微信小程序
- **核心功能模块**
- **语音交互系统**:实时语音识别、自然语言处理、语音合成
- **Live2D交互**服务端返回LLM表情交互Live2D
- **Mqtt硬件交互**服务端functioncall处理IoT返回
- **依赖包**
- OPUS解码SDK
- WebSocket网络通信库
- YooAsset资源管理框架2.3.7版本
- YuikFrameWork (YOO分支)
- Hycrl热更新框架
## 核心功能
### 语音交互能力
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">🎤</div>
<h3>实时语音识别</h3>
<p>支持多种语言的实时语音转文字准确率高达95%以上</p>
</div>
<div class="feature-card">
<div class="feature-icon">🧠</div>
<h3>自然语言理解</h3>
<p>基于深度学习的语义分析,精准理解用户意图</p>
</div>
<div class="feature-card">
<div class="feature-icon">🔊</div>
<h3>语音合成</h3>
<p>自然流畅的语音输出,支持多种音色和语速调节</p>
</div>
<div class="feature-card">
<div class="feature-icon">🤖</div>
<h3>Live2D表情交互</h3>
<p>根据LLM返回结果实现实时表情变化和情感表达</p>
</div>
<div class="feature-card">
<div class="feature-icon">📱</div>
<h3>IoT与Mqtt对接</h3>
<p>通过functioncall实现智能家居设备控制和状态反馈</p>
</div>
<div class="feature-card">
<div class="feature-icon">🔄</div>
<h3>热更新支持</h3>
<p>基于Hycrl框架的热更新能力无需重装即可升级</p>
</div>
</div>
## 环境要求
### 开发环境
- Unity版本2020.3或更高
- 操作系统Windows 10/11开发环境
### 运行环境
- **PC平台**
- 操作系统Windows 10/11、macOS 10.14+
- 处理器Intel i5或同等性能
- 内存8GB以上
- 显卡支持DirectX 11
- **移动平台**
- Android 6.0+
- iOS 11.0+
- **Web平台**
- 支持WebGL 2.0的现代浏览器
- **硬件要求**
- 麦克风支持16kHz采样率的高质量麦克风语音交互
- 网络稳定的网络连接建议5Mbps以上带宽
## 项目结构
```
XiaoZhiAI_server32_Unity/
├── Assets/ # Unity资源文件
│ ├── Scenes/ # 场景文件
│ ├── Scripts/ # 脚本文件
│ │ ├── VoiceInteraction/ # 语音交互相关脚本
│ │ ├── Networking/ # 网络通信相关脚本
│ │ └── ...
│ ├── Prefabs/ # 预制体
│ ├── Plugins/ # 第三方插件
│ │ ├── VoiceSDK/ # 语音识别SDK
│ │ └── NetworkLibs/ # 网络库
│ └── ...
├── Packages/ # 项目依赖包
├── ProjectSettings/ # Unity项目设置
└── README.md # 项目说明文档
```
## 安装指南
### 开发者安装
1. 克隆仓库到本地:
```bash
git clone https://gitee.com/vw112266/XiaoZhiAI_server32_Unity.git
```
2. 安装依赖包:
- 手动引入YooAsset资源管理框架v2.3.7https://github.com/tuyoogame/YooAsset
- 手动引入YuikFrameWork-YOO分支https://gitee.com/NikaidoShinku/YukiFrameWork
3. 使用Unity Hub打开项目并确保Unity版本兼容
### 用户安装
1. 从发布页下载对应平台的安装包
2. 按照向导完成安装
3. 启动应用并完成初始配置
## 功能特性展示
### Live2D交互
<div class="feature-highlight">
<div class="highlight-content">
<h3>表情丰富的Live2D模型</h3>
<ul>
<li>根据对话内容实时改变表情</li>
<li>支持多种情感状态表达</li>
<li>精准的口型同步</li>
<li>自然的眨眼和头部动作</li>
<li>可定制的角色形象</li>
</ul>
</div>
<div class="highlight-image">
<img src="./images/界面1.png" alt="演示界面" >
</div>
</div>
### IoT智能控制
<div class="feature-highlight reverse">
<div class="highlight-content">
<h3>家居设备智能控制</h3>
<ul>
<li>通过语音控制智能家居设备</li>
<li>基于functioncall的智能意图识别</li>
<li>支持多种MQTT协议设备</li>
<li>设备状态实时反馈</li>
<li>场景联动与自动化</li>
</ul>
</div>
<div class="highlight-image">
<img src="./images/界面2.png" alt="演示界面">
</div>
</div>
## 开发计划
<div class="roadmap">
<div class="roadmap-item done">
<div class="status-dot"></div>
<div class="item-content">
<h4>已完成功能</h4>
<ul>
<li>基础语音交互系统</li>
<li>Live2D模型集成</li>
<li>WebSocket网络通信</li>
<li>基础MQTT支持</li>
</ul>
</div>
</div>
<div class="roadmap-item progress">
<div class="status-dot"></div>
<div class="item-content">
<h4>开发中功能</h4>
<ul>
<li>更多Live2D模型支持</li>
<li>表情系统优化</li>
<li>移动平台性能优化</li>
<li>更多IoT设备支持</li>
</ul>
</div>
</div>
<div class="roadmap-item planned">
<div class="status-dot"></div>
<div class="item-content">
<h4>计划功能</h4>
<ul>
<li>微信小程序集成</li>
<li>AR互动体验</li>
<li>多角色场景支持</li>
<li>用户自定义模型系统</li>
</ul>
</div>
</div>
</div>
## 贡献指南
我们欢迎社区开发者参与XiaoZhiAI_server32_Unity项目的开发
- 提交bug报告和功能建议
- 贡献代码改进和新功能
- 创建和分享Live2D模型
- 优化性能和用户体验
- 完善文档和教程
请参考我们的贡献指南,了解如何参与项目开发。
## 相关链接
- [项目仓库](https://gitee.com/vw112266/XiaoZhiAI_server32_Unity)
<style>
.project-header {
display: flex;
align-items: center;
margin-bottom: 2rem;
}
.project-logo {
width: 100px;
height: 100px;
margin-right: 1.5rem;
}
.project-logo img {
width: 100%;
height: 100%;
object-fit: contain;
}
.project-badges {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.badge {
display: inline-block;
padding: 0.25rem 0.75rem;
border-radius: 1rem;
font-size: 0.85rem;
font-weight: 500;
}
.badge.platform {
background-color: var(--vp-c-brand-soft);
color: var(--vp-c-brand-dark);
}
.badge.language {
background-color: rgba(59, 130, 246, 0.2);
color: rgb(59, 130, 246);
}
.badge.status {
background-color: rgba(16, 185, 129, 0.2);
color: rgb(16, 185, 129);
}
.project-images {
display: flex;
gap: 1rem;
margin: 2rem 0;
overflow-x: auto;
}
.image-container {
flex: 1;
min-width: 300px;
border-radius: 8px;
overflow: hidden;
border: 1px solid var(--vp-c-divider);
}
.image-container img {
width: 100%;
height: auto;
object-fit: cover;
}
.architecture-diagram {
margin: 2rem 0;
text-align: center;
}
.diagram-container {
max-width: 100%;
border-radius: 8px;
overflow: hidden;
border: 1px solid var(--vp-c-divider);
}
.diagram-container img {
max-width: 100%;
height: auto;
}
.features-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.feature-card {
background-color: var(--vp-c-bg-soft);
border-radius: 8px;
padding: 1.5rem;
transition: transform 0.3s ease, box-shadow 0.3s ease;
border: 1px solid var(--vp-c-divider);
height: 100%;
}
.feature-card:hover {
transform: translateY(-5px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.feature-icon {
font-size: 2rem;
margin-bottom: 1rem;
}
.feature-card h3 {
color: var(--vp-c-brand);
margin-top: 0;
margin-bottom: 0.5rem;
}
.feature-highlight {
display: flex;
margin: 3rem 0;
background-color: var(--vp-c-bg-soft);
border-radius: 12px;
overflow: hidden;
border: 1px solid var(--vp-c-divider);
}
.feature-highlight.reverse {
flex-direction: row-reverse;
}
.highlight-image {
flex: 1;
min-width: 40%;
}
.highlight-image img {
width: 100%;
height: 100%;
object-fit: cover;
}
.highlight-content {
flex: 1;
padding: 2rem;
}
.highlight-content h3 {
color: var(--vp-c-brand);
margin-top: 0;
margin-bottom: 1rem;
}
.highlight-content ul {
padding-left: 1.5rem;
}
.highlight-content li {
margin-bottom: 0.5rem;
}
.roadmap {
position: relative;
margin: 3rem 0;
padding-left: 2rem;
}
.roadmap:before {
content: "";
position: absolute;
left: 7px;
top: 0;
bottom: 0;
width: 2px;
background-color: var(--vp-c-divider);
}
.roadmap-item {
position: relative;
margin-bottom: 2rem;
}
.status-dot {
position: absolute;
left: -2rem;
top: 0;
width: 16px;
height: 16px;
border-radius: 50%;
z-index: 1;
}
.roadmap-item.done .status-dot {
background-color: rgb(16, 185, 129);
}
.roadmap-item.progress .status-dot {
background-color: rgb(245, 158, 11);
}
.roadmap-item.planned .status-dot {
background-color: rgb(99, 102, 241);
}
.item-content {
background-color: var(--vp-c-bg-soft);
border-radius: 8px;
padding: 1.5rem;
border: 1px solid var(--vp-c-divider);
}
.item-content h4 {
margin-top: 0;
margin-bottom: 1rem;
}
.roadmap-item.done h4 {
color: rgb(16, 185, 129);
}
.roadmap-item.progress h4 {
color: rgb(245, 158, 11);
}
.roadmap-item.planned h4 {
color: rgb(99, 102, 241);
}
pre {
background-color: var(--vp-c-bg-soft);
border-radius: 8px;
padding: 1.5rem;
overflow-x: auto;
}
@media (max-width: 768px) {
.feature-highlight,
.feature-highlight.reverse {
flex-direction: column;
}
.highlight-image {
height: 200px;
}
.project-header {
flex-direction: column;
align-items: flex-start;
}
.project-logo {
margin-bottom: 1rem;
}
.project-images {
flex-direction: column;
}
}
</style>