# VisualScriptingKai **Repository Path**: helpking/VisualScriptingKai ## Basic Information - **Project Name**: VisualScriptingKai - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-22 - **Last Updated**: 2025-06-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VisualScriptingKai 原名 VisualScriptingPlus(因与 Asset Store 上现有产品重名而更改)。 为 Unity Visual Scripting 提供一系列提升使用体验的扩展功能。不仅包含节点搜索工具,还包含其他调试工具。Visual Scripting Kai 旨在为 Unity Visual Scripting 提供急需的功能,使其真正达到可用于生产环境的水平,并能与 Playmaker 等知名解决方案以及虚幻引擎的 Blueprint 竞争。 **包含一个非平凡 Visual Scripting 项目的实时演示:** [视频演示链接: https://github.com/chocola-mint/VisualScriptingKai/assets/56677134/a8523873-c5b5-4836-9e55-5f607c9865a6 ] (上面的项目包含超过 700 个图形单元、50 多个状态和 40 多个状态转换,而 Visual Scripting Kai 仍然运行极其流畅!) 欢迎在 Issues 页面请求更多功能。 ## 功能 ### 图形透镜 (Graph Lens) (菜单路径:Window > Visual Scripting > Graph Lens) 一个模糊搜索工具,可以在你的图形中查找节点、便签 (sticky notes)、状态 (states) 和状态转换 (state transitions)。点击搜索结果可以直接跳转到该节点所在位置。 你也可以将便签搜索工具用作查找待办事项 (TODOs) 的方式。这是一个强大的工具,让你能够轻松地在大型图形中导航。 请注意,对于可以手动更改名称的元素(例如便签和状态转换),更改不会立即反映在搜索结果中。如果你想快速看到效果,请使用 Ctrl+S 保存图形。 ### 图形分析器 (Graph Analyzer) (菜单路径:Window > Visual Scripting > Graph Analyzer) 一个可以查找图形警告的工具。你可以指定最低警告级别以过滤掉不重要的警告。对于快速清理未使用的节点和查找损坏的节点非常有用。 ### 图形调试器 (Graph Debugger) (菜单路径:Window > Visual Scripting > Graph Debugger) 一个运行时工具,当图形遇到异常时,它会自动在 Play 模式下暂停游戏。同时会展示堆栈跟踪 (stack trace),以便你快速找出异常发生的原因。这可以节省大量时间,省去了在长长的红色节点链中挖掘以找到导致异常的节点的过程。 ### 测试节点 (Test Node) [视频演示链接: https://github.com/chocola-mint/VisualScriptingKai/assets/56677134/4d032869-56ef-4838-b5bb-8cbb299d887b ] (菜单路径:Events > VS Kai > Test) 一个强大的调试节点,让你只需点击“运行”(Run)按钮,就可以随时随地运行 Visual Scripting 代码。将其用作快速测试逻辑的方法。 ### 函数节点 (Function Nodes) (菜单路径:VSKai > Functions) 函数是比事件更强大、更安全的版本,使用脚本图形资源 (Script Graph Asset) 定义,如下所示: ![Function Definition Example]( https://github.com/chocola-mint/VisualScriptingKai/assets/56677134/9317eed6-465a-4e84-bc5b-208a17b982e3 ) *(图片描述:函数定义示例图)* 使用**函数开始 (Function Start)** 和**函数返回 (Function Return)** 节点,你可以实现一个具有与脚本图形资源相同端口(此资源称为函数定义)的函数。 然后,其他脚本机 (Script Machines) 可以使用**检查函数 (Check Function)** 或**存在函数 (Has Function)** 节点来检查游戏对象 (GameObject) 是否实现了某个函数,如果实现了,则使用**调用函数 (Call Function)** 节点调用它。 每个函数节点必须通过图形检查器 (Graph Inspector)(在你左侧)分配一个函数定义。 此功能解锁了 Visual Scripting 面向对象编程的潜力,类似于虚幻引擎的 Blueprint 接口。例如,你可以使用它来检查子弹是否击中了可以承受伤害的东西(例如玩家),或者没有击中(例如墙壁)。 **注意事项:** * 你不能在同一个游戏对象上实现相同的函数两次。 * 一个完整的函数实现必须包含一个**函数开始 (Function Start)** 节点和一个**函数返回 (Function Return)** 节点,并且它们必须在同一个脚本机 (Script Machine) 中。这些节点必须位于脚本机图形的顶层(如果将它们放在子图 (Subgraphs) 内,它们将被忽略)。 * 在未实现某个函数的游戏对象上调用该函数是**未定义行为 (undefined behavior)**。你应该始终先使用**检查函数 (Check Function)** 检查目标是否实现了该函数。或者使用**存在函数 (Has Function)** 配合 **If** 节点。 ### 流协程 (Flow Coroutines) [视频演示链接: https://github.com/chocola-mint/VisualScriptingKai/assets/56677134/9317eed6-465a-4e84-bc5b-208a17b982e3 ] (菜单路径:VSKai > Coroutines) **流协程 (Flow Coroutines)** 是可以从任何节点(而不仅仅是事件)启动的协程。**启动流协程 (Start Flow Coroutine)** 节点可用于启动一个新的流协程。流协程的逻辑由“协程开始 (Coroutine Start)”端口定义。你还可以稍后使用**启动流协程 (Start Flow Coroutine)** 返回的**流协程对象 (Flow Coroutine object)**,例如用**停止流协程 (Stop Flow Coroutine)** 节点停止它。 流协程遵循与其他协程相同的规则 - 它们属于生成它们的游戏对象,并且当游戏对象变为非活动状态 (inactive) 时,它们将被停止。 ## 要求 * 本项目使用 Unity 2021.3.30f1 开发,但通常应适用于 2021.3 及更高版本。 ## 安装 * Visual Scripting Kai 作为 git 包分发。使用 Unity 的包管理器 (Package Manager),通过此仓库的 URL 安装:` https://github.com/chocola-mint/VisualScriptingKai.git` * 安装后,转到 **Project Settings > Visual Scripting**,如果需要,点击 **Regenerate Nodes**(重新生成节点)以启用测试节点和函数节点功能。 ## 限制 由于技术限制,对嵌入在场景 (scenes) 和预制件 (prefabs) 中的图形的支持有限。(例如,图形透镜 (Graph Lens) 等工具只有在这些图形当前处于打开状态时才能检测到它们)。为了充分利用 Visual Scripting Kai,请尽可能避免使用嵌入图形。