查看原文
其他

教程|10分钟实现游戏角色对话

2016-06-04 Unity官方 Unity官方平台

本文将为大家讲解如何使用Dialogue System在Unity中快速创建游戏的对话系统,实现角色间的相互对话并且带有简单的交互。


首先在Asset Store中下载Dialogue System插件,该插件拥有丰富的API支持以及独立的UI,对于很多游戏来说都非常适用。使用该插件可以很方便的在数据库中创建角色对话,无需编写任何代码。 将插件导入工程中,然后新建数据库。 

注意:导入插件之前要确保将Editor Settings中的Asset Serialization设为Mixed模式,这样就可以使用任意类型的序列化。操作步骤如下:


新建数据库

右键点击Project视图,依次选择Create > Dialogue System > Dialogue Database新建数据库并命名,这里是TalkDB。


在Actors中指定对话的角色

通常是玩家与NPC。下面添加了两个角色,Erwin是玩家角色,所以这里将IsPlayer设为True。Herbert是NPC角色,一只友好的怪兽。


添加对话

在Conversations标签下为角色添加对话,点击菜单项New Conversation新建对话并命名:



创建节点来构成整个对话系统,操作方式与Unity自带的Animation Controller编辑器类似。新建子节点后,系统会自动添加父节点到子节点的链接。每个节点都包含标题和内容两部分。对话内容将在对话开始后显示在对话框中。 

简单的对话示例如下,灰色节点代表NPC,蓝色节点代表玩家:


添加对话管理器

对话管理器是管理数据库与角色间交互的游戏对象,负责协调对话。依次点击菜单项Window > Dialogue System > Wizards > Dialogue Manager添加对话管理器。将之前新建的数据库文件拖拽至对话管理器窗口的Database字段。


选择对话框UI

 Dialogue System中包含多种对话框UI预设体,你可以将对话框预设体赋值给对话框管理器的Dialogue UI属性。


开始对话

以上设置完毕后就可以开始对话了。无需代码也可以直接开始对话过程,但为了更好的控制角色对话节奏,这里使用Dialogue System的API进行管理,当角色走进NPC时开始对话,脚本代码如下:


 

 接下来就可以使用如下方式开始对话了:


对话框UI使用Unity自带的UI系统,最终结果如下:



使用Unity自带的UI系统配置的对话框UI如下:



对话框中可以点击的按钮:



关于对话系统的制作就介绍到这里,如有疑问,请在下方评论区留言。


本文来源于:jayanam.com

原作者:Jay AnAm

Unity官方活动


为了更好地为大家提供本地化的服务,进一步了解大家使用Unity以及相关服务的情况,我们将正式开展本年度第一次《Unity问卷调查》(点击蓝字参与)所有填写完整并提交的参与者,将有机会获得我们赠送的Unity官方纪念礼品


问卷调查地址:https://www.wenjuan.com/s/zaEZVv/


近期Unity官方将在上海举办官方教育培训活动,为参会者提供系统的Unity技能培训,梳理Unity相关的整个技能树以更好的应用到教学中。


如果您是院校老师(点击活动名称报名)

欢迎参与:Unity官方教育培训

活动时间:6月14日 - 6月16日

活动地点:上海


延展阅读

Unite Europe Keynote精彩回顾

文件I/O优化技巧

Unity图像特效教程|保留指定颜色

UnityEvent与C#事件系统性能对比

Unity中如何中断C#脚本的无限循环


我们还会分享更多Unity相关的教程在Unity官方中文论坛(forum.china.unity3d.com),请保持关注!



点击“阅读原文”进入Unity官方中文论坛!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存