Skip to content

编辑器

Naninovel 拥有独立的网页版编辑器,你可以通过可视化界面编写场景脚本,并使用节点图管理剧情结构 —— 或者仅在浏览器中为游戏编写剧本草稿并使用程序化生成的资源进行预览,无需打开 Unity 编辑器,就能在浏览器中直接工作。

cover

安装

前往 naninovel.com/editor ↗,即可直接在浏览器中使用该应用。

可选地,你也可以接受浏览器提示,将其安装为独立的 PWA 应用 ↗,这样它会在任务栏上拥有专属图标,并在原生系统窗口中运行,就像普通桌面应用一样。

cover

安装为 PWA 后,你可以折叠窗口标题栏以增加编辑器的垂直空间。

cover

首次设置

首次启动应用时,会提示你选择一个目录来存储用户数据,例如自定义布局和设置。这一步是必须的,用于在浏览器卸载或切换时保留偏好设置;同时也方便你在不同设备之间备份或迁移用户数据。你可以选择任意目录,例如 <USER>/.nani,其中 <USER>用户主目录 ↗

文件系统访问

选择目录时,浏览器会请求权限,允许应用读取和写入该目录下的文件。这是浏览器安全模型的一部分,用于确保应用无法访问授权目录以外的内容。

NOTE

浏览器的安全机制不允许你直接选择系统目录(如桌面或主目录)的根路径。请在这些位置下创建一个子目录,例如在主目录下创建 .nani 文件夹。

下次访问时,浏览器会提示是否允许应用永久访问所选目录。确认后,你将无需每次重新授权,同时编辑器可以在启动时自动打开上次使用的项目。

cover

编辑器模式

设置完成后,你可以选择一个空目录以创建新的项目(沙盒模式),或选择一个现有的 Unity 项目以进入 Unity 附加模式

沙盒模式

沙盒模式完全独立于 Unity 编辑器。它提供工具用于在浏览器中编写场景脚本并预览游戏,支持最新的引擎规范、指令和运行时功能。底层生成标准的 .nani 文本文件,可直接在 Unity 中复用,或用 IDE 扩展 进行编辑。

沙盒模式的主要用途包括:

  • 在购买前体验 Naninovel 的脚本系统与运行特性;
  • 在正式进入 Unity 开发前,使用自动生成的资源编写剧本草稿。

在项目设置界面选择 “Create Project” 即可进入沙盒模式。

项目创建后,编辑器会自动生成一个模板,包含若干预制的场景脚本与资源,帮助你快速上手。如有需要,你可以通过 文件浏览器 删除它们并从零开始。

游戏窗口

网页编辑器中的游戏预览功能仅在沙盒模式下的 “Game” 选项卡中可用。

cover

你可以通过控制面板上的播放按钮控制预览。每个按钮既是控制器,也是播放状态的指示器:

  • Play/Stop – 控制游戏实例是否初始化与运行,可用于快速重置游戏实例;
  • Pause/Resume – 控制脚本播放器是否等待输入,可在不激活继续输入的情况下暂停或恢复播放;
  • Fast-Forward – 是否启用跳过(快进)模式,可快速浏览游戏内容。

生成资源

在撰写剧情时,可能需要使用占位媒体资源(如音频、背景、角色贴图)。同时,在预览剧本时,能清楚地看到当前激活的资源也很有帮助。

沙盒模式允许创建资源元数据(Asset Meta),在其中描述资源特征,编辑器会生成可区分的预览图以显示被引用的资源。

cover

要创建资源元数据,请在 文件浏览器 中右键点击 BackgroundsCharactersAudio 目录下的空白处,然后选择添加对应的资源类型。

创建完成后,可选中该资源以查看和编辑其属性。

cover

创建的资源会自动出现在 场景编辑器 的下拉菜单中。

cover

选中资源时,它们会即时显示在游戏预览中。

Unity 附加模式

Naninovel 编辑器可以附加到安装了 Naninovel 包的 Unity 项目,提供额外功能,如可视化场景编辑器和剧情节点图。

cover

在设置界面选择 “Open Project”,然后选取现有 Unity 项目的 Assets 目录,编辑器将以附加模式启动。

需要注意的是,虽然播放控制按钮仍然可用,但在附加模式下游戏预览选项卡是禁用的,因为播放控制由 Unity 管理。在这种模式下可以隐藏游戏预览选项卡。

除此之外,编辑器在附加模式下的工作方式与沙盒模式相似:场景编辑器、剧情图、全局搜索等功能均可使用。它还会自动从 Unity 编辑器中读取自定义指令、资源与元数据,类似于 IDE 扩展。你也可以同时使用这两者 —— 例如,在 VS Code 中编写脚本的同时,在可视化编辑器中微调或在剧情图中跟踪结构。

工作区

编辑器工作区支持灵活可定制的布局。你可以通过拖动分隔线或选项卡来自由调整大小或位置,也可以点击选项卡右侧的按钮最大化显示。

