这里集中回答 LetsGal Studio 使用过程中最常遇到的问题。遇到异常时,先保存项目并查看错误提示;涉及素材、构建或协作时,不要直接删除项目文件来尝试修复。

第一次使用先看

LetsGal Studio 是什么?

LetsGal Studio 是面向 Galgame 和视觉小说的可视化创作工具。它把剧本、角色立绘、场景、声音、分支、变量、演出、游戏界面和构建发布放在同一个项目中管理。 不写代码也可以完成一部常规视觉小说;需要背包、养成、地图、小游戏或特殊界面时,可以通过 TypeScript、React 和 Studio SDK 开发扩展。

不写代码能做到什么?

能力可以完成的内容
剧本对白、旁白、选项分支、条件判断、变量、章节和 Fragment
角色与场景普通、序列帧、差分、Spine 与 Live2D 立绘,立绘皮肤、距离与位置,多层场景和视差
演出镜头、粒子、声音、视频、幕布、浮动文字和时间线动画
游戏界面标题、存读档、设置、历史、鉴赏、对话框、HUD 和剧情面板
工作流剧本导入与导出、网格动画、实时预览、调试、项目历史、云端分享和多人协作
发布macOS、Windows、Linux,以及测试版 Web 和 Android Debug APK 构建
第一次制作时,可以从快速开始创建项目,再用 Block 总览了解剧情中可以插入哪些操作。

写代码以后还能扩展到什么程度?

程序扩展可以提供 React UI、自定义剧本方法、章节调度策略、设置、存档字段和系统界面,也可以使用 Canvas 或 WebGL 制作小游戏及特殊渲染。 扩展能够读取和控制剧情变量、角色、场景、声音、镜头、存档和界面,因此可以实现背包、好感度、任务、地图选点、日程、战斗面板、解谜和小游戏等系统。扩展入口见扩展是什么。

Studio 的能力边界在哪里?

  • 核心定位是视觉小说:常规文字冒险和 2D 演出是内置能力;复杂 3D 世界、物理模拟、大型实时动作游戏不属于内置工作流。
  • 可视化 UI 不是网页导入器:它适合用编辑器搭建游戏界面,但不能把任意网站、HTML 包或外部程序一键嵌入。
  • 小游戏需要适配或开发:有 React、TypeScript、Canvas 或 WebGL 源码时可以改造成扩展;只有 EXE 或其他引擎成品时,通常需要重写交互层。
  • Web 构建仍是测试版:浏览器不支持 ctx.native.node,桌面原生扩展不能直接用于 Web;Web 产物也不提供资源加密。
  • Android 构建仍是测试版:目前可以生成 Debug APK,适合设备验证;iOS 尚未开放,正式上架能力不能由 Debug APK 替代。
  • Studio 不替代素材工具:图片、立绘、音乐、视频、字体和配音仍需自行制作或合法取得授权。
  • 项目历史不备份素材文件:它可以恢复剧本和配置,不能找回已经删除的图片、音频或视频。
  • 实时协作有用量上限:单个文件最大 2 GB,每个协作项目默认最多 20 GB,超出的文件不会同步。

我应该选择哪种制作方式?

目标推荐方式
制作常规 Galgame可视化剧本 Block + 内置界面
修改标题页、菜单或 HUD可视化 UI
制作复杂动态界面可视化 UI + TypeScript 控制器
制作小游戏、Canvas 或 WebGL 内容程序扩展 UI
接入已有网页或外部小游戏取得源码后适配为扩展,不建议直接嵌入成品
发布浏览器版本Web 测试版构建,并避开 Node 原生能力
多人共同编辑开启实时协作,成员凭邀请码加入
如果还不确定,先不用初始化程序。用可视化能力完成最小可玩流程,确认确实存在内置功能无法覆盖的需求后,再引入扩展代码。

安装与工作区

macOS 提示应用“已损坏”,怎么办?

确认安装包来自 LetsGal Studio 官网,然后在终端执行:
xattr -dr com.apple.quarantine "/Applications/LetsGal Studio.app"
该命令移除首次下载产生的隔离标记。完整步骤见安装与首次启动。

有 Linux 版和 Intel 芯片的 Mac 版吗?

有,目前都提供 Beta 版,在官网下载页下载。这两个版本不提供整包自动更新,有新版本时到官网重新下载。

