
这次我们来看一个和 Pico VR 结合紧密的标题“意识争夺战Pico唱”。从命名拆开看它大概率是一个基于 Pico 系列头显的音乐互动类应用——核心玩法是“唱”对抗形式是“争夺”载体是 Pico。目前该项目公开的仓库信息非常有限也没有统一的一键包和官方文档因此这篇文章不适合走“下载整合包双击运行”的套路而是从技术落地角度拆解如果你想在 Pico 设备上做一款类似“意识争夺战”的唱歌对抗应用或者想把传统 K 歌、音游玩法搬到 VR 里需要准备什么、怎么启动、怎么测试、怎么排查。先说结论这类项目最值得关注的不是某个炫酷特效而是三条链路能不能跑通。第一Pico 设备的音频输入与输出链路也就是麦克风采集、监听和延迟控制第二唱歌评分链路包括音高、节拍、歌词进度的实时对齐第三多人对战通信链路本地语音和房间状态的同步。这三条链路跑通后剩下的画面表现和玩法包装才有意义。本文会带读者完成以下内容先梳理“意识争夺战Pico唱”这类 VR 唱歌应用的核心能力与硬件边界然后给出在 Pico 上开发、部署、调试的通用环境准备接着演示音频采集、音准检测、姿态识别、多人对战等典型功能模块的测试方法与效果验证再补充接口调用和批量任务的实现思路最后给出资源占用观察、常见问题排查以及工程化最佳实践。无论你是刚接触 Pico 开发的初学者还是想评估“要不要用 VR 做音游”的技术负责人这篇都可以作为一份直接可用的参考。1. 核心能力速览由于项目现有资料缺失以下表格基于“Pico VR 唱歌对抗”这一类应用的技术要求整理具体参数以你接入的 SDK 版本和真机测试为准。能力项说明项目类型Pico VR 平台上的音乐互动 / 唱歌对抗应用核心玩法玩家通过麦克风演唱系统实时评分结合头部、手部姿态进行“意识争夺”式的互动表现主要硬件Pico Neo 3、Pico 4、Pico 4 Pro 等支持 6DoF 和麦克风输入的头显开发引擎Unity 3D 或 Unreal Engine建议优先使用 Unity 2021 LTS 以上版本启动方式开发者模式 USB 安装 APK或者通过 Pico Developer Center 无线部署音频方案Pico 头显自带麦克风阵列 实时音频处理插件如 Audio Mixer, Native Audio追踪能力6DoF 头部追踪、手柄追踪、Pico 4 Pro 支持眼球追踪和面部追踪联网方式Wi-Fi 局域网对战 / 云服务器房间同步接口能力Pico XR SDK、Pico Sense 能力语音、追踪数据、自建房间和计分服务批量任务曲库批量导入、歌词文件批量解析、音高参考曲线批量生成、测试用例批量跑适合场景VR K 歌、音乐教育、直播互动、多人娱乐房、线下 VR 体验店需要强调的是表格里没有任何一条是项目官方承诺的参数只是这一类应用在 Pico 上跑起来通常要满足的基础条件。你拿到具体工程后应该先对照这份清单确认缺了哪块再决定开发或二次改造的路线。2. 适用场景与使用边界“意识争夺战Pico唱”如果要落地适合的场景集中在需要“身体参与”的音乐娱乐里。普通手机 K 歌只有麦克风信息用户是坐着不动的VR K 歌则能加入头部运动、手臂挥舞、身体位移甚至眼球注视方向。玩家可以通过移动自己来“争夺”舞台聚光灯通过盯住某个目标来触发特效这套体验是传统 K 歌软件做不到的。所以它适合的活动场景包括线下 VR 体验店的多人娱乐区、线上虚拟演唱会互动、音乐教学中的节奏训练、游戏直播间的观众参与环节。但它也有明显的使用边界。首先Pico 设备需要一定的佩戴舒适度和使用时长限制连续戴着唱歌超过半小时可能会疲劳玩法设计上要控制单局时长。其次多人场景对网络和音频延迟非常敏感如果采用云端中转很难避免 200ms 以上的延迟这会对实时合唱造成干扰。更合理的方案是局域网直连或者接受“画面同步演唱为异步上传”的折中设计。最后内容的合规边界必须提前画好曲库里的歌曲需要版权授权玩家翻唱他人作品的传播也需要对应许可如果涉及脸部、声音的录制和上传必须明确告知用户收集哪些信息、保留多久、是否用于模型训练并在隐私政策里写清楚。另外如果后续计划加入语音评测、AI 打分、音色判断、语音合成等功能不要把声音数据直接丢给第三方服务。至少在本地完成匿名化和脱敏处理再决定是否上传。如果面向未成年人还要做内容分级和使用时长限制。这些边界不是项目完成后补的合规文档而是从架构上就要预留开关和授权协议。3. 环境准备与前置条件这类 VR 应用不是纯软件项目工程上只要在 PC 上安装引擎、编译 APK、装进头显就可以调试。但每一步都有容易踩的坑建议按下面的清单逐项确认。3.1 硬件准备你需要一台 Pico 头显和一台开发用 PC。头显建议选 Pico 4 以上原因是它们具备完整的手势和控制器追踪麦克风拾音品质也更好一些。PC 的配置主要用于 Unity/Unreal 编辑和编译 Android APKCPU 八核以上、内存 16GB 以上会比较流畅磁盘预留 60GB 以上给引擎缓存和 Android SDK。如果你还要跑音频分析批处理、生成歌曲参考曲线那么 PC 上需要额外的处理器性能但这部分不会影响 Pico 的实时性能。3.2 开发者模式与系统要求Pico 设备默认不开放 USB 安装权限需要先在设置里开启开发者模式。具体入口有两种消费版设备通常在“设置 - 通用 - 关于本机”里连续点击软件版本号呼出开发者权限企业定制版则可能要通过官网申请激活码。开启后在“设置 - 通用 - 开发者”里打开“USB 调试”和“无线调试”。这一步最容易被忽略很多新手在 Unity 里 Build And Run 失败都是因为 USB 调试没打开。3.3 软件工具链开发“意识争夺战Pico唱”建议使用 Unity 2021 LTS 或 Unity 2022 LTS 作为主引擎。你需要额外安装 Pico XR SDK它提供了设备状态、控制器追踪、HMD 追踪、麦克风权限、系统事件等接口。如果你的 Unity 使用新版本要注意 Pico XR SDK 是否支持对应版本不要盲目拉最新版。Android 构建环境建议使用 Android Studio 和 JDK 11Unity 内置的 Android Build Support 要勾选 OpenJDK 和 Android SDK NDK Tools。音频处理这一块可以直接在 Unity 里用 AudioSource 播放伴奏用 AudioClip 接收麦克风数据但对实时音高检测可能需要接入 Native Plugin 或者使用 AudioMixer 的侧链sidechain做分频。如果不想造轮子中期可以找一个实时音高检测的插件比如支持 YIN 或 autocorrelation 算法的实时库。注意Pico 上的麦克风延迟会受蓝牙耳机影响调试时要使用有线耳机或头显自带扬声器作为监听输出否则评分环节会明显失真。3.4 目录与磁盘规划建议工程目录按资源类型分开避免后续导入资源混乱目录用途Assets/Songs伴奏音频、歌词文件、MV 视频Assets/Reference音高参考曲线、节拍标记、评分配置Assets/ScriptsC# 脚本Assets/PicoSDKPico XR SDK 相关包Builds/Android最终导出 APKTools/Batch批处理脚本用于音频转码、歌词解析这个目录规划看起来很基础但在批量和长期维护场景下非常关键。如果没有目录边界后续加入几十首歌时资源管理会变成灾难。4. 安装部署与启动方式Pico 应用的启动流程和手机 App 类似在 Unity 里导出 Android APK通过 adb 安装到 Pico然后从头显的全家桶或者外部设备列表里启动。下面给出一套通用流程。4.1 Unity 工程配置创建新项目后先导入 Pico XR SDK。在 Project Settings - Player - XR Settings 中开启 “Oculus XR Plugin” 或者选择 Pico XR Plugin具体选项以你下载的 SDK 版本为准。然后配置包名如 com.example.consciousnesssing、最低 API LevelAndroid 10/11 以上、启用 ARM64 架构禁用 Shader 的 Vulkan 异常处理不开启。4.2 开启 Headset USB 调试Pico 连上 PC 后头显里会弹窗允许 USB 调试点击允许。然后 PC 端用 adb 检查adb devices正常输出应该出现一个设备 ID后面跟着device状态。如果出现unauthorized需要点头显上的授权弹窗并重新执行上面命令。4.3 构建并安装 APK在 Unity Build Settings 中选 Android点击 Build And Run。如果阶段生成失败先检查 JDK/SDK 路径如果只生成了 APK 但没有自动安装可以用 adb 手动安装adb install -r Builds/Android/com.example.consciousnesssing.apk安装完成后Pico 的应用列表里会出现 “意识争夺战Pico唱” 对应的包名和图标点击即可启动。还有一种方式是打开 Pico Developer Center在设备列表里选择无线部署但该方式依赖 PC 和头显处于同一局域网且需要开启无线调试适合频繁迭代但不适合首次初始化。4.4 启动与日志查看应用启动后PC 端可以用 Unity 的 Android Logcat 查看日志头显上则要观察启动Logo 是否出现、接入 Wi-Fi 后房间是否正常连接、麦克风权限弹窗是否正常显示。如果看到权限弹窗没有弹出去“设置 - 应用 - 权限管理”手动授予麦克风和存储权限。第一次运行建议只做最小场景也就是“进入场景 - 打开麦克风 - 显示实时分贝”不要一上来就跑完整玩法。4.5 免重复安装的调试脚本建议在工程根目录放一个deploy.bat脚本把构建产物统一打到固定路径然后通过 adb 安装并启动。一个通用版示例adb kill-server adb start-server adb wait-for-device adb install -r Builds/Android/com.example.consciousnesssing.apk adb shell am force-stop com.example.consciousnesssing adb shell am start -n com.example.consciousnesssing/com.unity3d.player.UnityPlayerActivity脚本中包名和 Activity 路径要按自己项目替换。这段脚本的作用主要是减少重复输入命令并且能在无人值守的 CI 机器上完成自动部署。5. 功能测试与效果验证“意识争夺战Pico唱”要验证的功能不是看界面漂不漂亮而是看时序和控制链路。下面按功能模块拆解。5.1 麦克风采集测试测试目的确认 Pico 能正常拾取玩家声音并把音频流传给 Unity。操作步骤在场景里放一个 Text 用于显示麦克风输入音量。代码中申请麦克风权限加载Microphone.Start并在 Update 中读取采样数据计算 RMS 音量。using UnityEngine; using UnityEngine.UI; public class MicLevelTest : MonoBehaviour { public Text text; AudioClip clip; string device; void Start() { device Microphone.devices.Length 0 ? Microphone.devices[0] : null; if (device ! null) { clip Microphone.Start(device, true, 10, 44100); } } void Update() { if (clip ! null Microphone.IsRecording(device)) { float[] data new float[1024]; clip.GetData(data, clip.samples - 1024); float sum 0f; foreach (float s in data) sum s * s; float rms Mathf.Sqrt(sum / data.Length); text.text RMS: rms.ToString(F4); } } }预期结果对着头显说话时RMS 值会从接近 0 跳到 0.1 以上。如果始终为 0说明没有麦克风权限或录音设备和监听设备不一致。判断成功标准是音量变化实时、没有卡顿且没有明显低频电流声。失败时优先检查权限设置、Unity Player Settings 中的 Microphone 权限、以及 Pico 是否正在后台播放其他音频。5.2 唱歌音准检测测试测试目的确认应用能把麦克风采集到的信号转换为音高并与参考旋律对齐。操作步骤先用一段真实演唱作为输入让系统输出每一帧的音高序列。可以使用实时 YIN 算法的简化版也可以先录制一个 wav 文件在 PC 端用 Python 脚本离线分析。实时测试时在场景中显示当前 Hz 数和最近的五个音符。判断成功标准演唱一个稳定的 “a1”约 440Hz时显示值应在 435~445Hz 之间漂移超过 20Hz 漂移说明平滑参数没调好。如果唱歌声音正常但识别出的音高总是不稳定可以从三步检查第一参考音频是否做了降噪第二音高检测窗口是否足够小20ms~60ms第三唱歌评分算法是否需要更长的中值滤波窗口。这个模块是“唱”这个词的核心如果踩坑建议先用离线批处理验证算法再搬上真机。5.3 视觉争夺表现测试测试目的验证玩家通过转动头部、移动手部能否触发“意识争夺”特效也就是“争夺”的交互表现。操作步骤在 Unity 中通过 Pico XR SDK 获取头部的位置和旋转、左右手控制器的位置和姿态。设定一个目标区域当玩家头部朝向或手柄指针进入目标区域时增加累计值持续保持达到阈值触发聚光灯或能量爆发特效。预期结果头部转动时视角聚光灯跟随平滑移动手柄挥动时特效强度随速度变化。失败常见原因有两个一是追踪坐标系对不上二是特效触发阈值过高导致玩家做了大幅动作但没触发。建议在 Debug 界面可视化显示目标点与玩家视线向量之间的点积方便调试。5.4 多人对战房间测试测试目的验证两名及以上玩家能在同一房间内进行“唱歌得分争夺”。操作步骤使用 Photon、Mirror 或自定义 WebSocket 服务搭建房间。最小可用流程是玩家 A 创建房间玩家 B 输入房间号加入双发通过 NTP 对齐时间戳将本机演唱顺序、得分和特效事件广播到对方终端。测试可以从局域网开始再切到公网。预期结果30 秒内完成创建、加入、开始唱歌和显示对手得分。判断成功标准是双方看到对方得分的延迟低于 300ms如果唱歌是异步上传分数则不需要实时语音传输延迟要求可以放宽。失败排查方向UDP 丢包导致键位错过、NTP 不同步导致音符对齐错位、防火墙屏蔽端口导致加入房间失败。5.5 高负载压力测试测试目的确认在多人特效、高品质背景音乐、动态追踪同时运行的情况下Pico 的帧率是否保持稳定。操作步骤开启帧率监测使用曲线图记录 FPS、Draw Call、CPU 时间。以 90Hz 为目标如果掉到 60Hz 以下逐步关闭阴影、降低粒子分辨率、简化场景面数。可以设计一个自动跑测脚本让机器人循环摇动手柄和演唱连续运行 30 分钟观察发热情况和内存增长。预期结果应用不崩溃、不黑屏、FPS 下限可接受、内存监控曲线没有持续上涨趋势。判断成功标准把高负载测试设为发布前必经关卡。失败时要定位是音频回调阻塞主线程还是特效节点数量太多。6. 接口 API 与批量任务这类 VR 唱歌应用真正可复用的是数据和资源管线。除了引擎内部的 API更重要的是对外提供的能力否则没法接入运营后台或批量更新曲库。6.1 设备能力接口Pico XR SDK 会暴露设备状态、追踪数据、语言识别、麦克风等能力。代码层通常是 C# 封装一个通用的接口调用片段如下using PicoXR; public class DeviceApiBridge : MonoBehaviour { void Update() { bool isConnected PicoXR.Device.Connected; bool micPermission PicoXR.Permission.HasMicrophonePermission(); float battery PicoXR.Device.BatteryLevel; // 意识争夺战 Pico 唱根据设备能力决定是否启用高级追踪 transform.position PicoXR.InputTracking.localPosition; transform.rotation PicoXR.InputTracking.localRotation; } }实际项目中 PicoXR 命名空间和方法名要以 SDK 版本为准示例只展示接口层面能拿到的数据维度。不建议直接依赖头显厂商独有 API 做所有逻辑最好做一层抽象方便以后适配其他 VR 设备。6.2 语音与评分服务接口如果“意识争夺战Pico唱”要做在线评分或音色分析接口可以先按 REST 风格设计。客户端上传一段短音频服务端返回音高序列、得分和规避词命中结果。下面给一个调用示例import requests url http://127.0.0.1:8000/evaluate payload { audio_id: song_001_take_002, user_id: u10086, reference_track: song_001.mid, segment_start_ms: 0, segment_end_ms: 12000 } headers {Content-Type: application/json} resp requests.post(url, jsonpayload, timeout30) print(resp.status_code) print(resp.json())接口设计时要注意音频文件应限制大小低于 10MB 可以直接 base64 或 multipart 上传对于更长的片段建议返回一个 task_id客户端定时轮询任务状态。隐私保护上服务端不应长期保存原始音频只保存特征向量和评分结果。6.3 曲库批量导入与预处理唱歌应用最难维护的是曲库。歌曲要有伴奏、歌词、MV、歌词逐字时间轴、参考旋律序列、难度等级等数据。如果全靠人工录入效率太低。可以写一个批处理工具用脚本扫描原始资源目录统一转成标准格式。import os import json import subprocess SOURCES ./raw_songs OUTPUT ./processed_songs def process_song(song_id): src os.path.join(SOURCES, song_id) out os.path.join(OUTPUT, song_id) os.makedirs(out, exist_okTrue) # 示例把伴奏转为 44.1kHz 单声道 wav便于 Pico 实时处理 subprocess.run([ ffmpeg, -i, os.path.join(src, accompaniment.mp3), -ar, 44100, -ac, 2, os.path.join(out, accompaniment.wav) ], checkTrue) # 示例读取 LRC 歌词并转为 JSON 时间轴 lrc_path os.path.join(src, lyrics.lrc) timeline parse_lrc_to_segments(lrc_path) with open(os.path.join(out, segments.json), w, encodingutf-8) as f: json.dump(timeline, f, ensure_asciiFalse, indent2) print(fprocessed {song_id}) def parse_lrc_to_segments(lrc_path): # LRC 格式: [mm:ss.xx] 歌词内容 segments [] with open(lrc_path, r, encodingutf-8) as f: for line in f: if line.startswith([): time_str line[1:line.find(])] text line[line.find(])1:].strip() try: m, s time_str.split(:) sec int(m) * 60 float(s) segments.append({start_sec: round(sec, 2), text: text}) except ValueError: continue return segments if __name__ __main__: for sid in os.listdir(SOURCES): if os.path.isdir(os.path.join(SOURCES, sid)): process_song(sid)这个脚本可以每天跑一次新增歌曲只需要放入对应的 raw 目录。批量任务要带日志和失败标记比如在输出目录里写status.json记录每首歌处理是否成功、耗时、失败原因。重试的时候只需要扫描失败状态。7. 资源占用与性能观察Pico 是移动 SoC 平台资源上限远小于 PC所以性能观察要放在开发周期的每个阶段而不是最后调试时才开始。7.1 用 Pico Developer Center 观察设备状态Pico Developer Center 可以在电脑端显示头显的 CPU、GPU、内存占用、温度、帧率等关键指标。连接 Pico 并启动应用后打开设备监控选择实时图表。重点关注 “FPS” 和 “Frame Time” 曲线。如果 Frame Time 超过 11.1ms对应 90Hz就会产生掉帧和交互延迟。听歌时头部转动如果出现画面抽动多半是主线程耗时过高优先排查音频回调。7.2 用 Unity Profiler 定位瓶颈Unity Profiler 的 CPU Usage 面板能按模块看到 Animation、UI、Particle、Audio、Script 的耗时。对于“意识争夺战Pico唱”最常见的瓶颈是 Audio 标签下的实时音高计算脚本。如果音高检测每一帧在脚本里做 FFT会很快占满主线程。建议把音频采集放到独立线程或使用 Job System但要注意 Unity 的 Microphone 数据读取本身不是线程安全的可考虑使用 NativeAudio 插件。7.3 降低资源占用的策略如果启动后帧率不足按以下顺序处理减少动态阴影和实时反射。把粒子特效数量降低或改用 GPU Instancing。将场景中的大材质纹理压缩到 2K 或 1K。对音频流使用 22.05kHz 采样率而非 44.1kHz降低计算量但最终音质是否够用要主观测试。多人同步时降低事件发送频率比如得分布局改为每 200ms 批量上报一次而不是每帧上报。此外要注意内存曲线。如果长时间运行后内存持续增长很可能是 AudioClip 缓存或对象池开关没处理好。建议在场景切换、重新进入唱歌房间时手动释放旧 AudioClip 和粒子系统占用。8. 常见问题与排查方法问题现象可能原因排查方式解决方案启动后画面黑屏只有声音渲染管线初始化失败或场景加载未完成查看 Logcat 有无 Vulkan / GL 错误切换渲染方式为 OpenGLES 或更新显卡驱动应用无法安装提示签名冲突旧版本 APK 未卸载或签名不一致检查包名和签名文件执行adb uninstall 包名再安装新包麦克风没有声音没有授予麦克风权限或设备被占用在 Pico 权限管理里检查观察日志手动授权并确保没有其它后台应用占用麦克风音高检测延迟高音频缓冲区设置过大或主线程卡顿用 Profiler 观察 Audio 线程缩小音频块音高计算挪到独立线程多人对战加入房间超时防火墙、端口未开放或服务器地址错误在 PC 端 ping 服务器查看 WebSocket 日志检查 UDP/TCP 端口开放对应范围画面帧率低动态阴影过多或脚本 FFT 开销大查看 Draw Call 和 CPU 耗时降低特效、简化场景、优化音频算法歌声评测得分忽高忽低评分算法平稳窗口过短离线对比人工打分增大中值滤波窗口增加连续音分组机制无线部署失败头显和电脑不在同一网段检查局域网 IP改用 USB 调试或开启无线调试这张表基本覆盖了这类 VR 唱歌应用从部署到玩法的常见故障。每个问题不要只追症状要优先找到链路里对不上的一环。比如麦克风没声音其实可能是权限、设备占用、监听输出三个原因中的一个。如果按顺序排查通常能在 5 分钟内定位。9. 最佳实践与使用建议9.1 先用最小闭环验证再堆玩法第一次真机运行不需要做完整的“意识争夺”对抗流程。先把“麦克风采集 → 音量显示 → 音高显示 → 帧率显示”做成一个最小场景确认基础链路稳定再逐步加入曲库、歌词、多人同步。这样可以避免同时踩太多坑。9.2 保留一套最小可运行配置在每个里程碑节点导出一个固定 APK 存档标注“可运行版本”。这样后续修改音频算法或引入新 SDK 时如果发生不可控的回归可以直接回滚到最后一个正常版本。不要只依赖 Git 记录因为引擎和外部 SDK 的配置可能不会被完整追溯。9.3 曲库和测试素材分目录管理按歌曲 ID 建目录每种资源命名统一使用song_xxx_accompaniment.wav、song_xxx_lyrics.json这样的模板。剧本、特效预设、评分配置也要和歌曲绑定避免切换歌曲时出现资源错位。批量任务执行完毕把日志和失败状态写入独立目录保证失败歌曲不会反复进入正常流程。9.4 批量任务要有日志和重试批量导入歌曲、批量跑音准测试、批量压测场景时每个任务都应该有唯一条目 ID 和状态字段pending/running/success/failed。启动重试时只捡回 failed 状态的任务。长时间跑批后要清理中间产物防止磁盘占满。9.5 接口服务控制访问范围如果“意识争夺战Pico唱”提供了评分 API 和数据接口不要默认绑定 0.0.0.0建议只监听本地回环或者内网网段。对外服务要加鉴权令牌和频控防止恶意请求刷爆带宽。音频服务响应耗时超过 10 秒的请求应该直接超时避免阻塞线程池。9.6 合规与隐私处理所有涉及玩家声音、头像、房间画面的功能都要在用户协议里单独说明。用户声音数据不应保存超过业务必要期限特征向量和原始音频分离存储。如果要使用第三方语音评测服务先确认服务商的隐私条款和数据处理方式。涉及翻唱、使用版权伴奏或实时直播需要用版权方授权的内容避免上线后产生侵权风险。10. 总结与下一步“意识争夺战Pico唱”这个项目最值得尝试的点是把唱歌从手机屏幕里搬到了 VR 空间让用户通过身体姿态参与“争夺”和“表现”。但它的实现难点不在画面而在实时音频处理、多人同步和移动端性能控制这三条硬链路。如果今天你准备动手我建议先验证一件事在 Pico 上跑通“麦克风采集 实时音高显示”。这是整个项目的地基也是容易踩坑的地方。地基稳了再去做曲库管理、多人对战、意识争夺式特效才有意义。最容易踩的坑则是把音高计算放在主线程导致掉帧以及多人对战时时间戳不同步造成歌词错位。后续可以扩展的方向很多包括接入 AI 音色评分、记录玩家动作轨迹用于回放、把评分结果做成排行榜、支持手柄触觉反馈模拟“争夺”的震动感。等核心闭环稳定后还可以做成跨平台版本同时兼容 Pico 和 Meta Quest 设备。不过每一步扩展都要回到三条基础链路上重新验证毕竟 VR 唱歌应用的用户容忍度更多取决于流畅和同步而不是华丽特效。建议把本文提到的测试用例和排查清单整理成一份项目文档作为开发准入标准。真机测试永远比编辑器预览真实得多“意识争夺战Pico唱”这类项目更是如此。