


Naninovel 是用于Unity的扩展资源,通过Editor程序支持和C#框架快速创建文字视觉效果(VN/GalGame)。
视频有了,就不搬运了

视频中v1.9展示了如下特性:
改变游戏内文字字体 全屏过渡特效 立体书页纵深效果 运行实时编辑模式 人物换装 冒险游戏特性创建整合
警告:
注意Unity使用版本,项目配置,目标平台以保证内置功能能够正常工作。参考以下信息:
最低支持2019.4, 可支持从1.x到目前的版本,一旦老API被弃用就会被修改为新的。推荐保持使用最新的2019LTS长期服务版本以减少产品错误。
以下平台经过测试兼容:
·Standalone: PC, Mac, Linux
·WebGL
·iOS
·Android
·UWP (IL2CPP scripting backend only)
Unity的可编程渲染管线(URP和HDRP) scriptable render pipelines不完全支持,需要额外设置,参考细则:render pipelines guide
保持默认,其他修改不支持;
使用这套资源以前应该有对Unity的基础了解:
l 安装Unity;
l 创建项目;
l 编辑器界面交互;
l 使用Assets Store资源商店;
l 发布项目到对应平台;
加入你要创建任何和本扩展无关的场景,可以忽略场景相关的提示信息,因为它们都会用本扩展来协调处理。
开始使用之前,我们快速浏览一些核心概念。
首先很关键的一个概念,在本教程中你会频繁遇到的。演出元素(Actor)是由多种参数ID,外观,场景中位置,等其他参数构成。
演出元素(Actor)是抽象概念,部分演出元素(Actor)有其特殊的参数比如:


如果你想显示出上图的效果,你就需要改变人物以及背景的演出元素的对应参数,改变手段是通过使用Naninovel scripts来实现(自带脚本)。
另一个广泛使用的概念是演出元素,包含玩家和演出元素的交互,有各种各样的菜单(标题画面,保存读取窗口,设置窗口等),以及控制面板(自动阅读切换,跳过文本等)。UI元素默认置于所有演出元素之上。
打字机和选择处理两个元素可视为UI元素,可以由Naninovel scripts控制,用于玩家和游戏的交互。
如果你熟悉编程,可以参阅:engine architecture 了解本资源的程序设计理念。
创建时使用2D模板,免得频繁手动修改导入图片素材的Import settings。
新场景Sample Scene内的Main Camera和Directional Light可以删除,本资源是完全和场景不关联的,但是简直至少留下一个空场景,保证内置功能正常运行。
Demo: github.com/Elringus/NaninovelDemo购买后导入否则报错。
Naninovel资源的文件夹位置可以在资源文件夹内随意移动;
在使用该资源后会自动生成文件夹 Assets/NaninovelData ,请勿移动位置,想修改生成位置,在unity引擎配置菜单编辑Generated Data Path。
通过Create -> Naninovel -> Naninovel Script创建新Naninovel脚本。
(以下示例仅供参考,文件夹和其他资源位置,命名等随意,按使用者自己需求)

Naninovel脚本是文本文件(扩展名为.nani),用于控制你场景的演出,你可以使用任何文本编辑器进行修改,比如Notepad,TextEdit,或者Atom。也可使用可视化编译器进行编辑。
在选择创建好的脚本以后,在右侧的属性面板会自动打开内置的可视化编辑器。

Ø 编辑方法:
l 在右侧编辑器内按右键insert或者Ctrl+Space以插入新行;
l 通过直接输入左边的编号,或是直接拖拽来重新排序已有的行;
l 在右侧编辑器内按右键remove移除已有行;
l 使用其他编译器编译时候注意保存修改,内置编辑器会自动同步修改。
l 在Naninovel -> Resources -> Scripts内按“+”号添加外部脚本,也可以通过拖拽添加,支持文件夹拖拽,确保所有要使用的脚本被添加进来,通过菜单创建的会自动被添加。

在右侧输入如下信息:
Hello World!
@stop
启动场景可以看到运行效果,显示第一句话后,随机根据第二句停止。
(所有可用内置命令,参数,示例参考 API reference,你也可以添加自定义命令,参考 the guide )。
确保Naninovel -> Configuration -> Scripts内Start Game Script正确配置以激活New Game按钮。如果你导入了其他已有脚本,该配置可能不会自动配置,正常创建第一个脚本时,会被自动配置。

本资源可使用人物类型为,2D Sprites,动态Live2D模型3D meshes,你可以导入自己的资源使用,教程里使用2D Sprites。
在Naninovel -> Resources -> Characters 配置要使用的人物资源,每个人物由ID名称和对应的资源构成。支持拖拽添加。

在脚本中使用“.”来调用对应的人物资源如下所示:
@char Kohaku.Happy
Hello World!
@stop
如果不指定特定资源名,会使用默认的显示资源。
可使用如下方式关联显示的对应文本:
Kohaku: Hello World!
Kohaku.Happy: Hello World!
要从场景中隐藏(移除)某个角色,或是其他演出元素如背景等,使用@hide命令如下:
Kohaku.Happy: Hello World!
@hide Kohaku
@stop
l 背景可用Sprite,generic object,video,scene,也可用自定义工具物体;
l 你可以创建多个独立演出元素的背景,在一般VN游戏中,我们通常看到的效果是不同背景之间的切换。为了简化操作,MainBackground是预先添加好在背景演出元素中的的,也就不用每次在脚本中声明id,自动调用MainBackground内的背景;
l Naninovel -> Resources -> Backgrounds在此菜单内添加新背景,默认打开MainBackground条目在此添加,你也可以返回上一级添加其他演出元素添加新的条目;

背景配置和人物配置的一样,一个条目下会有多个子元素,比如
人物:
u Kohaku:kohaku-smile;kohaku-cry;kohaku-mad;
u Haru:kohaku-smile;kohaku-cry;kohaku-mad;
背景:
u MainBackground:school,home,sea-day;sea-night;park-day;park-night;
你可以所有背景放此条目下,调用如下:
@back school
交替切换效果默认使用径向模糊,其他切换方式按如下调用,详细参考transition effect
@back School.RadialBlur
可以按地点把sea和公园提出来按如下划分(或按照其他标准):
u MainBackground:school,home;
u Sea:sea-day;sea-night;
u Park:park-day;park-night;
这样方便管理,调用的时候需要声明ID条目,如下方式调用:
@back Sea id:sea-day
Naninovel -> Resources -> Audio内添加音效;Unity支持的格式参考supported by Unity

BGM默认循环播放,使用渐隐切换过去,音量循环等可以使用参数改动 基本调用如下:
@bgm ThePromenade
音效默认播放一次,调用如下:
@sfx Explosion
购买后导入预览使用:github.com/Elringus/NaninovelDemo
基本引导结束,后续部分看情况更新。因为要按原址的markdown重调格式,给作者更新到他的引导站上,再排个word可能没耐心了,而且专栏过了这么几年了依旧难用。