VCC环境隔离:告别Unity项目依赖混乱,实现高效VRChat开发
1. 项目概述为什么我们需要独立的Unity环境如果你在VRChat Avatar创作圈子里混过一段时间肯定会遇到一个让人头疼的问题项目依赖混乱。今天心血来潮想给一个老项目加个新特效结果一打开Unity发现编辑器版本不对或者SDK版本冲突项目直接一片飘红。更糟的是你为了修一个项目更新了某个核心插件结果导致你电脑上其他所有Avatar项目都跟着报错陷入“牵一发而动全身”的窘境。这种混乱的工程管理状态不仅严重拖慢创作效率更是无数Bug和崩溃的温床。“好家伙VCC”——这大概是很多创作者初次接触VRChat Creator Companion时的感叹。VCC远不止是一个“VRChat专用Unity安装器”它的核心价值之一正是为了解决上述的工程管理噩梦。它通过为每一个Avatar或World项目创建完全独立的Unity环境将依赖隔离做到了极致。想象一下你的每一个项目都像住在一个独立的“公寓”里拥有自己专属的Unity编辑器版本、VRChat SDK版本、以及所有第三方插件包。在这个公寓里你可以随意装修升级依赖而完全不用担心会影响到隔壁邻居其他项目。这就是VCC带来的工程管理范式转变。这篇文章我将从一个踩过无数坑的Avatar开发者的角度手把手带你深入理解并实践如何使用VCC为你的每个项目搭建独立的沙盒环境。无论你是刚入门的新手还是被依赖冲突折磨已久的老鸟这套工作流都能让你的开发过程变得清晰、稳定且可预测。我们将不仅停留在“怎么用”的层面更会拆解其背后的设计逻辑分享我实战中总结的配置技巧和避坑指南让你真正告别混乱享受高效、可控的创作体验。2. VCC核心机制深度解析它如何实现环境隔离在深入实操之前我们必须先搞懂VCC的工作原理。很多人把它简单理解为“VRChat版的Unity Hub”这其实低估了它的设计深度。VCC的核心是一个基于VRChat包管理器VPM和项目模板仓库Template Repos的工程化解决方案。2.1 VPM依赖管理的革命传统的Unity项目依赖管理非常原始要么把.unitypackage文件直接导入Assets文件夹要么通过Unity的Package Manager添加一些官方或第三方注册源。这种方式下所有包的版本都全局性地安装在Unity编辑器目录或用户全局缓存中。当不同项目需要同一插件的不同版本时冲突几乎无法避免。VPM彻底改变了这一点。它本质上是一个为VRChat生态定制的、增强版的包管理器。当你通过VCC创建一个新项目时VCC会基于你选择的模板生成一个项目配置文件通常是vcc.json或project.json。这个文件里精确锁定了该项目所需的所有VPM包的名称和版本号例如{ name: MyAwesomeAvatar, unity: 2022.3.6f1, packages: { com.vrchat.worlds: 3.4.2, com.vrchat.avatars: 3.4.2, com.llealloo.audiolink: 0.3.3 } }当你打开这个项目时VCC和其背后的解析器Resolver会读取这个清单并确保仅在该项目的本地Library文件夹中下载和安装指定版本的包。其他项目完全不受影响。这种“清单锁定本地安装”的模式是环境隔离的基石。2.2 项目模板与Unity版本绑定VCC的另一个关键设计是“项目模板”。模板不仅仅是一堆预设的资产和场景它更是一个完整的环境定义。一个模板会强制关联一个特定的Unity编辑器版本例如当前VRChat SDK 3.4.2要求使用Unity 2022.3.6f1。当你通过VCC的“New Project”从模板创建项目时VCC会执行以下操作检查本地是否已安装指定版本的Unity如果没有它会引导你通过Unity Hub进行安装。这个安装是全局的但VCC会确保该项目只使用这个特定版本。创建项目文件夹结构生成标准的Unity项目文件夹Assets, Packages等并写入上面提到的项目配置文件。注入模板包将模板本身定义的基础包如SDK、基础工具写入配置文件并开始解析下载。这意味着从根源上不同模板创建的项目可能基于不同的Unity版本运行从根本上杜绝了因编辑器版本差异导致的兼容性问题。这也是为什么我强烈建议即使是个人项目也尽量通过VCC的模板来创建而不是手动在Unity Hub里新建一个空项目。2.3 独立环境带来的核心优势理解了机制我们再来看看这种隔离带来的具体好处绝对稳定的开发环境一个两年前的老项目今天打开依然能完美编译运行因为它的整个“宇宙”Unity版本所有包版本都被冻结在了创建的那一刻。无风险的实验与升级想试试最新的SDK测试版用VCC复制一份项目在新项目里升级完全不影响原版。测试新插件也一样安全。清晰的依赖清单项目配置文件就是一份清晰的“食谱”任何协作者拿到项目都能通过VCC一键还原出一模一样的开发环境极大减少了“在我机器上是好的”这类问题。高效的磁盘管理虽然每个项目都有独立的包缓存但VCC和Unity本身会智能地复用一些基础组件并非完全意义上的磁盘空间翻倍在隔离和效率间取得了很好的平衡。注意这里说的“独立环境”主要指项目依赖的隔离Unity编辑器本体仍然是全局安装的。VCC通过指定unity版本号来调用对应的全局Unity编辑器但该编辑器为该项目加载的包全部来自项目本地。这是一种巧妙且实用的设计。3. 从零开始使用VCC创建并管理独立Avatar项目理论说得再多不如动手操作一遍。接下来我将以创建一个全新的VRChat 3.0 Avatar项目为例展示完整的VCC工作流并穿插我个人的配置心得。3.1 前期准备与环境搭建首先你需要准备好以下“地基”安装Unity Hub从Unity官网下载并安装。这是管理多个Unity版本的必要工具。安装VCC从VRChat官网的Creator Companion页面下载最新安装程序。安装过程很简单建议使用默认路径。准备一个宽敞的工作目录不要放在桌面或C盘根目录。我习惯在D:\VRChatProjects下为不同类型项目建立子文件夹例如D:\VRChatProjects\Avatars、D:\VRChatProjects\Worlds。清晰的目录结构是良好工程习惯的第一步。首次启动VCC它会自动检测Unity Hub和兼容的Unity版本。如果缺少它会给出清晰的指引。这里有一个关键技巧即使VCC提示可以安装Unity我也更推荐你手动通过Unity Hub先安装好所需的LTS版本。因为Unity Hub的下载和安装过程更稳定而且你可以选择安装模块如iOS、Android构建支持VCC的自动安装可能只包含最基础的模块。3.2 创建你的第一个独立Avatar项目打开VCC点击主界面左上角的“New Project”。选择模板在模板列表中找到并选择“Avatar”模板。VCC会显示该模板的详细信息包括其强制要求的Unity版本如2022.3.6f1。确认无误。配置项目Project Name给你的Avatar起个英文名例如MyFoxAvatar。这会作为项目文件夹的名称。Project Path点击“Browse”定位到你之前准备好的工作目录如D:\VRChatProjects\Avatars。VCC会自动在此路径下创建以项目名命名的文件夹。Unity Version此处应自动填充为模板要求的版本。如果本地已安装会显示“Installed”如果未安装会显示“Not Installed”并有一个“Install with Unity Hub”按钮。点击它VCC会调用Unity Hub进行安装。创建项目点击“Create”。VCC会开始执行以下操作在指定路径创建项目文件夹。生成项目配置文件vcc.json。根据模板将基础包如com.vrchat.avatars写入配置。启动解析Resolving过程VCC的解析器会读取配置从VRChat和社区仓库下载所有必需的包到项目的本地缓存中。这个过程需要联网。打开项目解析完成后界面会出现“Open Project”按钮。点击它VCC会启动指定版本的Unity编辑器并打开这个全新的、环境完全独立配置好的项目。至此一个拥有独立环境的Avatar项目就创建完毕了。你会发现项目的Packages文件夹下有一个manifest.json文件里面列出了所有VPM包及其锁定版本这就是你项目依赖的“宪法”。3.3 为现有项目迁移或创建新的独立环境你可能会有一些历史遗留项目是在VCC出现之前手动创建的。如何将它们也纳入VCC的规范管理有两种思路方案一在新VCC项目中重建推荐用于核心项目这是最干净、最彻底的方法。虽然听起来工作量很大但对于你投入最多、打算长期维护的“主力”Avatar我强烈建议这么做。用VCC创建一个新的同名Avatar项目如MyLegacyAvatar_VCC。在Unity编辑器中将老项目的Assets文件夹下的所有自定义内容模型、纹理、动画、脚本、场景复制到新项目的Assets文件夹下。注意不要复制Packages、ProjectSettings等文件夹。在新项目中重新配置Avatar Descriptor、上传设置等。这个过程能帮你清理掉很多陈年垃圾和无用依赖相当于给项目做了一次“大扫除”。方案二为现有项目添加VCC管理快速但可能有遗留问题如果项目结构复杂完全重建成本太高可以尝试手动将其“VCC化”。在VCC中点击“Add Existing Project”。浏览并选择你老项目的根文件夹包含Assets、ProjectSettings的那个目录。VCC会尝试分析项目。如果它检测到项目里已经有一些VPM包它会生成一个对应的vcc.json。如果检测不到你可能需要手动创建一个基础的vcc.json文件并指定Unity版本和核心的com.vrchat.avatars包。让VCC解析并安装依赖。这个过程可能会遇到冲突需要你根据错误信息手动调整。实操心得对于迁移我的经验是“长痛不如短痛”。除非项目极其简单否则方案一的长期收益远大于方案二。花上几个小时重建换来的是一个清晰、稳定、可维护的新项目基础未来能节省无数调试依赖冲突的时间。4. 高级配置与日常维护实战指南创建项目只是开始日常开发中的维护和配置才是体现VCC价值的地方。4.1 包管理升级、添加与移除所有包操作都应通过VCC界面或在项目配置文件中修改切忌在Unity编辑器的Package Manager里直接操作VPM包。升级包在VCC中选中项目切换到“Packages”标签页。你会看到当前安装的所有VPM包及其版本。如果有可用更新旁边会有升级按钮。升级前务必注意查看该包更新日志特别是SDK的大版本更新可能包含不兼容改动。最稳妥的做法是在升级前通过VCC的“Duplicate Project”功能为项目创建一个副本在副本中进行升级测试。添加社区包VCC集成了“Community Repositories”。你可以在设置中添加社区的Repo URL例如AudioLink的仓库。添加后在项目Packages页面点击“Add Package”就能从官方和社区仓库中搜索并添加像AudioLink、Poiyomi Toon Shader如果其提供VPM包这样的优秀工具。移除包同样在项目Packages页面找到包点击“Remove”。VCC会自动处理依赖关系并更新配置文件。4.2 项目复制与版本快照这是VCC工作流中最强大的功能之一。复制项目Duplicate在VCC项目列表右键点击项目选择“Duplicate”。VCC会创建一个项目文件夹的完整副本包括所有本地包缓存并生成一个新的项目配置文件。你可以将副本重命名为MyAvatar_SDK34_Test然后在这个副本里大胆尝试升级SDK到3.5.0而原项目MyAvatar毫发无损。版本快照在进行任何重大改动如更换核心着色器、重构动画系统之前使用“Duplicate”功能创建一个快照。这比任何Git分支都来得直观和快速尤其适合美术和非程序背景的创作者管理项目状态。4.3 配置文件vcc.json的手动编辑与解读虽然大部分操作可以通过GUI完成但理解vcc.json的结构能让你在遇到问题时游刃有余。一个典型的文件如下{ name: MyFoxAvatar, description: A cute fox avatar for VRChat, unity: 2022.3.6f1, unityRelease: 1f1, packages: { com.vrchat.avatars: 3.4.2, com.vrchat.base: 3.4.2, com.vrchat.worlds: 3.4.2, com.llealloo.audiolink: 0.3.3, com.varneon.vpm.udonsharp: 1.1.0 }, legacyFolders: { Assets\\LegacySample: com.vrchat.samples.avatars } }unity: 锁定的Unity大版本。unityRelease: 锁定的Unity补丁版本。两者结合确保精确的编辑器版本。packages: 核心部分是所有VPM包的版本锁字典。永远不要直接在这里修改版本号应通过VCC的包管理功能进行因为VCC会处理依赖树。legacyFolders: 这是一个高级字段用于处理一些从旧版.unitypackage转换而来的资产将其映射到对应的VPM包。通常不需要手动修改。当你需要与团队共享项目配置时只需要分享这个vcc.json文件和Assets目录下的自定义内容。队友用VCC打开项目就能一键还原完全一致的环境。5. 常见问题排查与实战避坑手册即使有了VCC开发过程中仍可能遇到问题。以下是我总结的常见故障及其解决方案。5.1 项目打开失败或解析错误问题现象可能原因解决方案VCC点击“Open Project”无反应或报错1. 指定的Unity版本未安装。2. Unity Hub未运行或异常。3. 项目路径包含中文或特殊字符。1. 检查VCC项目设置中的Unity版本去Unity Hub确认已安装。2. 重启Unity Hub和VCC。3.绝对确保项目完整路径从盘符到文件夹名全部使用英文、数字和下划线。这是很多奇怪问题的根源。解析包时卡住或失败1. 网络连接问题特别是访问GitHub。2. 社区仓库地址失效。3. 本地包缓存损坏。1. 检查网络可尝试使用稳定的网络环境。2. 在VCC设置中检查社区仓库URL是否有效。3. 在VCC中尝试“Clear Cache”并重新解析。也可以手动删除项目下的Library和Packages文件夹先备份vcc.json让VCC重新解析。5.2 Unity编辑器内的包相关错误问题现象可能原因解决方案Unity打开后控制台大量报错提示包丢失或版本不对1. VCC解析未完成就被强行打开Unity。2. 手动在Unity内修改了VPM包。3.manifest.json与vcc.json不同步。1. 关闭Unity回到VCC确保所有包解析完成进度条消失。2.严禁此操作。关闭Unity在VCC中重新添加正确的包。3. 关闭Unity在VCC中对项目执行“修复”操作如果有或手动核对两个文件以vcc.json为准。特定功能如SDK控制面板不显示项目模板对应的核心包如com.vrchat.avatars未正确安装或版本不对。在VCC的项目包管理页面确认核心包已存在且版本符合模板要求。尝试移除后重新添加。5.3 性能与磁盘空间优化多个项目占用巨大空间每个项目的Library文件夹都包含该项目的编译缓存和导入的资产数据这是空间占用的大头。对于确定长期不再修改的“归档”项目可以安全地删除其Library文件夹。下次需要用VCC打开时它会重新生成需要一些时间。但不要删除Packages文件夹里面是VPM包的本地缓存删除后需要重新下载。VCC本身运行缓慢定期清理VCC的全局缓存。在VCC设置中找到“Cache”选项清理不需要的Unity版本安装包和临时文件。同时确保你的工作目录特别是Users下的.vcc相关文件夹不在机械硬盘上移至SSD能显著提升响应速度。5.4 与版本控制系统如Git的协作VCC与Git可以完美协作。你的Git仓库应该包含Assets/目录下的所有自定义资产和脚本。ProjectSettings/目录部分文件可能需要谨慎处理。vcc.json文件这是关键。不应该包含Library/文件夹加入.gitignore。Packages/文件夹下的VPM包缓存加入.gitignore。Temp/,Obj/,Build/等临时文件夹。协作者克隆仓库后只需用VCC“添加现有项目”指向仓库目录VCC就会根据vcc.json自动还原所有依赖环境实现开箱即用。我个人在实际使用中最大的体会就是“纪律性”带来的自由。通过VCC强制建立的项目隔离规范起初可能会觉得有点繁琐但一旦习惯你会发现它把你从无尽的依赖地狱中彻底解放了出来。现在我可以随时在几个不同版本、不同插件配置的Avatar项目间无缝切换心态是从容的因为我知道它们彼此独立互不干扰。这种掌控感对于需要长期维护和迭代的创意项目来说是无价的。最后一个小技巧定期用VCC的“检查更新”功能看看你常用模板和包的新版本并在项目的副本中进行测试这能让你平滑地跟上生态发展的步伐而不是等到不得不升级时面对一堆突破性的改动。