Linux 版导出游戏有什么限制?

  • 在 Linux 版 Studio 上可以导出 Linux、Windows 和 Mac 版游戏,其中 Mac 版只生成压缩包。
  • Linux 版游戏只能在 Linux 版 Studio 上导出,Windows 和 macOS 上的 Studio 目前不能导出 Linux 版。
详见发布游戏。

新版本的 Windows 更新为什么要管理员授权?

Studio 安装在 Program Files 等受系统保护的位置,或选择了为所有用户安装时,更新需要管理员权限。点击「以管理员身份继续」,在 Windows 弹出的窗口中选择「是」。 不想每次授权,可以从官网下载完整安装包,重新安装到非系统盘。其他更新提示见安装与首次启动。

工作区和项目有什么区别?

工作区是保存多个项目的文件夹,每个项目是其中一个独立子目录。不要把某个具体项目目录再次选成工作区,否则项目列表和文件层级容易混乱。 需要更换工作区时到 Studio 设置中修改。移动项目前先关闭 Studio,再整体移动项目文件夹,不要只移动其中的章节或资源目录。

为什么不能把 Studio 安装目录设为工作区?

安装目录会在应用更新或重新安装时被替换,不适合保存项目。Studio 会阻止选择自身安装目录,避免更新时误删项目;请另选“文档”或其它专门的创作目录。

素材与资源

为什么素材已经在磁盘上,Studio 仍提示缺失?

项目保存的是素材相对路径。在系统文件管理器中移动、重命名或删除文件后,原引用不会自动跟随。 请重新导入文件、恢复原路径,或删除对应引用。可以在资源总览中检查缺失引用及其使用位置。

为什么拖入图片后没有自动出现在剧本里?

导入素材只会把文件加入资源库,或创建角色、场景等实体,不会自动插入剧情 Block。导入后仍需在剧本目标位置添加 Scene、Show Character、Video 等对应 Block。

删除的图片或音频能通过项目历史恢复吗?

不能。项目历史恢复剧本、角色、场景、界面、变量和项目配置,不保存图片、音频、视频等素材文件内容。 素材文件应使用 Time Machine、Windows 文件历史、Git LFS 或其他备份工具保护。详见项目历史。

视频已经导入,为什么预览黑屏?

先确认视频使用受支持的编码。文件扩展名相同不代表内部编码一定兼容;必要时转换为常见的 MP4/H.264 后重新导入。更多检查方法见视频素材常见问题。

Live2D 为什么能导入但不能预览或构建?

Studio 不内置 Live2D Cubism Core。请在 设置 → 第三方授权 → Live2D Cubism 安装本人从官方合法取得的 Cubism SDK for Web;换电脑构建时也需要在新电脑重新安装。详细要求见动态图像与动态立绘。

多个扩展怎样共用道具或图鉴数据?

把静态资料建立为项目数据集合,再分别绑定到扩展声明的数据依赖。数据表属于项目,不会因为卸载某个扩展而删除;扩展开发者可通过 ctx.database访问自己的绑定。

剧本编辑

怎样插入新的 Block?

在空白旁白块按 Tab 打开菜单,再选择对白、场景、声音、条件、变量或演出 Block。连续对白内部也可以按 Tab 调整角色显示名、距离与位置、表情和皮肤。 所有内置 Block 可从Block 总览继续查看。

为什么纯文本行不能直接修改某些参数?

纯文本模式支持直接编辑对白和旁白;复杂 Block 以摘要占位,完整参数在属性检查器中修改。Ren’Py 风格代码编辑器是另一个模式,可把兼容语句转换为 Block;遇到不兼容语法时先修正代码,再切回卡片。 选中对应行后使用属性检查器,或切回卡片视图修改完整参数。详见剧本编辑器与Ren’Py 风格代码编辑器。

导入图片或扫描 PDF 时为什么提示需要 OCR?

剧本导入只会把本地提取出的文字交给文本模型,不会直接把图片或二进制 PDF 发给模型。扫描件没有文字层时,请先使用 OCR 工具转换成可复制文本或带文字层的 PDF,再重新导入。

场景切换时角色或旧画面没有按预期清除,怎么办?

Scene Block 负责切换背景,但复杂换场可能还需要移除角色、销毁场景或使用幕布遮挡多个操作。

规则图素材缺失会导致剧情卡住吗?

不会。规则图为空或加载失败时,场景转场会安全退化为随机溶解。自定义规则图需要作为“规则图”素材导入;也可以直接选择 Studio 提供的内置规则图。

可视化 UI 与小游戏

怎么制作可视化 UI?

