当前位置: 首页 > news >正文

【Unity实战篇 】| 如何在小游戏中快速接入一个新手引导教程

请添加图片描述

      • 前言
  • 【Unity实战篇 】 | 如何在小游戏中快速接入一个新手引导教程
    • 一、简单教程描述
    • 二、接入Tutorial Master 实现游戏引导
      • 2.1 导入Tutorial Master2插件
      • 2.2 添加TutorialMasterManager脚本对象
      • 2.3 配置Tutorial,用于管理第一段引导内容
      • 2.4 配置Stage,用于添加第一段引导的内容
      • 2.5 创建第二段的Tutorial,并添加触发事件
    • 三、效果展示
  • 总结

在这里插入图片描述


前言

  • 之前分享过一个游戏引导教程的插件Tutorial Master2的文章:Unity 实用插件篇 | Tutorial Master 2 游戏引导教程 快速上手
  • 本篇文章就拿该插件为一个小游戏制作一个简单的游戏引导实战案例。
  • 一起来看看该插件在实际游戏中的使用效果如何吧!

【Unity实战篇 】 | 如何在小游戏中快速接入一个新手引导教程

一、简单教程描述

先来看一下接下来制作教程的示例小游戏长什么样子:
请添加图片描述

游戏结构很简单,主要由三个场景组成,我们的引导教程主要是在第一个场景Start中制作添加。
在这里插入图片描述

一个简单的小游戏示例,本文会在第一次进入游戏时加一个游戏引导,分为两段内容:

  • 第一段:先让玩家先去点击Tutorial教程查看具体的游戏操作,然后在点击Option设置查看音乐和震动的开关,完成之后唤醒第二段教程。
  • 第二段:由第一段结束时唤醒并开始引导(也可以通过某个事件的触发唤醒下一段),点击 Start Game 进入游戏开始游玩。

分为两段的原因是想通过演示 多段教程 来完成该实战案例,毕竟多数游戏中教程有可能不是一个连贯性的完成所有引导内容,而是分段进行的,达到某个触发条件后才开始下一段的引导内容。

这个简单的游戏引导大致就是这些内容,在一个复杂的游戏中肯定不止这么简单。
此处就拿这样一个简单的示例用来学习,更多的内容也只是在此基础上重复的堆叠内容,实际操作都差不多。


二、接入Tutorial Master 实现游戏引导

2.1 导入Tutorial Master2插件

首先我们导入Tutorial Master2插件,如下所示:
在这里插入图片描述

如果看不懂具体怎样操作 Tutorial Master2 的具体步骤,可以前往之前关于Tutorial Master2插件介绍的文章查看:
【Unity 实用插件篇】 | Tutorial Master 2 游戏引导教程 快速上手
【Unity 实用插件篇】 | Tutorial Master 2 游戏引导教程 功能深入学习
【Unity 实用插件篇】 | Tutorial Master2 加入镂空遮罩效果

本文不再详细介绍Tutorial Master的使用,主要描述如何将引导添加到游戏中使用。

2.2 添加TutorialMasterManager脚本对象

首先需要在Start场景中新建一个游戏对象,命名为TMManger并挂载Tutorial Master Manager 脚本。

然后新创建一个Canvas画布,命名为TutorialCanvas,该画布用于显示Tutorial的引导预制体。
在这里插入图片描述

2.3 配置Tutorial,用于管理第一段引导内容

Tutorial Master Manager脚本上点击 Create Tutorial 创建一个Tutorial,并在 Tutorial Setting 面板中命名为First Tutorial

然后在 Stages List 面板中点击 New Stage 创建一个Stage,并在Stage Setting 面板中命名为Stage_Tutorial

在这里插入图片描述

2.4 配置Stage,用于添加第一段引导的内容

先来看第一个Stage Stage_Tutorial的配置怎样设置,该Stage是用于让玩家点击Tutorial按钮进入游戏操作面板查看怎么操作游戏。

Stage Setting面板的Trigger中将 TriggerType 设置为 UGUI Button Click,然后将UGUI Element设置为 Start场景 中的 Tutorial按钮。