相关新闻

大数据求偶问题:从哈希分区到MapReduce的算法实战

大数据求偶问题:从哈希分区到MapReduce的算法实战

最近在数据分析和算法竞赛中,经常遇到一种场景:需要从海量数据中快速找出满足特定“配对”或“匹配”条件的元素对。这种问题抽象出来,就是经典的“大数据求偶”问题,它考验的是我们对数据结构、算法优化以及分布式处理的理解深度…

2026/10/16 5:40:45 阅读更多 →
AI未来格局:技术路径、算力数据博弈与中国战略选择

AI未来格局:技术路径、算力数据博弈与中国战略选择

1. 项目概述:一次关于AI未来的深度思想实验最近在翻阅一本名为《人工智能全球格局:未来趋势与中国位势》的书,其中第五章“人类的未来(上)”引发了我长时间的思考。这不仅仅是一篇读书笔记,更像是一次基于现…

2026/10/5 18:38:37 阅读更多 →
《幻兽帕鲁》Mod安装与优化指南:告别重复劳动,重塑游戏体验

《幻兽帕鲁》Mod安装与优化指南:告别重复劳动,重塑游戏体验

玩《幻兽帕鲁》到后期,你是否也陷入了“帕鲁地狱”?白天上班当帕鲁,晚上回家还得当帕鲁,重复的采集、建造、孵蛋,让原本充满乐趣的冒险变成了枯燥的“帕鲁模拟器”。这并非游戏设计失误,而是几乎所有沙盒生…

