当前位置:   article > 正文

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

unity fungus

对话实现

unity商店下载并导入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以在这里点加号生成各种各样的命令 比如说
在这里插入图片描述
说话的实现就是在这里:
在这里插入图片描述
随后运行游戏就有对话了
在这里插入图片描述

在这里可以选择什么时候开始触发这段对话
在这里插入图片描述
可以通过button的方式触发
在这里插入图片描述
还有按键盘按键触发
在这里插入图片描述

触碰npc产生对话

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

添加一个NPC
为了防止人物穿过NPC 可以给人物添加刚体
为了防止人物倾倒 可以锁定其xyz轴
在这里插入图片描述
为了产生使其能在一定范围内能触发对话的效果,为其添加一个球形碰撞器并选中触发器
在这里插入图片描述

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);
            }
        }
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

然后此时把所需要的变量名字改成对应的名字
在这里插入图片描述
然后走进按空格或者点击就可以触发对话 同理可以搞两个npc出来
在这里插入图片描述

条件对话

如果想要和npc对话完之后才能和npc2对话
需要这样:设定变量,然后在对话2里添加if条件(在flow里面)
在这里插入图片描述

在对话1这里设定:
在这里插入图片描述
此时就可以实现对话完1后才能和2对话了

带人物的对话

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

然后 在对话这里选择用什么立绘即可
在这里插入图片描述

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

分支对话

创建新变量Menu(在Narrtive里)
在这里插入图片描述
然后设定目标块即可实现

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/90721
推荐阅读
相关标签
  

闽ICP备14008679号