然后点击Add..添加一个Arrows和一个Highlighters共两个 Module模块,分别设置两个Module用于引导内容的展示:

  • Arrows 负责在Tutorial按钮左侧并指向该按钮并加了一个来回浮动的特效Floating。
  • Highlighters 负责让Tutorial按钮附带一个高亮的边框,并加了一个边框缩放的效果。
    在这里插入图片描述
    请添加图片描述

接下来再点击Add..添加一个Stage,改名为Stage_Tutorial_Back,该Stege用于点击Tutorial按钮进入游戏按键面板后提示玩家点击返回按钮的引导。

这个Stage就给他添加Highlighters和Pop-up两个Module,分别设置两个Module用于引导内容的展示:

  • Pop-up负责在返回按钮下方显示一个悬浮弹窗告诉玩家点击此处,并加了一个从下方飞到目标点的特效Fly。
  • Highlighters 负责让返回按钮附带一个高亮的边框,并加了一个边框缩放的效果。
    在这里插入图片描述

请添加图片描述

同样的操作继续点击Add..,添加两个Stage,分别用于 点击Option按钮 和 在Option 面板中 点击返回按钮 的Stage的设置。

具体使用哪一个Module用于引导完全看自己的需要自行选择,这个没有限制,且Tutorial Master提供的四个Module我们也可以自定义个性化的样式显示。
请添加图片描述

2.5 创建第二段的Tutorial,并添加触发事件

第一段的引导内容已经配置完了,接下来在 Tutorial List面板 点击 Create Tutorial 再创建一个Tutorial命名Second Tutorial为用于第二段引导的内容配置。

然后与第一段相同的步骤,在 Stage Lis t面板 点击 New Stage 创建一个Stage用于点击Start Game 按钮的引导。

这里也是与第一段添加Module时同样的步骤,给这个Stage添加两个Module用于显示引导样式。
在这里插入图片描述
请添加图片描述

接下来需要来到 Tutorial List面板,找到First Tutorial,在Events下找到 On Tutorial End 事件,点击+添加一个事件方法,方法内容如下:
在这里插入图片描述
在这里插入图片描述
此处输入的Int值1就是我们的第二个Tutorial教程,第一个是从0开始计算的。

这样做的目的是 在第一个Tutorial教程结束时触发第二个教程的开始事件,让第二个教程开始播放。

这样我们的两个Tutorial教程就可以连贯起来触发两段教程内容啦,是不是很简单呢~


三、效果展示

上述两段教程链接起来后播放的效果如下:

请添加图片描述

实际在游戏中第二段教程的触发不一定要在第一段结束,可以在任何节点触发,只要在目标位置调用代码唤醒即可。

同时一个引导可以创建更多的段,用于在各个需要展示引导的地方触发。这样可以更好的展示游戏玩法以及我们想要让玩家做的事情,帮助玩家更好的理解和上手自己的游戏。


总结

  • 本文通过使用Tutorial Master插件结合一个小游戏完成了一个简单的游戏新手引导制作。
  • 制作步骤其实很简单,都是些重复的操作,基本上不用改原有程序的代码。
  • 如果有制作引导教程的需求,还是很推荐学习下这个插件的使用,毕竟这比自己从头设计一个完整的引导框架来实现要省事的多。

  • 🎬 博客主页:https://xiaoy.blog.csdn.net

  • 🎥 本文由 呆呆敲代码的小Y 原创 🙉

  • 🎄 学习专栏推荐:Unity系统学习专栏

  • 🌲 游戏制作专栏推荐:游戏制作

  • 🌲Unity实战100例专栏推荐:Unity 实战100例 教程

  • 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 📆 未来很长,值得我们全力奔赴更美好的生活✨

  • ------------------❤️分割线❤️-------------------------

请添加图片描述请添加图片描述请添加图片描述

请添加图片描述

资料白嫖,技术互助