可视化 UI 适合制作标题页、菜单、HUD、弹窗、任务面板和简单剧情交互,不需要先写 React 代码。 基本流程:
  1. 进入“个性化 → 项目设置”。
  2. 在左侧扩展树中新建或选择一个本地扩展。
  3. 展开扩展下的“界面”,点击新增并输入界面名称。
  4. 在设计视图中添加文字、图片、按钮、列表、表单或智能组件。
  5. 使用右侧检查器调整位置、尺寸、锚点、样式、数据绑定和点击动作。
  6. 到动画视图配置入场、退场和页面动画。
  7. 切换到预览视图,实际测试按钮、变量、数据和关闭流程。
只做排版和内置动作时,不需要初始化扩展程序。需要复杂计算、动态生成内容或调用外部服务时,可以再为扩展初始化程序,并通过 TypeScript 控制现有界面。 完整教程见可视化界面编辑器,元素、数据和动画分别见界面元素、界面数据与动作和界面动画。

怎么制作一个标题画面?

最快的方式是修改项目自带的标题画面:
  1. 进入“个性化 → 项目设置”。
  2. 在扩展树中展开“默认游戏壳 → 界面”。
  3. 选择“标题画面”并进入编辑器。第一次修改时,Studio 会为当前项目创建可编辑副本。
  4. 更换背景图、Logo 和标题文字,再调整按钮的位置、字体、颜色和动画。
  5. 切换到预览视图,依次测试新游戏、继续、设置、鉴赏和退出。
  6. 回到剧本,在入口章节需要显示标题的位置插入一个“显示界面”Block,并选择标题画面。
创建或修改可视化界面,只是保存了这份界面本身。要让它在剧本运行到某个位置时真正出现,还需要插入“显示界面”Block。

在剧本中显示标题画面

  1. 打开项目的入口章节。
  2. 在开头的空白旁白块按 Tab。
  3. 选择“显示界面”。
  4. 在界面选择器中选择“系统插槽 → 标题画面”;如果没有使用系统插槽,也可以选择刚才创建的具体可视化界面。
  5. 标题画面通常设为“等待界面关闭 + 始终在顶层”,让剧本等待玩家点击开始、继续或其他入口。
推荐选择“系统插槽 → 标题画面”。这样以后更换标题画面的绑定目标,剧本中的 Block 会自动跟随,不需要重新选择界面。完整参数见显示 UI。 标题画面常用按钮及对应动作:
按钮点击动作
开始游戏开始新游戏
继续游戏继续最近存档
读取存档打开读档
设置打开设置
历史记录打开历史记录
鉴赏打开鉴赏
退出退出游戏
需要从空白界面开始时:
  1. 新建一个本地扩展,并在扩展下创建可视化界面。
  2. 按项目画布尺寸添加铺满画面的背景、Logo、按钮和装饰元素。
  3. 为按钮配置上表中的系统动作。
  4. 到“个性化 → 项目设置 → 游戏系统”。
  5. 把“标题画面”插槽绑定到新建的界面。
  6. 回到入口章节,插入“显示界面”Block,并选择“系统插槽 → 标题画面”。
  7. 从项目入口运行预览,检查首次启动、已有存档和返回标题三种状态。
优先使用“打开设置”“打开读档”等系统动作,不要让按钮写死某一份具体界面。以后替换设置或存读档界面时,标题画面会自动跟随新的系统绑定。
“恢复原始界面”会丢弃当前项目对默认标题画面的修改。进行大改前,可以把标题画面复制到自己的本地扩展中保留版本。
完整说明见默认游戏壳与系统界面和界面数据与动作。

Studio 能直接插入外部制作的小游戏吗?

Studio 目前没有把任意 HTML 网页、独立 EXE 或其他引擎导出包直接嵌入剧情的通用导入按钮。外部小游戏能否使用,取决于你是否拥有源码,以及它能否适配 Studio 的运行环境。
  • 已有 React、TypeScript、Canvas 或 WebGL 源码:可以改造成程序扩展 UI,通常是最合适的接入方式。
  • 只有网页构建产物:不能保证直接嵌入;建议取得源码后改造成扩展,而不是依赖 iframe 或外部网页。
  • 只有独立可执行程序:不适合作为游戏内 UI,也无法用于 Web 构建。桌面端即使通过原生能力启动外部程序,也会带来打包、权限、存档和跨平台问题。
  • 来自其他游戏引擎的工程:通常需要重写交互层,或者把核心规则和素材迁移到 Studio 扩展中。
