首页 > 其他分享 >[Unity] 基于 ParadoxNotion FlowCanvas 插件实现技能

[Unity] 基于 ParadoxNotion FlowCanvas 插件实现技能

时间:2023-09-21 17:33:26浏览次数:44  
标签:插件 自定义 ParadoxNotion Unity FlowCanvas xNode 技能

游戏中的技能总是有各种各样的逻辑

比如持续性范围技能,魔兽争霸的暴雪风

链式技能,博德之门的闪电链

持续技能,博德之门的昼明术

等等,这些技能都有各自特殊的逻辑,如何让这些技能有一个通用的配置方法

像是 RPGBuilder 会有一个技能编辑器,里面提供了尽可能多的选择来配置技能

编辑器界面看起来很酷,功能很多,但对于我而言学习成本太高了,如果想修改或拓展其中一些功能,就要花费更多精力去研究它的代码

UE 的蓝图具有很强的灵活性,可以用在各种地方,实现各种逻辑

那么借助蓝图,就可以灵活地自定义技能逻辑了,只需要实现相关的技能逻辑节点即可

但现在用的是 Unity,只能自己开发或者其他地方获取,像是开源的 xNode,以下是 xNode 作者对这个开源插件的定位

Thinking of developing a node-based plugin? Then this is for you. You can download it as an archive and unpack to a new unity project, or connect it as git submodule.
考虑开发基于节点的插件?那么这是给你的。您可以将其作为存档下载并解压到新的 Unity 项目,或将其作为 git 子模块连接。

以我的项目经验而言,拓展维护一套 xNode 插件是一件非常耗时且进展缓慢的事情(如果是商业项目做这种操作风险巨高),而且 Blackboard 这种重要功能也要自己拓展(如果是自己造轮子造着玩,学习 xNode 是相当不错的选择)

于是我找到了 FlowCavnas,一个相当完善的类似蓝图的插件

一个简单的技能,只需要几个节点就能配置完成

 只需要编写简单的战斗框架就可以实现高自定义的技能,FlowCanvas 有这几点好处帮助实现这样的目标

1. 可以通过添加自定义类型,使得开发者可以在 FlowCanvas 使用自定义类型 (UE 蓝图可以直接使用自定义类型,毕竟 Unity 不开源,能实现这样已经很强了)

- FlowCanvas | Modern Visual Scripting for Unity --- - 流画布 | Unity 的现代可视化脚本 (paradoxnotion.com)

2. 可以获取和使用类型中公开的变量和函数,甚至可以传参

3. 拥有 BlackBoard 功能,分为挂在游戏对象上的 BlackBoard 和 该 Asset 的 BlackBoard

标签:插件,自定义,ParadoxNotion,Unity,FlowCanvas,xNode,技能
From: https://www.cnblogs.com/GKEC/p/17720507.html

相关文章

  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(6) -- 窗口控
    在我们窗口新增、编辑状态下的时候,我们往往会根据是否修改过的痕迹-也就是脏数据状态进行跟踪,如果用户发生了数据修改,我们在用户退出窗口的时候,提供用户是否丢弃修改还是继续编辑,这样在一些重要录入时的时候,可以避免用户不小心关掉窗口,导致窗口的数据要重新录入的尴尬场景。本篇随......
  • 在用的vscode插件汇总
    辅助开发类CodeSpellChecker提示你英语语法错误,还能帮你纠正为正确的单词CodeRunner帮你运行脚本文件,不再需要打开控制台>pythonmain.pynodeapp.js翻译(英汉词典)本地词库,实现翻译console-helper前端打印用的,快速对console输出,删除。ProjectMa......
  • IDEA使用Maven的Tomcat7插件运行项目
    首先在插件商店安装MavenHelper<build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</ve......
  • 小白也能看懂的插件化DroidPlugin原理(三)-- 如何拦截startActivity方法
    **前言:**在前两篇文章中分别介绍了动态代理、反射机制和Hook机制,如果对这些还不太了解的童鞋建议先去参考一下前两篇文章。经过了前面两篇文章的铺垫,终于可以玩点真刀实弹的了,本篇将会通过Hook掉startActivity方法的一个小例子来介绍如何找出合适的Hook切入点。开始之前我们......
  • unity3d 清空控制台
    unity3d清空控制台usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;usingAssemblyCSharp;usingSystem;#ifUNITY_EDITORusingUnityEditor;#endifpublicclassVCClearConsole:MonoBehaviour{//......
  • eclipse更多快捷键和插件(我喜欢ctrl+shift+r)
    (1)Ctrl+M--切换窗口的大小(2)Ctrl+Q --跳到最后一次的编辑处(3)F2       --当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即ShowTooltipDescription。          F3       --跳到声明或定义的地方。         F5      --单......
  • VSCode插件:用于生成文件头部注释和函数注释的插件
    需求背景编写完成一个代码源文件,他人想查看这个文件是谁编写的?、什么时候创建的?、最后一个编辑时间?等。如果文件所有者不写的话,那么不好意思,你无法知道这些信息。我想在文件快速添加自定义头部信息以及函数注释信息,提供给自己和他人查询方便。当然我们可以一个一个字符敲上去,但......
  • VS2022插件用法大全
    C#MethodsCodeSnippetsC#方法片段代码在代码区直接输入片段关键字+Tab,即可快速生成想要的方法签名https://marketplace.visualstudio.com/items?itemName=jsakamoto.CMethodsCodeSnippetsmethod普通方法imethod接口方法(没有方法体实现)vmethod虚方法smethod静态方法xmet......
  • 解析vue项目,scoped,ref属性,混入mixin,插件,Elementui
    0解析一下vue项目......
  • 使用js开发一个快速打开前端项目的alfred插件
    使用js开发一个快速打开前端项目的插件目录前言使用的技术栈步骤问题发现待优化前言一直以来开发都是先打开vscode,然后选择项目,在项目多的情况下会觉得挺繁琐;如果同时打开了许多vscode窗口,寻找目标窗口也比较麻烦,于是萌生了开发一个alfred的工作流插件的想法,目标是在alf......