学习路线指引(点击解锁)知识定位人群定位
🧡 Unity系统学习专栏 🧡入门级本专栏从Unity入门开始学习,快速达到Unity的入门水平
💛 Unity实战类项目 💛进阶级计划制作Unity的 100个实战案例!助你进入Unity世界,争取做最全的Unity原创博客大全。
❤️ 游戏制作专栏 ❤️ 难度偏高分享学习一些Unity成品的游戏Demo和其他语言的小游戏!
💚 游戏爱好者万人社区💚 互助/吹水数万人游戏爱好者社区,聊天互助,白嫖奖品
💙 Unity100个实用技能💙 Unity查漏补缺针对一些Unity中经常用到的一些小知识和技能进行学习介绍,核心目的就是让我们能够快速学习Unity的知识以达到查漏补缺

在这里插入图片描述

相关文章:

【Unity实战篇 】| 如何在小游戏中快速接入一个新手引导教程

前言 【Unity实战篇 】 | 如何在小游戏中快速接入一个新手引导教程一、简单教程描述二、接入Tutorial Master 实现游戏引导2.1 导入Tutorial Master2插件2.2 添加TutorialMasterManager脚本对象2.3 配置Tutorial,用于管理第一段引导内容2.4 配置Stage,用…...

Lookup Singularity

1. 引言 Lookup Singularity概念 由Barry WhiteHat在2022年11月在zkResearch论坛 Lookup Singularity中首次提出: 其主要目的是:让SNARK前端生成仅需做lookup的电路。Barry预测这样有很多好处,特别是对于可审计性 以及 形式化验证&#xff…...

idea 本地版本控制 local history

idea 本地版本控制 local history 如何打开 1 自定义快捷键 settings->keymap->搜索框输入 show history -》Add Keyboard Shortcut -》设置为 CtrlAltL 2 右键文件-》local history -》show history 新建文件 版本1,creating class com.geekmice…这个是初…...

【Freertos基础入门】深入浅出freertos互斥量

文章目录 前言一、互斥量是什么?二、互斥量的使用场景三、互斥量的使用1.创建 2.删除互斥量3.give和take四、示例代码总结 前言 FreeRTOS是一款开源的实时操作系统,提供了许多基本的内核对象,其中包括互斥锁(Mutex)。…...

皮爷咖啡基于亚马逊云科技的数据架构,加速数据治理进程

皮爷咖啡(Peet’s Coffee)是美国精品咖啡品牌,于2017年进入中国,为中国消费者带来传统经典咖啡饮品,并特别呈现更加丰富的品质咖啡饮品体验。通过深入应用亚马逊云科技云原生数据库产品Amazon Redshift以及Amazon DMS等…...

C++ string类详解

⭐️ string string 是表示字符串的字符串类&#xff0c;该类的接口与常规容器的接口基本一致&#xff0c;还有一些额外的操作 string 的常规操作&#xff0c;在使用 string 类时&#xff0c;需要使用 #include <string> 以及 using namespace std;。 ✨ 帮助文档&…...

深入浅出Pytorch函数——torch.nn.init.ones_

分类目录&#xff1a;《深入浅出Pytorch函数》总目录 相关文章&#xff1a; 深入浅出Pytorch函数——torch.nn.init.calculate_gain 深入浅出Pytorch函数——torch.nn.init.uniform_ 深入浅出Pytorch函数——torch.nn.init.normal_ 深入浅出Pytorch函数——torch.nn.init.c…...

一、docker及mysql基本语法

文章目录 一、docker相关命令二、mysql相关命令 一、docker相关命令 &#xff08;1&#xff09;拉取镜像&#xff1a;docker pull <镜像ID/image> &#xff08;2&#xff09;查看当前docker中的镜像&#xff1a;docker images &#xff08;3&#xff09;删除镜像&#x…...

【计算机网络】13、ARP 包:广播自己的 mac 地址和 ip

机器启动时&#xff0c;会向外广播自己的 mac 地址和 ip 地址&#xff0c;这个即称为 arp 协议。范围是未经过路由器的部分&#xff0c;如下图的蓝色部分&#xff0c;范围内的设备都会在本地记录 mac 和 ip 的绑定信息&#xff0c;若有重复则覆盖更新&#xff08;例如先收到 ma…...

