Unity使用fungus插件实现对话系统
文章目录
- 对话实现
- 触碰npc产生对话
- 条件对话
- 带人物的对话
- 分支对话
对话实现
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 updateprivate 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);}}}
}
然后此时把所需要的变量名字改成对应的名字
然后走进按空格或者点击就可以触发对话 同理可以搞两个npc出来
条件对话
如果想要和npc对话完之后才能和npc2对话
需要这样:设定变量,然后在对话2里添加if条件(在flow里面)
在对话1这里设定:
此时就可以实现对话完1后才能和2对话了
带人物的对话
创建Character物体
设定名字:
选中对话即可设定人物
可以在这里设定立绘还有立绘的个数:
然后 在对话这里选择用什么立绘即可
如果想要修改对话框,可以在这里自己修改
分支对话
创建新变量Menu(在Narrtive里)
然后设定目标块即可实现
然后即可触发不同对话
(但是这里会有个bug 当你处在最后一句话的时候,由于你处在npc可以对话的范围内,此时你按下空格键有两个作用,一个是结束最后一句对话,另外一个是同时还会重新触发对话
这是在有选择分支的情况下 当选择完之后进入了另外一个block 然后在这个block的最后一句话的时候如果按下空格键 此时会结束这个block的对话,而且还会触发原来的那个block的对话
Unity使用fungus插件实现对话系统相关推荐
- Unity Fungus插件的对话系统简单使用
Fungus是Unity免费的一款开源的插件,它可以无代码的实现玩家与NPC之间的对话,对于Fungus这个插件,我今天说一说我对它的看法以及一些简单的运用和简单的代码功能的实现. 这里需要导入Fun ...
- Unity的NGUI插件篇——入场效果
Unity的NGUI插件篇--入场效果 入场效果 入场效果需要借助于NGUI提供的TweenPosition类来完成,为了说明此类的使用方法,本节将使会讲解两个示例.本文选自 大学霸 <NGU ...
- Unity时钟定时器插件
Unity时钟定时器插件 http://dsqiu.iteye.com/blog/2020603 https://github.com/joserocha3/KillerCircles/blob/67 ...
- Unity好用插件集合1
插件集合 3D Character Pack 4 characters LuciSoft 3D Low Poly Car For Games 14 Arrow Animations 1.0 A Pat ...
- Unity 大气特效插件分析 - Aura #01
老实说我也不知道该叫啥了这标题wwww Aura是一个Unity的开源插件,可以实现较为出色的大气效果(如:体积光,体积雾等等): 传送门: Asset store: https://assetsto ...
- Unity使用OpenCV插件实现人脸融合 —— 换脸换装示例
Unity使用OpenCV插件实现人脸融合 案例说明 Unity版本以及必备插件 快速上手 核心(黑心)方法(脚本): 结束 案例说明 本章节针对部分网友提出的看不懂源码,拿到相关资料后这也报错,那也 ...
- Curved UI - VR Ready Solution To Bend Warp Your Canvas 1.7,1.8,2.2,2.3 四种版本压缩包(Unity UGUI曲面插件)
Curved UI - VR Ready Solution To Bend Warp Your Canvas 1.7,1.8,2.2,2.3 四种版本压缩包(Unity UGUI曲面插件) 可以兼容V ...
- unity 使用ump插件播放视频 ,打包发布后黑屏或者在别人电脑上运行黑屏,解决方案
unity 使用ump插件播放视频 ,打包发布后黑屏或者在别人电脑上运行黑屏,解决方案. ump插件下载 最近在项目里面 需要接入海康监控 并在unity中显示,我选择使用ump 插件播放视频, 刚开 ...
- 关于Unity视频播放器插件 AVPro Video(二)3D物体上视频播放
1.官网下载该插件或者我分享的链接: 链接:https://pan.baidu.com/s/1boGeJ8r 密码:mvbf 2.新建项目创建主要控制物体 3.创建对于视频播放在3D物体身上的材质 4 ...
- Unity —— 针对DynamicBone插件的迭代来实现布料模拟
这篇博客介绍了我在近期针对于Unity的DynamicBone插件进行迭代,从而实现近布料模拟的方法. 由于部分涉及到工作内容,因此询问了部门老大后决定本博客将只介绍迭代思路,不涉及到具体实现,也不会 ...
最新文章
- 中国Nature第一人,居然是清朝的他
- arduino 智能车组装步骤_【本周福利】arduino从入门、进阶到精通学习资料包(免费滴)...
- 三级pc技术_EeIE智博会展商推荐鑫路远—专业从事液控设备的研发、生产和销售的高新技术企业...
- Nginx的rewrite之set指令
- Android开发之原生定位的方法(GPS,网络定位)
- 几个python小程序
- Visual Studio统计有效代码行数
- mysql slave修改_MySql主从复制(初学笔记)
- 【Docker】Error: No such image: gotok8s/kube-proxy:v1.16.5
- vSAN其实很简单-vSAN盘他之重新部署vCenter
- unity黑白滤镜_Unity NGUI图片去色黑白效果
- 计算机的英语音标是什么,英语音标怎么打出来,怎样在电脑上输入英语音标?...
- 普通路由器DMZ主机设置及访问方法
- chrome js 读取文件夹_javascript – 如何从chrome扩展程序读取文件?
- html、css合并表格边框
- element ui 上一页下一页_vue翻页器,包括上一页,下一页,跳转
- 精美黑色UI版创客新零售系统源码
- 测试管理办公室TMO职责
- APP开发技术方案模板
- scratch接红包游戏 电子学会图形化编程scratch等级考试三级真题和答案解析2021-9