Unity3d简单对话系统的实现——使用Dialogue editor完成对话系统

news2024/12/25 8:57:57

目录

前言

使用方法

1.下载dialogue editor

2.新建空物体

3.对对话内容进行编辑

4.对话画布建立

5.触发对话框代码

结束语


前言

今天是坚持写博客的第21天,很高兴自己可以坚持,也希望能与大家一起进步。我们今天来看unity3d当中的一个可以轻松实现对话的插件——dialogue editor,希望对大家有帮助!


使用方法

今天我们不废话,直接进入正题。下面是使用dialogue editor的具体步骤:

1.下载dialogue editor

我们先进入unity3d的资源商店,直接搜索dialogue editor,就可以找到这个免费的插件,如下图所示:

在下载完成后,我们进入unity进行import导入。导入后我们可以在project面板当中确认是否已经导入成功,若导入成功,会出现如下图的资源:

2.新建空物体

导入完成后,我们需要设置一个空物体,并命名为Robot Conversation,并在Inspector面板添加NPC Conversation的组件来启动对话

3.对对话内容进行编辑

选择菜单栏的windows栏目,进入dialogue editor。

随后进入面板后,插件中默认有“语言”和“选项”两个方案供大家选择。在“语言”中,大家可以设置当前对话对象的名字、说话的内容等,也可以设置他的头像、对话内容的字体等,还可以设置对话之后触发的事件等:

也可以选择“选项”面板,在这里等于给出分支路口,可以设置交互行为,让玩家不单单是点击进行下一句话,来阅读整个对话。

PS:在选项后可以继续接对话,对话后也可以接对话,但是选项后不能接选项。

4.对话画布建立

建立一个UI画布作为对话画布,画布命名为ConversationCanvas。在conversation scaler当中可以设置对话画布的大小。同时我们需要把最开始下载的插件当中的“canvasmanager”拖到canvas下并作为其子物体。

5.触发对话框代码

首先我们可以建立一个cube,并调整它为一个扁平的长方体作为“踏板”,命名为conversationtrigger。关闭mesh renderer,保证is trigger被选中。

添加一个叫conversation starter的脚本,进入编辑。首先我们需要导入“using Dialogue editor"的头文件(因为是C#语言所以引入是这样的格式。随后写下如下函数:

private void OnTr1ggerstay(Collider other){
    if (other.CompareTag("Player"){
        if(Input.GetKeyDown(KeyCode.F)){
            ConversationManager.Instance.StartConversation(myConversation);
        }
    }
}

其中我们以按下F键为例,大家有其他喜欢的按键也可以替换“keycode”后面的字母。

6.其他工作

最后我们需要回到conversationtrigger,将robot Conversation拖入第二格:

我们还需要保证我们操纵去触发“踏板”的对象或人物需要有一个“Player”标签,否则将无法正常进行对话。

最后我们把代码和程序进行保存。保存后我们开始运行,走进踏板后,就可以按下按钮进行交互和对话了。


结束语

今天和大家的分享就到这里,希望对大家有所帮助,如果有所帮助,希望您可以留下点赞、关注或收藏,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1801054.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python易错点总结

目录 多分支选择结构 嵌套选择 用match模式识别 match与if的对比 案例:闰年判断 三角形的判断 用whlie循环 高斯求和 死循环 用for循环 ​编辑continue​编辑 whlie与else结合 pass 序列 列表(有序) 元组(有序&…

高防CDN是如何应对DDoS和CC攻击的

高防CDN(内容分发网络)主要通过分布式的网络架构来帮助网站抵御DDoS(分布式拒绝服务)和CC(挑战碰撞)攻击。 下面是高防CDN如何应对这些攻击的详细描述: 1. DDoS攻击防护 DDoS攻击通过大量的恶…

数智融通 创新发展|亚信科技携AntDB、Data OS与隐私计算产品,赋能企业高质量发展

5月21日,亚信科技在云端举办了一场别开生面的研讨会——“数智融通 创新发展”,聚焦企业数智化升级的前沿话题。资深产品经理和技术架构师们面对面深入交流,分享创新成果与实战案例,共同探索企业数智化转型的新路径。 图1&#xf…

2024华为数通HCIP-datacom最新题库(变题更新③)

请注意,华为HCIP-Datacom考试831已变题 请注意,华为HCIP-Datacom考试831已变题 请注意,华为HCIP-Datacom考试831已变题 近期打算考HCIP的朋友注意了,如果你准备去考试,还是用的之前的题库,切记暂缓。 1、…

Erlang

官网地址: Index - Erlang/OTP windows环境变量配置 创建新系统变量 ERLANG_HOME 在path加入上述配置

Golang使用讯飞星火AI接口

一、API申请 https://www.bilibili.com/video/BV1Yw411m7Rs/?spm_id_from333.337.search-card.all.click&vd_source707ec8983cc32e6e065d5496a7f79ee6 注册申请,需要在此页面获取appid、apisecret、apikey https://www.xfyun.cn/ https://console.xfyun.cn/ser…

正确挑选百兆超薄款工业级网络/脉冲变压器(网络隔离滤波器)

Hqst华强盛(石门盈盛电子)导读:工业级百兆超薄款网络变压器的生产要特殊的超薄磁芯配正确线径的铜线,使用符合相应防潮标准的凝固胶水。 一 ̖ 首先来看下商业级的超薄款的百兆网络变压器: 商业级(消费级&…

先求生存,再谋发展:俞敏洪的创业哲学与产品创新之路

引言: 在创业的道路上,每一个创业者都面临着无数的挑战和选择。俞敏洪,新东方教育科技集团的创始人,以其独特的创业哲学和坚韧不拔的精神,带领新东方从一个小小的培训机构成长为全球知名的教育品牌。他的成功经验告诉…

成都代理记账公司排名,专业度、服务质量与客户口碑的较量

随着社会经济的发展和市场竞争的加剧,越来越多的企业和个人选择寻求专业的财务咨询服务,在这个过程中,选择一家信誉良好、服务优质、具有丰富经验和高度专业知识的代理记账公司显得尤为重要,下面,我们就来探讨一下在成…

LeetCode 7- 整数反转

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [-231, 231 - 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1: 输入&…

什么是虚拟局域网?快解析有哪些的虚拟化应用功能?

什么是虚拟局域网?从字面上理解就是不是真实存在的局域网。虚拟局域网是将网络用户和设备集中在一起,从而可以对不同地域和商业的需要有一定的支持性。虚拟局域网有它的优点,在使用过程中可以为企业提供更安全、更稳定、更灵活的服务保障体系…

【设计模式】JAVA Design Patterns——State(状态模式)

🔍目的 允许对象在内部状态改变时改变它的行为。对象看起来好像修改了它的类。 🔍解释 真实世界例子 当在长毛象的自然栖息地观察长毛象时,似乎它会根据情况来改变自己的行为。它开始可能很平静但是随着时间推移当它检测到威胁时它会对周围的…

人类语言处理nlp部分笔记——四、GPT3

参考自李宏毅课程-人类语言处理 四、GPT3 1. 介绍 GPT-3是一个language model,它的参数量相当巨大,是ELMO的2000倍。 2. GPT-3的野心 虽然GPT-3和BERT等模型一样,但是GPT-3是不需要针对特定的task做finetune的,也就是说GPT-3…

2 程序的灵魂—算法-2.2 简单算法举例-【例 2.3】

【例 2.3】判定 2000 — 2500 年中的每一年是否闰年,将结果输出。 润年的条件: 1. 能被 4 整除,但不能被 100 整除的年份; 2. 能被 100 整除,又能被 400 整除的年份; 设 y 为被检测的年份,则算法可表示如下…

three.js指南

threejs 相关资料 threejs 官网threejs 案例 安装(Installation) 使用 NPM 和构建工具进行安装 对于大多数用户而已,从 npm 包注册表中心 安装并使用 构建工具 会是一个更推荐的方案。因为项目需要的依赖越多,就越有可能遇到静…

Maven中的DependencyManagement和Dependencies

Maven中的DependencyManagement和Dependencies Dependencies Dependencies是Maven项目中用来声明项目依赖的部分。在pom.xml文件中的<dependencies>部分&#xff0c;你可以直接列出项目所依赖的库&#xff08;artifacts&#xff09;。每个依赖通常包括以下信息&#xf…

Parallels Desktop for Mac 19.4.0 (build 54570) - 在 Mac 上运行 Windows

Parallels Desktop for Mac 19.4.0 (build 54570) - 在 Mac 上运行 Windows Parallels Desktop 19 请访问原文链接&#xff1a;Parallels Desktop for Mac 19.4.0 (build 54570) - 在 Mac 上运行 Windows&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者…

平稳交付 20+ 医院,卓健科技基于 OpenCloudOS 的落地实践

导语&#xff1a;随着数字化转型于各个行业领域当中持续地深入推进&#xff0c;充当底层支撑的操作系统正发挥着愈发关键且重要的作用。卓健科技把 OpenCloudOS 当作首要的交付系统&#xff0c;达成了项目交付速度的提升、安全可靠性的增强、运维成本的降低。本文将会阐述卓健科…

使用Aspose技术将Excel/Word转换为PDF

简介&#xff1a;本文将介绍如何使用Aspose技术将Excel文件转换为PDF格式。我们将使用Aspose-Cells-8.5.2.jar包&#xff0c;并演示Java代码以及进行测试。 一、Aspose技术概述 Aspose是一款强大的文档处理库&#xff0c;支持多种编程语言&#xff0c;如Java、C#、Python等。…

获取当前周周一和周日的日期(格式20240607)

获取当前周周一和周日的日期&#xff08;格式20240607&#xff09; function getWeekStartAndEndDate() {const today new Date() // 获取当前日期const dayOfWeek today.getDay() // 获取今天是周几&#xff0c;返回值是0&#xff08;周日&#xff09;到6&#xff08;周六&…