2026/10/13 18:32:48 阅读更多 →

最新新闻

基于NLP的检索式聊天机器人实战:语义相似度与向量化实现

基于NLP的检索式聊天机器人实战:语义相似度与向量化实现

做了几年NLP应用开发,手里过过不少聊天机器人项目,但我发现最容易被低估、又在实际落地中最实用的,恰恰是检索式聊天机器人。很多人一上来就奔着生成式大模型去,觉得能自动组织语言才叫智能,结果卡在算力、幻觉和成本上…

2026/10/17 2:29:36 阅读更多 →
园区能源监测数据采集网关:核心功能、部署与选型实战指南

园区能源监测数据采集网关:核心功能、部署与选型实战指南

在智慧园区的能源管理项目里,数据采集网关是个特别容易被低估的角色。不少甲方和刚入行的工程师觉得它就是个“传数据的盒子”,把电表、水表、气表的数据送到服务器就完事了。但真正落地过园区能源监测系统的人心里都清楚,网关选得好不好、配…

2026/10/17 2:29:36 阅读更多 →
如何快速上手Qwen3.8-Flash-Next-Quark-MXFP4-PLEFP8:新手10分钟跑通首次推理的完全指南

如何快速上手Qwen3.8-Flash-Next-Quark-MXFP4-PLEFP8:新手10分钟跑通首次推理的完全指南

