Unity 对话系统Fungus教程(使用心得 持续更)

时间:2024-02-21 22:10:50

前言:借用别人一句话:万事儿开头难,枪在手,不得不发~

      因缘巧合之下误入了unity这片完全陌生,让我头痛欲裂的世界。但因比赛在即,不得不学。在做剧情的时候,发现使用unity十分繁琐复杂,这时发现了Fungus对话系统这个插件,仿若捡了宝贝...有了ta 做起剧情来水到渠成,而且操作简单,功能强大。然而,网上关于fungus的讲解与教程翻来覆去就那几个,用的人也不多(放着这么好用的插件不用简直暴殄天物!)。于是乎,经过这几个月的摸索,结合网上学到的、自己的经验和犯过的错误,对fungus做一下整理,一是对自己的所学进行下总结,二则希望对大家有所帮助。

     

1、Fungus简介

    Fungus是一款检视面板自定义工具,主要帮助标志不同角色对话在检视面板上显示的颜色,以更好更清晰地实现游戏角色之间的对话逻辑。该插件需要Unity 5.0及以上版本,无需编写代码。Fungus能以标签来触发对话过程中的事件以及各种条件与逻辑处理,并且支持本地化,对相机、Sprite及音乐音效的控制。提供了一个交互式的界面,能够快速构建一个对话系统。

安装与使用:

官网可以免费下载http://fungusgames.com/,下完之后的包直接拖到你的Asset文件夹下就能用了。

下好之后,菜单栏会多一个Tools,长这样:

从这儿,你可以创建flowchat流程图、Character角色、Say dialog 语言对话框、Menu Dialog 选项对话框等等..

2.具体使用说明

(1)创建对话

按上图创建一个Flowchat, 建好之后,右侧inspector栏会出现:

点击Open Flowchat Window,出现流程图视图,右键选择Add block添加一个块,如下图:

在右侧更改块的名字,第一个块的事件类型选择 Game Started作为游戏的开始。

接下来,就可以点击下方的加号按钮来添加对话,人物,音乐,目录balabala好多东西。

注:流程图是由一个个块廉洁而成的,而你所有的内容都包含在这些块里。

最常用的是Narrative里的Say对话、Menu目录、Potrait肖像等等。

丰富完剧情大概长这个样子:

(2)添加角色,预设对话框

点击Tools-create-Character 创建角色

p

右侧设置姓名,可添加多个Portraits肖像。

点击Tools-create-Say dialog 语言对话框、Menu Dialog 选项对话框,预设对话框。

如上图,可以任意把对话框设置成想要的样子。预设MenuDialog同理。

(3)背景与图片的切换

先将场景sprite放入stage舞台中,然后在流程图的Block中添加Fade Sprite

通过改变Target Color中颜色的透明度来实现图片的出现与消失,通过设置Duration来改变图片出现/消失的过渡时间。

 

(4)通过Menu Dialog制作一个简单的答题系统

首先,在流程图下方添加一个数字类型变量--分数。在流程图中添加几个块,改好名字。

在右侧添加内容,将正确答案或错误答案menu的Target Block 选为指定块。

如何进行分数设置?

以第一题为例,在将正确答案指向“第一题答对”这个块,错误选项指向第二题。在“第一题答对”的块中,添加Set Variable。将下方Variable选为之前设定的“分数”,操作设为“+=20”,即每答对一题得二十分。

如何进行分数显示?

首先在“总分”的块中,添加一个“Say” 在文本框里输入“你得到了{$分数}分!” {$分数}即代表你的得分。引用变量都可以使用{$  }来表示。之后还可以添加if语句通过分数的不同来走向不同的剧情。

弄完长这样:

 

(5)背景音乐与音效的设置

对于文字游戏来说,合适的背景音乐与音效至关重要,跟没有是有很大不同的。

我将用到的音频素材都放进了Audio文件夹下。使用起来很简单,主要用到的 Play music、Play sound、Stop music等。

将音频拖进Music Clip,选中Loop使音频循环播放,改变Fade Duration设置播放的过渡时间。

(6)为人物添加动画

以“男主哭”为例,为男主哭的图像添加Animator 

按Ctrl+6打开Animation

Add Property,添加Sprite。右侧用flash的方法设计动作即可。