cover

编辑器提供多种默认布局模板,你也可以通过控制面板的下拉菜单添加自定义布局。

cover

文件浏览器

文件浏览器选项卡允许你管理当前项目根目录下的文件与文件夹。你可以创建新的场景脚本或资源元数据(仅限 沙盒模式),并组织文件结构。

cover

请注意,在 附加模式 下,即使选择了 “Assets” 目录,文件浏览器也会跳过无关文件夹,仅显示场景根目录。

当你通过文件浏览器重命名或移动场景脚本时,编辑器会自动更新导航指令(如 @goto@gosub),以保持路径有效。

检视器

Naninovel 编辑器的交互模式类似 Unity 编辑器:你可以选择一个资源(如文件浏览器中的文件或剧情图中的节点),其对应的编辑器界面会显示在检视器选项卡中。这种结构化与直接编辑分离的设计,让工作流程更高效。

cover

检视器支持键盘焦点切换 —— 你可以使用 Tab 和 Shift+Tab 快速在输入字段和控件之间切换,无需鼠标操作。

场景编辑器

场景编辑器是该应用的主要创作工具。它是编写 .nani 文件的可视化替代方案,可取代 VS Code 等文本或代码编辑器。

cover

每个场景编辑器选项卡对应一个 .nani 脚本,脚本行以表格行形式显示。可使用底部的 + 按钮、右键菜单或快捷键 Ctrl+Space(可在 设置 中修改)添加新行。

你可以通过拖放调整行顺序,或使用右键菜单、DeleteCtrl+D 删除或复制行。

沙盒模式 下,修改会立即生效并反映到游戏视图中。在 附加模式 下,你需要 保存 文件后更改才会同步至 Unity。

游戏运行时,当前播放的脚本行会以绿色或黄色高亮,具体取决于该行是否在等待输入。要自动打开当前播放的脚本并选中活跃行,可点击控制面板上的专用按钮或按 Ctrl+X

cover

剧情图

剧情图用于可视化、追踪和组织场景结构,同时也允许直接编辑脚本。

默认情况下,每个节点代表一个场景脚本或目录,节点之间的连线表示脚本间的跳转。条件跳转(例如 @choice@if 下的 @goto)会显示为虚线,并在连接端口上列出条件。

cover

你可以在图面上右键创建新的脚本或目录节点,并通过节点的上下文菜单移动或重命名它们。双击目录节点或在上下文菜单中选择 “Enter Folder” 即可进入目录。

你也可以进入脚本节点,此时剧情图将作为可视化场景编辑器使用。此时图中的节点将变为标签节点(Label Nodes),包含可编辑的剧本行,与 场景编辑器 的操作方式相同。

cover

脏保存

当你修改了某个资源(如场景脚本或剧情图)后,该资源会变为 “dirty” 状态 —— 即更改仅存在于内存中,尚未保存到磁盘。要将更改永久保存,需要执行保存操作。

cover

当至少有一个资源处于 dirty 状态时,保存按钮会被激活。点击它可以查看哪些资源已被修改,并选择全部或单独保存。你也可以按 Ctrl+S 一键保存所有未保存的资源。

撤销与重做

编辑器中的大多数修改操作都会被记录,可通过撤销/重做系统恢复。当有改动发生时,撤销按钮会被激活 —— 点击后可查看修改历史,并单独撤销或重做各项操作。

cover

也可以使用快捷键 Ctrl+Z 撤销、Ctrl+Y 重做。

全局搜索

随着项目规模增大,你可能需要在所有场景脚本中进行全局搜索。双击 Shift 键或点击控制面板上的 “Search” 按钮,即可打开全局搜索界面。

cover

搜索结果会在输入时实时更新,涵盖脚本名称与内容。选择结果后会自动打开对应脚本,并在 场景编辑器 中高亮显示相关行。

设置

你可以通过设置选项卡自定义编辑器与项目。设置分为两类:用户设置项目设置。可通过控制面板菜单或快捷键 Ctrl+Alt+S 打开。

cover

用户设置

用户设置存储在你在 首次设置 时选择的目录中,不会与项目共享,适用于该设备上的所有项目。包括编辑器配色方案、快捷键映射(Keymap)以及 UI 元素可见性等偏好。

项目设置

项目设置独立于用户,存储在项目目录下,会在所有参与该项目的用户之间共享。包括项目标题等项目特定的属性。

快捷键映射

快捷键映射属于用户设置的一部分,用于配置编辑器中各种功能的按键绑定,例如添加行、复制节点、进入播放模式等。

要绑定按键,找到对应操作并输入按键代码,可使用 + 添加修饰键。可参考 MDN 文档 ↗ 查看有效按键与修饰键。

在 macOS 上,修饰键映射如下:

按键macOS
Ctrl
Alt
Shift