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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 高通平台环境搭建,编译,系统引导流程分析「建议收藏」

    高通平台环境搭建,编译,系统引导流程分析「建议收藏」1、高通平台android开发总结1.1搭建高通平台环境开发环境在高通开发板上烧录文件系统建立高通平台开发环境高通平台,android和modem编译流程分析高通平台7620启动流程分析qcril流程分析,设置sim卡锁pythonscons语法学习Python语言之scons工具流程分析: 1.

    2022年10月19日
    5
  • cad转dxf格式文件太大,将CAD图纸文件进行转换成低版本DXF格式如何进行?

    cad转dxf格式文件太大,将CAD图纸文件进行转换成低版本DXF格式如何进行?将 CAD 图纸文件进行转换成低版本 DXF 格式如何进行 CAD 图纸文件在绘制时候会有不同的版本但是在进行查看的时候会由于图纸的版本问题而无法将图纸文件进行打开 这个时候就需要进行的操作就是将其进行版本间的转换了 具体应该怎么样进行操作 接下来小编就要来教大家的就是将 CAD 图纸文件进行转换成低版本 DXF 格式如何进行的全部操作步骤 希望以下能够帮助到你们 步骤一 首先要打开电脑 打开浏览器在搜索框中输入

    2025年7月12日
    2
  • 关于 UART 和 USART 的区别

    关于 UART 和 USART 的区别UART(universalasynchronousreceiverandtransmitter)通用异步收发器,信号包含TX,RX USART(universalsynchronousasynchronousreceiverandtransmitter)通用同步异步收发器,信号包含TX,RX,CK 区别:USART同时支持同步模式/异步模式,支持同步模式时需要同步时钟信USART_CK。UART只支持异步模式。 相同:在US…

    2022年5月19日
    56
  • 使能DHCP Relay_option键的作用

    使能DHCP Relay_option键的作用DHCP一家子(不包括DHCPv6)包括DHCPClient、DHCPServer、DHCPRelay以及DHCPSnooping,之后我会一个个详细学习之后发出来。今天讲述一下DHCPrelay,之前先学习的DHCPSever,还没来得及整理,之后会发出来,今天先说说DHCPRelay。DHCPRelay(DHCP中继),也叫作DHCPAgent,主要用于DHCPClient和DHCPServer不在一个网段时,DHCPClient又有自动地址分配的请…

    2022年10月15日
    4
  • Hanlp分词之CRF中文词法分析详解

    Hanlp分词之CRF中文词法分析详解

    2021年6月30日
    140
  • 无责任Windows Azure SDK .NET开发入门篇(一):开发前准备工作[通俗易懂]

    无责任Windows Azure SDK .NET开发入门篇(一):开发前准备工作

    2022年2月23日
    42

发表回复

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

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