通过微软Azure调用GPT的接口API-兼容平替OpenAI官方的注意事项

众所周知&#xff0c;我们是访问不通OpenAI官方服务的&#xff0c;但是我们可以自己通过代理或者使用第三方代理访问接口 现在新出台的规定禁止使用境外的AI大模型接口对境内客户使用&#xff0c;所以我们需要使用国内的大模型接口 国内的效果真的很差&#xff0c;现在如果想使…...

回归预测 | MATLAB实现BO-SVM贝叶斯优化支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现BO-SVM贝叶斯优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现BO-SVM贝叶斯优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介绍程序设计…...

GAN!生成对抗网络GAN全维度介绍与实战

目录 一、引言1.1 生成对抗网络简介1.2 应用领域概览1.3 GAN的重要性 二、理论基础2.1 生成对抗网络的工作原理2.1.1 生成器生成过程 2.1.2 判别器判别过程 2.1.3 训练过程训练代码示例 2.1.4 平衡与收敛 2.2 数学背景2.2.1 损失函数生成器损失判别器损失 2.2.2 优化方法优化代…...

自动驾驶仿真:基于Carsim开发的加速度请求模型

文章目录 前言一、加速度输出变量问题澄清二、配置Carsim动力学模型三、配置Carsim驾驶员模型四、添加VS Command代码五、Run Control联合仿真六、加速度模型效果验证 前言 1、自动驾驶行业中&#xff0c;算法端对于纵向控制的功能预留接口基本都是加速度&#xff0c;我们需要…...

.netcore grpc客户端工厂及依赖注入使用

一、客户端工厂概述 gRPC 与 HttpClientFactory 的集成提供了一种创建 gRPC 客户端的集中方式。可以通过依赖包Grpc.Net.ClientFactory中的AddGrpcClient进行gRPC客户端依赖注入AddGrpcClient函数提供了许多配置项用于处理一些其他事项&#xff1b;例如AOP、重试策略等 二、案…...

C语言入门_Day7 逻辑运算

目录&#xff1a; 前言 1.逻辑运算 2.优先级 3.易错点 4.思维导图 前言 算术运算用来进行数据的计算和处理&#xff1b;比较运算是用来比较不同的数据&#xff0c;进而来决定下一步怎么做&#xff1b;除此以外还有一种运算叫做逻辑运算&#xff0c;它的应用场景也是用来影…...

什么是Eureka?以及Eureka注册服务的搭建

导包 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 htt…...

Docker安装并配置镜像加速器,镜像、容器的基本操作

目录 1.安装docker服务&#xff0c;配置镜像加速器 &#xff08;1&#xff09;安装依赖的软件包 &#xff08;2&#xff09;设置yum源&#xff0c;我配置的阿里仓库 &#xff08;3&#xff09;选择一个版本安装 &#xff08;4&#xff09;启动docker服务&#xff0c;并设置…...

前端 -- 基础 网页、HTML、 WEB标准 扫盲详解

什么是网页 : 网页是构成网站的基本元素&#xff0c;它通常由 图片、链接、文字、声音、视频等元素组成。 通常我们看到的网页 &#xff0c;常见以 .html 或 .htm 后缀结尾的文件&#xff0c; 因此俗称 HTML 文件 什么是 HTML : HTML 指的是 超文本标记语言&#xff0c…...

分布式锁实现方式

分布式锁 1 分布式锁介绍 1.1 什么是分布式 一个大型的系统往往被分为几个子系统来做&#xff0c;一个子系统可以部署在一台机器的多个 JVM(java虚拟机) 上&#xff0c;也可以部署在多台机器上。但是每一个系统不是独立的&#xff0c;不是完全独立的。需要相互通信&#xff…...

C语言小练习(一)

&#x1f31e; “人生是用来体验的&#xff0c;不是用来绎示完美的&#xff0c;接受迟钝和平庸&#xff0c;允许出错&#xff0c;允许自己偶尔断电&#xff0c;带着遗憾&#xff0c;拼命绽放&#xff0c;这是与自己达成和解的唯一办法。放下焦虑&#xff0c;和不完美的自己和解…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...