多人协作
几个人同时编辑同一个作品:积木、造型、声音、代码文件、场景、资源库,谁改了哪里,别人那边马上就变。 每个人的指针、正在看哪个角色,其他人都看得到。
[!NOTE] 本地测试方式见仓库里的
docs/collaboration/local-testing.md。
打开方式#
顶栏右侧那颗「两个人」图标,点它在按钮下方打开「协作」弹层;再点按钮、点弹层外面或按 Esc 收起。 它不占布局位置。收起弹层不影响协作,连接照常在后台。
进了协作之后,这颗图标显示同步状态(绿点 = 已同步,黄点 = 同步中,红点 = 离线或已断开),后面排着在线的人的头像。
开始一个协作#
- 点协作图标打开「协作」面板,用 CCW 账号登录。
- 填一个协作名字,点「用当前作品开启协作」。编辑器里现在打开的作品就是协作的起点:它的角色、造型、 声音、代码文件、场景、资源库全部带进去。
- 进入后,在「邀请」页给某个权限组生成一条邀请链接,发给别人。别人打开链接、登录,就进来了。
以后再进同一个协作:协作窗口里列着「我创建的」和「被邀请」的协作,点「进入」。
进入协作会把编辑器里的作品换成协作里的那一份。连接、加载、检查期间会显示加载提示,完成后才能继续编辑;如果进入失败,会退出协作并恢复进入前的作品,在协作面板说明原因。
什么会同步#
| 内容 | 怎么同步 |
|---|---|
| 积木、注释、Frame、积木页 | 实时。两个人同时往同一串脚本的同一个位置接积木,两段都保留,一先一后接好;同时抓取同一串的不同积木,各自拖走自己拿起的部分;注释的文字、位置、大小、折叠都同步;Frame 的创建、删除、成员及展开、收起状态也同步 |
| 变量、列表、广播 | 增删、改名实时;变量的值只在建变量时带过去,运行时的值不同步 |
| 角色 | 新建、删除、改名、排序、属性栏里改的属性、舞台上拖动的位置实时同步。作品运行时角色的移动不同步 |
| 造型(画板) | 两个人开着同一张造型,图形的增删、移动、改颜色逐个图形同步。一个图形被某人选中或正在改字时,别人选不中它(点、框选、全选都会跳过它),点上去会提示是谁在改;他放下之后就能改了。各改各的图形互不影响 |
| 声音(乐谱) | 两个人开着同一首曲子,轨道、片段、音符逐个同步。新建的乐曲马上存成一条声音,别人立刻看得到 |
| 声音(波形) | 剪切、效果这类改动做完后整段同步 |
| 代码文件 | 逐字同步,两个人可以同时在同一个文件里打字 |
| 场景 | 新建、改名、排序、入口场景、角色放进哪个场景 |
| 资源库 | 条目改名、移到文件夹、新建文件夹 |
| 引擎(物体、物理、光照、粒子) | 按物体、按设置项同步 |
| 扩展 | 别人加的扩展,你这边自动装上;社区扩展(任意网址)装之前会先问你 |
| 主题、布局、快捷键、插件、回收站 | 不同步,这些是每个人自己的 |
几个人同时改同一处积木#
几个人同时改同一段脚本时,每个人最后看到的积木都一样,刷新后也一样,积木不会丢。
| 同时发生 | 结果 |
|---|---|
| 几个人往同一个 C 口(「如果」「重复执行」里)放积木 | 都留在 C 里,一段接一段 |
| 几个人往同一个参数口放积木 | 留一块,其余挪到这串脚本旁边 |
| 有人删掉了一个口(点 ➖、删掉自制积木的参数),同时有人往这个口里放积木 | 放的那块连同下面整串挪到旁边;口加回来后(比如撤销)自动回到原处 |
| 有人把参数改成了布尔(六边形),同时有人往里放了圆形积木 | 圆形积木挪到旁边 |
| 有人往「重复执行」「停止全部脚本」下面接积木 | 接的积木挪到旁边 |
| 扩展还没在你这边装好 | 这块积木的连接原样保留,装好后按真实形状显示 |
| 一个人挪一块积木,另一个人改它的数字、下拉或点 ➕(包括断网期间各改各的) | 几个改动都保留 |
| 一个人删了一块积木,另一个人同时在改它 | 删掉 |
挪到旁边的积木放在它原来所在那串脚本的开头附近,几段依次错开。你这边有积木被挪到旁边时,右上角会提示,点「定位」跳到那里。
自制积木的定义同一时间只能一个人改:有人打开了「编辑积木」,别人再打开会提示「××× 正在编辑这个积木」;他关掉后就能改了。两个人几乎同时打开时,先打开的那个人继续,另一个人的对话框关掉并提示。改定义期间,别人照常可以使用这块积木。
看到别人#
顶栏协作图标后面是在线的人。角色栏里,未悬停的角色行右侧会显示正在这个角色里的协作者头像;悬停后仍可用显示/隐藏和更多按钮。展开角色后,头像移到对方正在查看的积木页、造型或声音行;文件夹收起时头像汇总在该文件夹上,展开后落到里面的具体文件。未确定具体文件的位置仍显示在角色行。
别人的指针显示为带名字的彩色箭头,箭头尖指着他的鼠标所在的那一处内容。两边的缩放、滚动不同也照样对得上。 指针只在你们看着同一处时出现:
在哪 什么时候看得见 积木工作区 看着同一个角色的同一个积木页 造型编辑器 开着同一张造型 声音编辑器(编曲台 / 钢琴卷帘) 开着同一首乐曲(钢琴卷帘要在同一个片段里) 装配编辑器 看着同一个角色的同一张造型 别人拖着积木的时候,你这边那串积木半透明地跟着他的指针走;他松手后落到他放下的地方。刚从积木栏拖出来、还没放下的积木也一样看得见。他把积木拖到积木栏上(要删掉)或拖进别的工作区(别的角色、别的积木页)时,你这边原来那一页上的那串先藏起来,不会跳回原处;拖进别的工作区时,你开着的那个工作区里会出现一串半透明的预览跟着他的指针走。他松手后删掉的就没了,搬走的出现在那个工作区里。
一串积木正被某人拖着时,别人不能把积木接到这串上(接在下面、放进 C 口或参数里都不行):靠过去不会出现落点预览,松手只会放在旁边。等他松手后就能照常接了。
别人在造型编辑器里拖图形、在编曲台或钢琴卷帘里拖片段 / 音符、在装配编辑器里拖挂点或碰撞体时, 你这边也是边拖边动,不用等他松手。
跳到别人那里、跟随别人#
点顶栏里某个协作者的头像,弹出的菜单里有两项:
- 跳到他那里:换到他正在编辑的角色、积木页、造型或声音,把他看着的那一处挪到你的画面中间,缩放也和他一样。 你的布局不变;他在用的编辑器你的布局里没开时,只打开那一个。
- 跟随:你的布局临时换成他的,之后他换角色、换页、滚动、缩放、调整布局,你都跟着变。积木工作区、造型编辑器、装配编辑器、编曲台、钢琴卷帘的视口跟他一样,角色列表、资源面板、造型列表等各处的滚动条也停在他那个位置;积木栏按内容对齐:停在他看的那个分类、那一块积木上,你隐藏了积木、折叠了分组也一样对得上;声音编辑器里他进入编辑器、打开某个片段的钢琴卷帘、退回编曲台或列表,你也跟着进出;造型编辑器里他切到哪张造型你也跟着切(图层、属性栏、序列帧这几块侧栏的开合是各人自己的,不跟)。跟随期间:
- 布局锁住:不能拖动、关闭、打开面板,只能看他的布局;面板里的内容照常能编辑。
- 你们的屏幕大小不一样也没关系:分栏和浮窗都按编辑区的比例摆,他的指针也按比例落,指着的还是同一个面板的同一处。
- 他的指针画在整个编辑区上(顶栏以下),他在角色列表、积木栏这些地方时你也看得见。鼠标停着不动两秒多,指针会慢慢淡掉,一动就回来。
- 编辑区外沿有一圈转动的强调色边框,表示你正在看别人的视角。
- 顶栏显示「正在跟随 某某」,点「停止跟随」(或在他的头像菜单里再点一次)结束。
停止跟随后,布局还原成跟随之前你自己的样子。他离开协作时自动停止跟随。
被人跟随时,你能看见跟随你的人的指针(他动了鼠标之后才出现)。有人正在跟随你时,你不能反过来跟随他:头像菜单里的「跟随」是灰的,并说明原因。两人几乎同时点跟随对方时,只有一个人会进入跟随。
撤销#
协作里按撤销,只撤你自己的改动,别人的不动。
权限组#
每个成员属于一个权限组,组里勾了哪些权限就能改哪些东西。新建的协作自带三个组:
| 组 | 能做什么 |
|---|---|
| 管理员 | 改作品的所有内容、邀请和移出成员、给成员换组;不能修改权限组 |
| 编辑者 | 改作品的所有内容;不能管理成员 |
| 旁观者 | 不能改作品,但能评论 |
权限组只有协作的创建者能修改:改组名、勾选权限、新建组(最多 16 个)、删除组。其他人(包括管理员组的人) 在「权限组」页只能看到每个组有哪些权限。
- 给成员换组、生成邀请链接时,只能选权限不超过你自己的组。
- 不能把自己换到别的组。
- 协作的创建者不属于任何组,永远拥有全部权限,也不能被移出。
权限一改,对方那边立刻生效:失去编辑积木权限的人,工作区当场变成只读。没有权限的改动发出去会被服务端撤回, 改的那个人会看到提示,需要重新进入。
一个协作最多 10 个人(含创建者)。
掉线#
网断了可以接着改,恢复连接后自动合并,协作图标显示「离线,恢复后自动合并」。
以下几种情况需要重新进入(协作窗口顶上会出现红条和「重新加载」按钮):被移出协作、改了没有权限改的东西、 作品被整体替换(导入或回退历史版本)。
用本机 AI(MCP)一起改#
在协作里照样可以在「设置 → AI → 本机 MCP」配对自己电脑上的 AI 工具(如 Claude Code),见本机 MCP。它改作品就等于你自己在改: 按你的权限检查,改完实时同步给房间里的人,和你在界面上动手是同一条路。你没有某项编辑权限(比如只能改积木), 它去改造型、角色属性时会被拒绝,并说明缺的是哪一项。
AI 跑作品、看舞台、读变量,默认在一个看不见的后台舞台上进行,不会动你正在用的舞台;别人改了作品,下一次运行 自动用最新的。两件事它在协作里不能做:整份还原作品(会替换所有人的作品),以及你正在进入协作的那一会儿写入。