Tutorial Master 2
是一个编辑器扩展插件,创建游戏互动教程会非常的快速和容易!Tutorial Master 2
的简单使用方法!在游戏开发过程中,你是否遇到过必须设计游戏教程,但却没有时间的情况?
一开始,制作一个简单的“操作指南”截图似乎是可行的方法,但对于具有深度机制的游戏来说,这并不总是最佳解决方案。如果你不能教会他们如何玩你的游戏,你就有可能失去潜在的长期玩家。
互动教程是最好的解决方案,但这需要花费大量时间,并且通常需要修改游戏代码才能使其发挥作用。最后,你可能会在一个平庸的教程上花费大量时间!
Tutorial Master是一个编辑器扩展,允许您创建您的游戏互动教程惊人的快速和容易!
Tutorial Master2 已经建立了从地面到成为最好的教程制作解决方案之一!教导新玩家(以及潜在用户)如何以你所希望的方式玩游戏!
用户界面和整体工作流程鼓励将交互式教程快速集成到现有项目中,无论其类型和大小如何。
最重要的是,你不需要修改现有的游戏代码!只需添加教程主组件,你就可以开始了!
Tutorial Master有一个灵活的工作流程,它可以让你快速进入创建教程!如果你想在你的教程中有自定义行为,也有易于理解的API!
用c#构建在UGUI之上,教程大师将在所有unity支持的平台上工作,包括移动和VR!
完整功能列表:
导入插件后Tutorial Master 2 提供了两个示例场景:Inventory Demo和Starter Demo。
首先,在Unity工程中新建一个测试场景,用于学习使用不需要太复杂,暂时放两个Button按钮待会用于引导的点击就可以。
在场景中新建一个GameObject游戏对象并挂载一个Tutorial Master Manager脚本,命名可以随意。
该脚本主要用于引导教程的管理器,创建引导教程的操作都是在该脚本上进行的,非常重要。
在Tutorial Master Manager脚本上配置引导预制体,预制体在Prefabs文件夹下已经有默认样式的四种预制体了。
我们在Prefabs文件夹下将四种预制体拖到Tutorial Master Manager脚本的Poolling Setting
中上即可,若是觉得样式不好看,也可以自己制作对应Model的预制体拖上去即可使用。
在Tutorial Master Manager上点击Create Tutorial
创建引导教程,点完之后下面会多出一部分内容Tutorial Setting
。
此时一个引导教程就已经被创建了,可以看到有三个Event:On Tutorial Enter
、On Tutorial Start
及On Tutorial End
,这些事件会在教程开始和结束时触发,如果我们想要在教程开始和结束时执行某些事情,就可以通过这里的Event事件进行添加功能。
但是目前还没有对应的教程引导内容,还需要接着往下看。
每个教程都由几个阶段组成,理想情况下,我们会希望在每个阶段向玩家呈现一个有用的建议(例如,在他可以访问设置菜单的地方显示一个按钮)。
此时点击阶段列表(Stages List)
中的添加阶段(New Stage)
,可以看到多出一个Stage Setting
, 并完成第一个阶段的创建。
该Stage页面有个比较重要的参数Trigger Type
,如果引导进入了某一个阶段,一定要有一个离开该阶段的触发机制,Trigger Type就是用于设置该触发机制。
比如点击某个按钮,按下某个键或者等待几秒钟都算是一个触发机制。
还可以选择Activation Dekay 激活延迟
,防止引导刚出现就被误触点掉了。
同样的Stage也有三个Event事件:On Stage Enter
、On Stage Playe
及On Stage End
,这些事件会在教程的某阶段开始和结束时触发,如果我们想要在教程的某阶段开始和结束时执行某些事情,就可以通过这里的Event事件进行添加功能。
在Stage Setting
页面有一个Audio可以用来配置 进入/离开 该引导阶段的音效,可以按需添加音效,不需要的话就选择Never即可。
在Stage Setting
中有个Models模块,这个地方就是设置引导教程最终的表达形式,也就是前面讲到的四种模式 :
Arrow Module、Image Module、Hightlighter Module、Popup Module。
虽然不同的模块具有独特的功能和设置,但所有模块都共享基本属性,这些属性主要决定了模块在画布中的位置。
测试为了简单起见,我们让它在第一阶段有一个指向按钮的箭头和一个悬浮文字面板的提示。
此时我们点击Add创建一个Arrow Model和一个Pop-Up Model:
TargetCanvas 目标画布
以匹配按钮将要驻留的画布。Position Mode 位置模式
为“Transform Based”。Target Type 目标类型
应该是“Canvas Space”,因为我们想要指向一个Ul元素Placement type 放置类型
为“Right”。这将放置箭头模块,以便它将定位在目标Ul元素的右侧,考虑到它的大小。继续,我们可以看到箭头模块的“Module Properties 模块属性
”部分。如果将 Placement Type 放置类型
设置为“Right”,那么Point Direction 点方向
就应该设置为“Left”,这样箭头就会指向UI元素。Placement Type 放置类型
设置为 “Bottom”,这样悬浮面板就会显示在目标的下方。Title
和Message
的内容用来配置悬浮面板的标题和内容。这里还要加一个步骤,将Trigger Type
设置为UGUI Button Click
,这样可以将该阶段的触发机制改为点击目标Button按钮完成该阶段的引导。
为了方便测试,我们需要至少要有两个引导教程阶段可以看的效果更直观。
在 Stage List
中选中刚才创建的第一个Stage点击右边的按钮可以直接复制一个Stage进行使用。
对于复制的这个Stage,我们删掉悬浮面板,只留一个箭头Model,然后改个名字,并将TriggerType和Target改为第二个Button按钮。
这样我们就制作好了一个简单引导教程中的两个阶段内容,接下来就可以运行程去测试啦!
经过上面的一系列步骤终于是完成
Play On Start:游戏开始运行,便开始引导。
我们可以在这里勾选该选项,即运行程序时就开始进行引导。
若是不勾选上述选项,也可以在程序运行后在Tutorial Master Manager脚本上的 Debug Mode
中点击 Start Tutorial
启动引导教程。
Debug Mode
只会在程序启动后才会出现,用于测试引导教程的Debug。
在 Debug Mode 中我们还可以看到引导教程的执行进度,也可以在多个教程中进行切换测试。
新创建一个脚本TutorialController,编写以下代码:
using HardCodeLab.TutorialMaster;
using UnityEngine;
public class TutorialController : MonoBehaviour
{
private TutorialMasterManager tmManager;
private void Start()
{
tmManager = GetComponent<TutorialMasterManager>();
//启动引导教程
tmManager.StartTutorial();
Debug.Log("<color=#FF4040>" + "引导启动!" + "</color>");
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.LeftArrow))
{
//切换上一个引导阶段
tmManager.PrevStage();
}
if (Input.GetKeyDown(KeyCode.RightArrow))
{
//切换下一个引导阶段
tmManager.NextStage();
}
}
}
这里的代码也是用到了三个Tutorial Master的API,分别用来启动引导教程、切换上一个引导阶段及切换下一个引导阶段。
无论选择哪一种启动方式都可以,让我们直接运行程序查看下效果如何。
这里在On Tutorial End
的Event中加了一个方法用于在教程结束时显示一个文字,所以教程结束后会有一个文字提示。