Unity使用fungus插件实现对话系统

Unity使用fungus插件实现对话系统文章目录对话实现触碰 npc 产生对话条件对话带人物的对话分支对话对话实现 unity 商店下载并导入可以在这里点加号生成各种各样的命令比如说说话的实现就是在这里 随后运行游戏就有对话了在这里可以选择什么时候开始触发这段对话可以通过 button 的方式触发还有按键盘按键触发触碰 npc 产生对话选中摄像机 ctrl shift f 可以使得其对准当前 scene 的场景添加一个 NPC 为了防止人物穿过 NPC 可以给人物添加刚体为了防止人物倾倒可以锁定其 xyz 轴为了产生使其能在一

对话实现

触碰npc产生对话

选中摄像机 ctrl+shift+f可以使得其对准当前scene的场景

using System.Collections; using System.Collections.Generic; using UnityEngine; using Fungus; public class NPCcontrol : MonoBehaviour { 
    public string ChatName;//这个名字是FlowChart中,块的名字,需要把这个变量设定为flowchart中块的名字 // Start is called before the first frame update private bool canChat = false; private void OnTriggerEnter(Collider other) { 
    canChat = true; } private void OnTriggerExit(Collider other) { 
    canChat = false; } private void Update() { 
    if (Input.GetKeyDown(KeyCode.Space)) { 
    Say(); } } private void OnMouseDown() { 
    Say(); } void Say() { 
    if (canChat) { 
    //对话 Flowchart flowChart = GameObject.Find("Flowchart").GetComponent<Flowchart>(); if (flowChart.HasBlock(ChatName)) { 
    //执行对话 flowChart.ExecuteBlock(ChatName); } } } } 

条件对话

带人物的对话

在这里插入图片描述
创建Character物体
设定名字:
在这里插入图片描述
选中对话即可设定人物
在这里插入图片描述
可以在这里设定立绘还有立绘的个数:
在这里插入图片描述






在这里插入图片描述
如果想要修改对话框,可以在这里自己修改
在这里插入图片描述

分支对话

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后即可触发不同对话
(但是这里会有个bug 当你处在最后一句话的时候,由于你处在npc可以对话的范围内,此时你按下空格键有两个作用,一个是结束最后一句对话,另外一个是同时还会重新触发对话



这是在有选择分支的情况下 当选择完之后进入了另外一个block 然后在这个block的最后一句话的时候如果按下空格键 此时会结束这个block的对话,而且还会触发原来的那个block的对话

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232611.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【SpringBoot】25、SpringBoot中使用Quartz管理定时任务

    【SpringBoot】25、SpringBoot中使用Quartz管理定时任务定时任务在系统中用到的地方很多,例如每晚凌晨的数据备份,每小时获取第三方平台的Token信息等等,之前我们都是在项目中规定这个定时任务什么时候启动,到时间了便会自己启动,那么我们想要停止这个定时任务的时候,就需要去改动代码,还得启停服务器,这是非常不友好的事情直至遇见Quartz,利用图形界面可视化管理定时任务,使得我们对定时任务的管理更加方便,快捷一、Quartz简介Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲

    2025年8月20日
    2
  • 约4万个外国人名,中英对照[通俗易懂]

    约4万个外国人名,中英对照[通俗易懂]以下是一些外国人名,中英对照

    2022年9月30日
    3
  • SLAM算法总结——经典SLAM算法框架总结

    SLAM算法总结——经典SLAM算法框架总结SLAM算法总结——经典SLAM算法框架总结SLAM算法总结——经典SLAM算法框架总结SLAM算法总结——经典SLAM算法框架总结从研究生接触SLAM算法到现在也有

    2022年6月30日
    24
  • CAN通信协议(一)

    目录目录前言CAN基础知识介绍CAN的特点物理层特征通讯节点波特率及位同步位时序分解波特率帧种类介绍数据帧介绍总结链接地址前言因为工作,需要研究CAN总线。博主的CAN学习参考正点原子和野火的教程。虽然没有买板子,不过对于博主现在来说,感觉开发板都差不多吧!毕竟工作中开发板肯定是不一样的!CAN基础知识介绍CAN是Contr…

    2022年4月4日
    226
  • python中modulenotfounderror_esxi安装报错

    python中modulenotfounderror_esxi安装报错1.下载安装包https://www.python.org/ftp/python/该目录下选择所需要的版本进行下载、解压。wgethttps://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgztar-xzvfPython-3.7.1.tgz2.二进制文件安装  1.创建存放目录mkdir/usr/l…

    2025年12月1日
    5
  • 2022最新前端经典面试试题[通俗易懂]

    1,阐述清楚浮动的几种方式(常见问题)(1)父级div定义height原理:父级div手动定义height,就解决了父级div无法自动获取到高度的问题。优点:简单、代码少、容易掌握缺点:只适合高度固定的布局,要给出精确的高度,如果高度和父级div不一样时,会产生问题(2)父级div定义overflow:hidden原理:必须定义width或zoom:1,同时不能定义heigh…

    2022年4月14日
    72

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号