本文主要是介绍unity + ink/inky,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
b站教程搬运:如何在 Unity2D 中制作带有选择的对话系统-Unity+Ink 教程(但是字幕机翻,可读性很差)
原视频:How to make a dialogue system with choices in unity2D + ink (管)
github链接:ink-dialogue-system
概述
需要学习的内容:
ink:用来编写剧情的脚本语言
inky:编辑ink文件用的编辑器
c#脚本:
①dialog manager:
-
unity会把ink文件编译成json,需要通过这个c#文件将json转换为story对象。
-
此教程中,dialog manager使用单例模式,只允许游戏中在同一时间点出现一个对话框,因此也会在这个脚本中进行判断当前是否有对话正在进行,从而可以做对话中禁止用户移动的操作等。
②dialog trigger:用来调起dialog manager
ink如何工作:
①设置一个npc。
②给其设置box collider。
③设置一个对话提示(当玩家进入碰撞器检测范围,npc头上出现一个东西,提醒用户触发对话)
④把需要触发的对话ink文件挂到这个npc上。
⑤用户按下按键,通过dialog trigger调起dialog manager,在dialog manager中,读取ink文件,将文件中的第一行内容展示在panel上。
⑥完成对话,panel隐藏。
注:此教程中,假设每个npc有自己独立的ink文件。
准备工作
①arts文件夹中,准备两个素材,触发对话前npc头上出现的提示icon,以及对话“继续”的icon。
②main camera
③ground(供玩家站立的地方)
④player,有box collider 2d和刚体(类型dynamic)属性,挂一个character controller脚本,tag设置为player
⑤manager和input system
managers下挂一个inputManager,用来设置玩家的移动方式。不只是移动方式,由于在这个系统中还设置了submit的操作按钮,所以不在这里设置的话,之后做了选项会无法提交选择。
在input action assets中,设置对应的按钮。
⑥Text mesh pro
Window->Package Maneger->下拉框:Package: Unity registry->搜索:TextMeshPro->install
安装后
Window->TextMeshPro->Import TMP Essential Resources->import
⑦Ink Unity Intergration 插件
Unity assest store下载
Window->Package Maneger->下拉框:Package: My assets ->Ink Unity Intergration->import
⑧Inky
inky下载
右键创建一个ink文件,双击打开后进入inky,写入一些文字,保存后在unity中看到一个json文件就是安装好了。
恭喜!准备工作结束了可以从git把代码下载下来用了!!
这篇关于unity + ink/inky的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!