DialogueSystem学习笔记

DialogueSystem学习笔记

三、快速开始

1.拖拽对话管理预制件到场景

对话系统预制件

2.创建对话数据库

创建对话数据库

3.创建对话

对话数据库手册
创建对话

显示设置
显示设置
先拖出矩形选区,再按Ctrl键,就可以得到分组
先拖出矩形选区,再按Ctrl键,就可以得到分组
导入对话数据
导入对话数据

4.添加Player和NPC并设置

添加一个游戏对象改名为Player,再添加一个Cube立方体,改名为NPC并进行下图的设置
NPC添加对话系统Trigger并设置
运行即可在NPC游戏对象onstart时,开启对话
ps:需要注意如果EventSystem不存在,对话系统就会停止

5.另一种触发,鼠标射线触发

改Trigger为OnUse
给NPC游戏对象添加Usable并设置
给NPC游戏对象添加Usable并设置
给Player添加Selector并设置
给Player添加Selector并设置
运行即可用鼠标进行点击对话
ps:需要注意如果EventSystem不存在,对话系统就会停止

四、对话条件

根据上节课1.2.3.步骤进行对话数据库的创建,之后设置角色和角色显示名。
设置角色和角色显示名
添加一个bool变量
创建对话
给对话重新排列

接下来给对话添加条件和脚本,其中条件是角色是否回答在家,脚本是根据选项给bool变量赋值

对话加条件和脚本

按照上节课的步骤运行:

添加一个游戏对象改名为Player,再添加一个Cube立方体,改名为NPC并进行下图的设置
NPC添加对话系统Trigger并设置
运行即可在NPC游戏对象onstart时,开启对话
ps:需要注意如果EventSystem不存在,对话系统就会停止

五、Bark对话框

添加对话
新建一个Capsule胶囊当做游戏角色,添加一个BarkOnIdle组件,然后添加DialogueActor,最后测试
添加对话角色和闲置时Bark
最后运行即可看到在游戏对象头上的对话框

六、交互

ps:交互用的是2d做的例子

添加游戏对象

crate交互

注意要先将player的Tag设置为Player
Crate设置对话系统触发器和对话角色
Crate设置碰撞体

然后设置Player移动代码,进行测试

Villager交互

Player设置

Villager的设置

Villager的DialogueSystemTigger脚本也可以不用Bark,改为添加对话,同样也可以添加DialogueSystemEvents组件给Player来监听对话开始和结束。来控制对话时角色不移动。

可以修改对话UI预制件

在Villager头上显示选中UI

七、快速测试

1.从头Play测试

从头Play测试

2.在节点Play测试

在节点Play测试

八、模版

创建模版


DialogueSystem学习笔记
https://www.liu2dream.fun/post/DialogueSystem学习笔记/
作者
刘老师 MrLiu
发布于
2024年6月26日
许可协议