跳转到内容

常见问题 ​

我需要懂编程才能使用 Naninovel 吗? ​

Naninovel 的设计对非程序员十分友好,不需要编程知识即可创建基本的视觉小说。例如,我们的 WebGL 演示 ↗ 就是在没有任何自定义 C# 脚本的情况下创建的。请查看 快速上手指南 和 视频教程 ↗ 以了解基本工作流程的示例。但是,添加自定义功能(游戏玩法)或与其他第三方包集成,在大多数情况下需要编写 C# 脚本(或使用 可视化脚本)。特定功能(例如 UI 自定义)可能还需要一些使用 Unity 编辑器的经验。

我可以将 Naninovel 用作现有游戏的嵌入式对话系统吗? ​

Naninovel 主要用于构建视觉小说,也可作为对话或过场动画系统嵌入任何类型的游戏。为此,我们还提供了 专用模式。

为什么不使用节点图来编写剧本? ​

乍看之下,节点图似乎很适合创建对话。但随着内容增加,节点图很快就会变得杂乱,难以管理。复杂对话更适合用文本编写:即使内容规模扩大,也更容易保持条理和高效的工作流程。

例如,请比较 这些截图 ↗:左边是一款流行的 Unity 资产,使用节点图编写对话;右边则是用 Naninovel 编写的相同脚本。文本形式的脚本更加直观,也更易于管理——无需操作笨重的 UI,也不必为了修改内容而在 Unity 资产中来回查找。如果您更喜欢可视化编辑器,我们也有比节点图更适合这项工作的 专门的编辑器。

不过,节点图在梳理故事的分支走向时仍然很有用。因此,Naninovel 提供了 故事图,让您清晰地掌握故事的整体结构。

可以在 Naninovel 中嵌入小游戏吗? ​

可以。您可以在 Naninovel 的默认流程中加入任意自定义逻辑。不过,在许多情况下,需要通过自定义 C# 脚本或 可视化脚本 来调用引擎的 C# API。可用于与引擎交互的公开 API 列表见 引擎服务指南。在此过程中,您还可以 将状态管理交给引擎,并使用 自定义 Actor 实现 和 自定义命令。

支持特定的语言吗? ​

Naninovel 可以支持任何语言,但要显示某些语言的文本,您需要兼容的字体。有关更多信息,请参阅 本地化指南 的“字体”部分。

购买 Naninovel 后可以获得源代码吗? ​

所有与 Unity 相关的源代码都在分发包中提供。通用的 Naninovel 模块预编译为动态程序集,源代码托管在 私有 GitHub 存储库 ↗ 上,您可以在 注册许可证 ↗ 后访问。

法律条款和使用条件是什么? ​

Naninovel 的使用受以下最终用户许可协议(EULA)约束:naninovel.com/eula ↗。在下载或使用应用程序之前,请仔细阅读该文档。

为什么在注册 Asset Store 许可证时会出现“asset wasn't downloaded”错误? ​

当通过 Unity 的 Asset Store 购买 Naninovel 时,需要进行资产下载验证。为了使验证成功,购买资产的用户必须通过 Unity 的 Package Manager ↗ 至少下载一次 Naninovel。如果购买了多个资产副本,则必须由关联的组织用户下载每个副本。如果您已完成所有步骤但仍然遇到问题,请 联系 Unity 支持 ↗。

警告

当从组织账户购买资产时,必须由组织所有者下载资产才能通过检查(被分配的成员不算数)。这是 Asset Store 的限制,我们在这种情况下无法提供任何解决方法;请联系 Unity 支持以获取更多信息和帮助。

如何自定义标题(主)菜单? ​

对于 UI 部分(更改/添加按钮或面板布局和样式),请 修改内置的标题 UI 预制件;对于其他所有内容,请在脚本配置菜单(Naninovel -> Configuration -> Scripts)中设置 Title Script,并像编写剧本一样使用脚本命令来设置场景。标题脚本将在引擎初始化后以及使用 @title 命令时自动播放。

为什么背景被裁剪了? ​

确保背景纹理分辨率的纵横比与摄像机配置中设置的参考分辨率相匹配。此外,确保使用 正确的设置 ↗ 导入纹理(例如,Max Size 足够大)。

当屏幕纵横比与参考分辨率比例不同时,背景 Actor 默认会尝试匹配屏幕,这可能会导致裁剪;有关更多信息,请参阅 匹配模式指南。

如何在打印的文本消息中间插入命令? ​

使用 命令内联。

如何防止命令并发运行? ​

指定 wait 参数,该参数在所有异步命令中均可用,例如:

nani
; 打印机将在角色隐藏后开始淡出。
@hideChars wait!
@hidePrinter

注意

有关异步(并行)命令执行的更多信息,请参阅 专门的文章。

如何让 Actor 显示在彼此前面(Z 轴排序)? ​

使用沿 Z 轴的定位,例如:

nani
; 使 Sora 出现在底部中心并位于 Felix 前面
@char Sora pos:50,0,-1
@char Felix pos:,,0

如果在透视摄像机模式下遇到排序问题,请尝试将 Edit -> Project Settings -> Graphics 编辑器菜单中的 Transparency Sort Mode 更改为 Orthographic。有关 Unity 中对象排序方式的更多信息,请参阅 2D 排序手册 ↗。

是否可以只在文本打印机中显示角色的头像,而隐藏角色本身? ​

为您希望隐藏的角色指定 !visible;头像将保持可见,例如:

nani
@char CharId !visible

如果您在角色本身应保持隐藏的情况下不断更改头像,请考虑在角色配置菜单中禁用 Auto Show On Modify;禁用后,在角色处于隐藏状态时更改其任何参数都无需指定 !visible。

或者,查看 将 Actor 渲染到纹理 功能。

如何从剧本脚本运行自定义 C# 代码? ​

要调用 C# 逻辑(例如,访问场景中的游戏对象),请使用 自定义命令;要从 C# 方法获取值并在剧本脚本中使用它,请使用 表达式查询。