接入第三方小游戏前,还要确认代码、素材、字体、音乐和第三方库的许可证允许随作品分发。

能不能直接在 Studio 里开发小游戏?

可以。推荐使用“程序扩展 + 程序 UI”,通过 React、Canvas 或 WebGL 实现小游戏画面和交互,再使用 Studio SDK 连接剧情。 典型结构是:
  1. 新建本地扩展并初始化程序。
  2. 在扩展的 render() 中返回小游戏的 React 组件。
  3. 使用 ctx.variables、扩展存档 Schema 或项目变量保存分数、结果和进度。
  4. 使用角色、场景、音频和素材 API 读取项目内容。
  5. 在剧本中插入“显示 UI”Block,选择该扩展的程序 UI。
  6. 把界面设为“等待界面关闭 + 始终在顶层”,让剧情等待小游戏结束。
  7. 小游戏结束时写入结果并关闭 UI,剧本再根据变量进入成功或失败分支。
如果小游戏主要是按钮、文字、图片和简单状态切换,可以先用可视化 UI 搭建,再通过 ctx.visualUI补充逻辑;需要实时循环、碰撞、Canvas、WebGL 或复杂动画时,直接使用程序 UI 更合适。 开发入口见扩展是什么和开发流程。剧本打开方式见显示 UI,存档数据见存档 Schema。
小游戏如果需要同时发布到 Web,请使用浏览器兼容 API,不要依赖 ctx.native.node。桌面原生模块在 Web 构建中不可用。

预览与调试

预览为什么停在某个位置不再继续?

先查看调试面板的当前 OP 和日志。常见原因包括:
  • Wait Block 正在等待时间或玩家点击;
  • 分支正在等待玩家选择;
  • 输入界面或自定义 UI 尚未关闭;
  • 引用的 Fragment、变量、素材或扩展方法无效;
  • 自定义扩展的异步方法没有结束。
可以从当前章节或指定位置重新运行,并参考运行与调试定位具体操作。

为什么预览清晰,但换一台设备后画面性能不同?

内部渲染倍率、作品目标帧率和作品特效质量都会影响 GPU 开销。高倍率、高帧率和高特效质量组合在低性能设备上可能不稳定。 到画面渲染设置检查渲染精度、倍率上限、图片采样、作品目标帧率和特效质量,并在目标设备上实际测试。

打包与 Web

构建为什么因为缺失素材而中断?

构建会扫描所有有效引用。只要剧本、角色、场景、界面或扩展配置仍引用不存在的文件,就不会生成一个内容残缺的游戏包。 根据错误信息列出的引用位置重新导入素材、恢复路径或删除引用,再重新构建。详见缺失素材会中断打包。

Web 构建完成后应该上传哪些文件?

保持以下同级目录结构整体部署:
dist/
├── web/
└── assets/
web 是页面,assets 是游戏资源。使用默认 ../assets/ 时不需要提前填写域名;只有把素材独立部署到 CDN 时,才需要填写完整资源地址并正确配置跨域。 完整说明见Web 测试版。

为什么不能直接双击 Web 构建里的 HTML 试玩?

浏览器通过 file:// 打开页面时会限制模块和资源请求。请使用构建完成后的“本地试玩 Web”,或通过本地 HTTP 服务访问 dist/web,不要直接双击 HTML 文件。

桌面版可用的扩展为什么在 Web 版失效?

浏览器不能调用 Node 原生模块。使用 ctx.native.node 的扩展只适用于桌面环境,不会在 Web 构建中运行。需要同时发布 Web 版时,应提供浏览器兼容实现或避免依赖原生能力。

当前构建产物会加密游戏资源吗?

桌面端可以。在构建方案的「PC 桌面端」设置中开启「加密游戏内容」,Studio 会把剧本、素材和扩展运行文件封装进 .lgpak。「默认」方案不加密,正式发布请使用开启加密的方案(老项目升级后会自动生成「正式发布」方案,见构建方案)。Web 构建仍输出浏览器可读取的明文资源目录。 加密用于提高直接提取内容的成本,不等同于不可破解的 DRM。具体设置和限制见桌面端内容加密。

导出的游戏为什么按 F12 没反应?

导出的游戏只有在构建方案开启「调试模式」时才能打开开发者工具,不加密的游戏也一样。需要自查时,在测试用的方案里打开调试模式并重新构建;正式发布的方案请保持关闭。也可以用 Studio 的「模拟游玩」,它始终可以按 F12。详见调试模式。

项目历史与协作

项目历史多久创建一次快照?