大模型模型量化模型优化多模态Qwen 【免费下载链接】Qwen3.8-Flash-Next-Quark-MXFP4-PLEFP8 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Qwen3.8-Flash-Next-Quark-MXFP4-PLEFP8 点击查看 免费下载 Qwen3.8-Flash-Next-Quark-MXFP4-PLEFP8 是 AMD 面向 MI3…

2026/10/17 2:29:36 阅读更多 →
DBBackupPro 支持的数据库类型与版本清单

DBBackupPro 支持的数据库类型与版本清单

支持类型总览 真机实测记录 能力口径与注意事项DBBackupPro 项目组 | 2026 年 9 月 11 日 | 第十次更新版目录一、概述二、支持类型与版本总览三、真机实测记录四、能力口径与注意事项执行摘要DBBackupPro 当前版本共支持 8 类数据源(MySQL、MariaDB、SQL Server …

2026/10/17 2:29:36 阅读更多 →
WinPython 3.11.6.0dot 发布解读:64 位便携发行版的升级清单与 changelog 自动化生成机制

WinPython 3.11.6.0dot 发布解读:64 位便携发行版的升级清单与 changelog 自动化生成机制

开发工具构建工具CLI包管理器 【免费下载链接】winpython A free Python-distribution for Windows platform, including prebuilt packages for Scientific Python. 项目地址: https://gitcode.com/gh_mirrors/wi/winpython 点击查看 免费下载 导读 本文围绕 Win…

2026/10/17 2:29:36 阅读更多 →
sql-optimization-patterns - SKILL

sql-optimization-patterns - SKILL

name: sql-optimization-patterns description: “Transform slow database queries into lightning-fast operations through systematic optimization, proper indexing, and query plan analysis.” risk: safe source: community date_added: “2026-02-27” SQL 优化模式 …

2026/10/17 2:28:36 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →