快速开始
根据Pixel Crushers 2021年新出的视频教程编写
首先,通过Package Manager下载Dialogue System,弹出关于输入的窗口时点确定,弹出关于法线贴图的窗口时点fix now
在欢迎窗口中,勾选相关的模块,如果是2D游戏,务必勾选2D Physics
新建一个Scene用来示例Dialogue System,在Projects窗口中,在Plugins——Pixel Crushers——Dialogue System——Prefabs里面将Dialogue Manager拖拽进Hierarchy窗口中,然后在它的Inspector面板里面,在Initial Database点击Create,在弹出的窗口中选择要保存的位置,然后会自动弹出Dialogue窗口
在Dialogue窗口中,能够设置整个对话的各种数据以及变量等
点击里面的Conversations选项卡,点击里面的加号,会自动创建一个新的Conversation,在Start节点右键——Create Child Node来新建一个子节点,点击选中子节点,在Inspector面板中的Dialogue Text中输入“Hello.”(或者直接双击子节点也可以在弹出的输入框中输入),在子节点右键再次新建一个子节点,输入Goodbye。
除了编辑Conversation,在Conversation选项卡中点击右侧的Menu下拉菜单,有更丰富的“Show”、“Hide”选项,在舞台空白处右键也有“Arrange Node”或者“Snap Node”等选项。另外,我们先用左键画出一个框选区域,然后再按下Ctrl键,就会创建一个“Dragable Group”,在其中的Node都会跟随Group移动
在Unity菜单栏中——Tools——Pixel Crushers——Dialogue System——Import里面有很多根据市面上的非线性文字编辑工具来导入的选项
在Hierarchy窗口中创建空对象并命名为Player,再创建一个Cube命名为NPC,确保NPC在摄像机镜头范围内。
在NPC上面添加Dialogue System Trigger组件,将Trigger改为On Start,点击Actions——Add Action——Start Conversation,选择New Conversation1,然后将Player拉取进Conversation Actor里面,NPC拉取进Conversation Conversant里面
此时点击运行,就会有默认的对话出现了(每一个Dialogue Manager的Prefab都有自带的默认的UI)
我们也可以将Trigger设为On Use,然后给NPC添加Usable组件,设定Max Use Distance为30,给Palyer添加Selector组件,选择Select At 为Mouse Position。
此时运行游戏,当鼠标悬停在NPC上时会显示UI提示,用鼠标右键单击会开启对话
你会发现此时在对话中如果鼠标悬停在NPC上UI提示依然会显示,我们在Player上再添加Dialogue System Events组件,然后添加OnCounversationStart和OnConversationEnd的事件,将Selector拉取进去,添加enable的开闭
这样就可以防止UI提示在对话中再显示出来。