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)
上一篇 2025年9月27日 下午8:01
下一篇 2025年9月27日 下午8:22


相关推荐

发表回复

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

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