[Unity插件]Simple-Dialogues插件说明以及相关操作
Simple-Dialogues插件 貌似暂时只能 梳理 NPC 的对话框的 内容。
https://github.com/7ark/Simple-Dialogues/blob/master/index.md
https://docs.google.com/document/d/17O37EvuRUuw5vHXxaVDOXvKxCTT-WITC19ICojek_3Q/edit
https://www.assetstore.unity3d.com/en/?lipi=urn%3Ali%3Apage%3Ad_flagship3_feed%3BkmZ6wBu7TsmcB99Nc8ONqw%3D%3D#!/content/98640
Dialogue Editor对话编辑器
下载简单对话框后,您可以进入窗口>对话系统找到对话编辑器窗口。一旦你打开它,它可能会告诉你,你没有选择任何东西。 首先,我们必须给一个GameObject对话组件! 选择一个gameobject作为你的NPC,去添加组件,然后搜索对话框,或者从脚本文件夹中拖放它。
(新建一个 Cube物体,作为NPC, 添加 Dialogues 组件)
现在,当您在层次结构中选中并突出显示GameObject时,当您进入对话编辑器时,它会显示一个黑屏,允许您添加和删除树!
Trees树
树木基本上是我们的工作空间,在这个区域内我们可以添加所有的节点。 你可以拥有尽可能多的树木。 要添加树,只需在顶部选择“新建对话树”即可。
一旦你完成了这个,你会看到我们的新工作空间! 要在这个区域移动,您需要按住鼠标中键并拖动,这将允许您滚动到该空间的所有边界。
现在,您可以通过右键单击网格空间内的任意位置并点击“创建第一个窗口”来添加第一个节点
一旦你完成了一个窗口出现! 从这里你可以做很多事情。
Nodes节点
节点由几个元素组成。 首先是最明显的部分,中间的大窗口,这部分允许你键入你的对话! 在左上角和右上角还有一个 - / +按钮。 这些允许快速添加新窗口连接,或者您可以手动右键单击节点,点击“创建连接”,然后右键单击其他位置并选择“创建对话窗口”或“创建决策窗口”。 节点也有触发器,但是我们会稍微介绍一下。 所有的节点也应该有一个开始和结束,这些都是自动生成的。 它们标记节点将在代码中使用它们时重置的位置,以及当前树已经结束的时间。
节点有几种不同的类型,可以是对话窗口,决策窗口或选项。 我们将会讨论每种类型。
Dialogue Window对话窗口
这是最基本的窗口类型,而且很自我解释。 这是一个正常的对话文本进入的窗口。 它只能有一个连接到另一个窗口。
Decision Window决策窗口
这个窗口让我们可以决定我们要去树上的位置! 如果我们想要一个窗口有多个分支,它必须被标记为一个决策窗口。 当你创建一个决策窗口,如果它没有连接,它将是黄色的,表明它至少需要一个,否则将是绿色的。
-------------------------------------------------怎么新建 "Dialogue Window对话窗口" 或者 "Decision Window决策窗口"
New Dialogue Tree -- Create First Window
选中Start ,鼠标右键点击 -- Create Connection,Start 窗口旁边就有个紫红色的线
在 这种状态下,鼠标右键,就可以 新建 "Dialogue Window对话窗口" 或者 "Decision Window决策窗口"
-------------------------------------------------
Option Window选项窗口
这种类型的窗口不能手动创建,它们是来自决策窗口的结果。 当您创建一个决策窗口时,之后连接的任何窗口将被标记为选项窗口。 这些代表对任何决策窗口的回应,例如:
在这里你看到选项窗口显示为青色。
Connections连接
这些节点中的大多数都是为您创建的,但有时您可能需要一些窗口循环回去,或者还原到之前的节点(如商店系统)。 您可以使用“建立连接”工具来执行此操作。 如果你右键单击一个节点,点击“创建连接”,然后右键单击另一个窗口,然后点击“建立连接”这些窗口现在将被连接! 这不适用于所有窗口,例如试图在已经有连接的两个节点之间建立连接。
Triggers触发器
触发器是一个非常简单的功能,它只是允许您将节点标记为具有触发器属性。 如果点击节点上的触发器旁边的复选框,将出现一个文本框。 这使您可以键入您的触发器文本,然后您可以在代码中访问。
Dialogue Coding对话编码
一旦我们有了我们的树设置,那么我们可以访问代码中的所有数据! 包内包含一个例子,你可以通过基本的例子来了解一个基本的对话系统如何设置。
Dialogues Component对话组件
对话框组件是你放在NPC上的实际组件,以及用来访问所有你需要的对话的东西。 一旦通过序列化字段或其他方法获得了访问权限,就可以调用其中的函数来获取数据。 我们将在这里介绍一些这些功能。
**String Reset()** This simple takes the current tree we’re in, and resets the node we’re tracking to the starting node. 这个简单的过程就是使用我们所在的当前树,并将我们正在跟踪的节点重置到起始节点。 **Bool SetTree()** This sets what tree we’re working in, and where the dialogue should be pulled from. Calling this function automatically resets the tree. 这设定了我们正在工作的树,以及应该从哪里开始对话。 调用此函数会自动重置树。 **Bool End()** This simply returns whether the current node we’re looking at is an end node. 这只是返回当前我们正在查看的节点是否是一个结束节点。 **Bool HasTrigger()** Triggers whether this node has a trigger. 触发此节点是否具有触发器。 **String GetTrigger()** Returns the current trigger on this node. 返回此节点上的当前触发器。 **Int Next()** This moves our current node we’re looking at to the next node in the tree. There are a few things to note however. If we’re at the end of the tree, this will return -1. Also, if this node has choices to make, it will not progress and will return the number of choices it has, otherwise it returns 0. 这将我们正在查看的当前节点移动到树中的下一个节点。 有几件事需要注意。 如果我们在树的末尾,这将返回-1。 另外,如果这个节点有选择,它将不会进展,并将返回选择的数量 它有,否则返回0。 **Bool NextChoice(string)** This function is what actually selects a choice based on the passed in string. It will evaluate the choices this node has, and if they match the string, it will go down that path, you can get the available choices with GetChoices(). Note, if this node is not a decision node, it will return false. 这个函数实际上是根据传入的字符串选择一个选项。 它会评估这个节点的选择,如果他们匹配的字符串, 它会沿着这条路走,你可以用GetChoices()获得可用的选择。 注意,如果这个节点不是决定节点,它将返回false。 **String[] GetChoices()** Returns an array of strings of all the choices this current node has stored. 返回当前节点存储的所有选项的字符串数组。 **String GetCurrentDialogue()** This actually returns the current dialogue of the node we’re looking at.
这实际上返回了我们正在查看的节点的当前对话。
问题
-------------------------------一些基本的操作
-------------------------------------------------新建 "Dialogue Window对话窗口" 或者 "Decision Window决策窗口"
New Dialogue Tree -- Create First Window
选中Start ,鼠标右键点击 -- Create Connection,Start 窗口旁边就有个紫红色的线
在 这种状态下,鼠标右键,就可以 新建 "Dialogue Window对话窗口" 或者 "Decision Window决策窗口"
-------------------------------------------------
创建Option 窗口
删除窗口
选中窗口,鼠标右键--Remove Connection,就把其他的窗口删除了
-------------------------------