默认每 2 分钟检查一次,可以在“设置 → 系统”调整为 1–120 分钟。只有项目内容发生变化时才创建自动快照;删除、重命名、排序以及打开或关闭项目还可能创建里程碑。

没有本地项目能加入协作吗?

可以。在首页点击「加入协作」,输入发起者给的 8 位邀请码。素材下载完成前,部分图片和声音会暂时显示为缺失。

协作时为什么不能改章节名或删除章节?

有其他成员正在写这一章的某一句。故事树会提示是谁在写,等对方离开这一章就可以改名或删除。

为什么协作成员没有收到新增素材?

素材会自动同步,大文件需要一点时间,可以在协作窗口查看传输进度。单个文件最大 2 GB,每个协作项目默认最多 20 GB。详见实时协作。

扩展与更新

分享项目后,对方还需要安装相同扩展吗?

项目启用扩展后,运行所需的项目发行物会跟随项目保存。正常复制或云端分享完整项目时,对方不需要另行安装原扩展;扩展源码不会包含在项目发行物中。 如果只是单独复制章节,扩展、素材或配置仍可能缺失。

为什么调用扩展方法时找不到某个方法?

确认扩展已经加入并启用。部分扩展方法还会根据项目设置按需显示;关闭对应能力后,它不会出现在新建候选中,但剧本里已经使用的方法仍会保留并正常执行。

Stable 和 Beta 更新通道有什么区别?

Stable 适合日常创作,Beta 用于提前体验尚未完全稳定的功能。切换通道不会修改项目内容,但 Beta 版本创建或升级的数据不一定适合旧版 Studio 打开。 更新设置和差分下载说明见Studio 设置 · 版本更新。

仍然无法解决

反馈问题时,建议同时准备:
  • Studio 完整版本号和更新通道;
  • 操作系统版本;
  • 能稳定复现问题的步骤;
  • 报错文字、构建日志或调试日志;
  • 不包含敏感内容的截图;
  • 问题是否只在某个项目、某个平台或某种构建目标出现。
先用项目副本复现问题。不要直接发送包含未公开剧本、账号令牌或商业素材的完整项目。

升级与功能常见问题

欢迎页去哪了?

欢迎页已由首页取代。在项目菜单选择「关闭工程」可以回到首页。

首页进入了部室场景,怎么换回来?

这是看板娘模式。点击右上角的「切到经典首页」即可。

能同时打开两个工程吗?

可以。按 ⌘ + ⇧ + N(Windows / Linux 为 Ctrl + Shift + N)新建窗口,每个窗口打开一个工程。同一个工程只能在一个窗口打开。详见多窗口与多工程。

为什么找不到剧本工具栏的「演出」按钮?

这个入口已经移除。已有的镜头动画可以双击 Block 或从检查器打开演出设计视图,新的演出请使用演出段。卡片、纯文本、Ren’Py 和 JSON 也收进了工具栏左侧的下拉菜单,见剧本编辑器。

试用结束后找不到买过的激活码

在付款界面底部点击「我购买的激活码」,记录跟随付款时登录的账号,还没兑换的可以直接用于激活。详见付款、激活码与授权。

界面卡死或闪退后怎样反馈?

先保存能保存的内容,重新打开 Studio。在「设置 → 存储」打开运行日志目录,把 renderer-diagnostics.log、studio.log 和 studio.previous.log 附在反馈里。详见Studio 设置。

蓝图开启后为什么不按左侧章节顺序播放

蓝图改用图里的入口、节点和连线选择下一章。检查蓝图路线,或切回基础调度;切回后蓝图配置会保留。

找不到旧教程中的主题或角色类型切换

当前公开主题为经典、V3 彩色 A、琥珀织纹、春日书简、放课后纪事、电影居中、握草·原、看板娘。差分立绘是新建角色时选择的独立资源类型,常规角色表情支持图片与序列帧;见角色管理。

加载条为什么忽然跳到 100%

显示的是已完成资源项比例,缓存命中或资源较少时可能快速完成。等待界面的延迟只控制何时显示,不保证最短停留;见加载策略。

修改扩展源码后为什么还是旧界面

检查是否显示待构建,完成构建与项目发行物同步,再运行对应剧情。同步 SDK 不等于构建完成;见扩展开发。

录制灰掉或 Steam 没有反应

录制需要完整桌面程序提供服务,且调试画面已准备好;Steam 只在启用集成的桌面导出游戏中连接。分别查看录制与Steam的排查步骤。