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


相关推荐

  • c++发送post请求_request的post方法作用

    c++发送post请求_request的post方法作用介绍:RestSharpRestSharp是一个轻量的,不依赖任何第三方的组件或者类库的Http的组件。RestSharp具体以下特性;1、通过NuGet方便引入到任何项目(Install-Packagerestsharp)支持net4.0++2、可以自动反序列化XML和JSON3、支持自定义的序列化与反序列化4、自动检测返回的内容类型5、支持HTTP的GET,POST,PUT,HEAD,OPTIONS,DELETE等操作…

    2025年8月29日
    6
  • 3d立方体旋转动画代码_3d旋转图片制作

    3d立方体旋转动画代码_3d旋转图片制作3D立方体旋转动画

    2022年4月21日
    72
  • init是啥意思_init 0到6的意思

    init是啥意思_init 0到6的意思1.内核启动问题2.解决方案2.1ramdisk(比如initrd)2.2tmpfs(比如initramfs)2.3ramdiskvsramfs2.4临时文件系统2.4.1观察tmpfs2.4.2Initramfs2.4.3查看initramfs2.4.4创建initramfs2.5Linux系统中的initramfs2.6cpio归档文件3.高级用户3.1制…

    2022年8月11日
    7
  • linux rm 命令详解,Linux rm命令使用指南「建议收藏」

    linux rm 命令详解,Linux rm命令使用指南「建议收藏」Linux系统的众多命令中,rm命令主要用于删除文件,下面小编就来详解介绍下Linux系统的rm命令,希望对初学者有一定的帮助。名称:rm使用权限:所有使用者使用方式:rm[options]name.。。说明:删除档案及目录。参数:?-i删除前逐一询问确认。-f即使原档案属性设为唯读,亦直接删除,无需逐一确认。-r将目录及以下之档案亦逐一删除。范例:删除所有C语言程式档;删除前逐一询问确…

    2025年6月29日
    5
  • pycharm国外默认镜像源_gnuradio国内镜像源

    pycharm国外默认镜像源_gnuradio国内镜像源阿里云http://mirrors.aliyun.com/pypi/simple/中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban)http://pypi.douban.com/simple/清华大学https://pypi.tuna.tsinghua.edu.cn/simple/中国科学技术大学http://pypi.mirrors.ustc.edu.cn/simple/…

    2022年8月28日
    4
  • 关于内存警告

    关于内存警告

    2022年1月26日
    57

发表回复

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

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