赞
踩
unity商店下载并导入
可以在这里点加号生成各种各样的命令 比如说
说话的实现就是在这里:
随后运行游戏就有对话了
在这里可以选择什么时候开始触发这段对话
可以通过button的方式触发
还有按键盘按键触发
选中摄像机 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); } } } }
然后此时把所需要的变量名字改成对应的名字
然后走进按空格或者点击就可以触发对话 同理可以搞两个npc出来
如果想要和npc对话完之后才能和npc2对话
需要这样:设定变量,然后在对话2里添加if条件(在flow里面)
在对话1这里设定:
此时就可以实现对话完1后才能和2对话了
创建Character物体
设定名字:
选中对话即可设定人物
可以在这里设定立绘还有立绘的个数:
然后 在对话这里选择用什么立绘即可
如果想要修改对话框,可以在这里自己修改
创建新变量Menu(在Narrtive里)
然后设定目标块即可实现
然后即可触发不同对话
(但是这里会有个bug 当你处在最后一句话的时候,由于你处在npc可以对话的范围内,此时你按下空格键有两个作用,一个是结束最后一句对话,另外一个是同时还会重新触发对话
这是在有选择分支的情况下 当选择完之后进入了另外一个block 然后在这个block的最后一句话的时候如果按下空格键 此时会结束这个block的对话,而且还会触发原来的那个block的对话
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。