Arzie100 发表于 2022-1-24 18:58

Unity Graph View Learn

1.什么是UnityGraphView?

    这里可以参考一些其他人的介绍文章,可以尝试把简单的Demo实现并理解其含义~ 例如我看过的
这里再附上一个UnityGraphView的官方文档地址(虽然没什么卵用...)
2. 我要用GraphView做什么东西?

    在当前在做的项目中,游戏类型虽然已经固定,但是策划还是想要再次基础上对于游戏的玩法做一些自定义的改变,而目前项目的代码结构并不支持很灵活的玩法编辑,只能通过拆分策划需求为多个原子项功能,再对已有代码打补丁、重构或重新开发功能等方法来支持策划的一些特殊功能。在这里我先介绍一下目前项目中开发一个新功能或者新玩法需要做的工作吧(举个栗子):
      1.策划想要添加一个功能: 每场战斗时间过半,如果本方单位少于对方单位,本方获得额外两个远程单位。
      2.程序对于该需求进行原子项拆分(策划同学也可以做这一步):
         A. 流程条件:战斗开始 = 1、回合时间过半 = 2、战斗结束 = 3
         B. 判断模块:LeftOpt(左操作数)    Symbol(操作符) RightOpt(右操作数)
         C. 取值模块:获取本方存活单位数,获取敌方存活单位数,获取当前战斗时间,获取回合总战斗时长
         D. 奖励模块:给某一方添加N个某种棋子
       3. 将逻辑写好后交给策划来配置某个表格字段,最后通过解析策划配置的表格字段来还原A、B、C、D来确保能在正确时机执行到正确的逻辑。
       4. 后续只需要根据策划需求来给A C D三个模块来打补丁即可实现一些可拓展的功能。
      目前仍存在的问题:原子项虽然拆分出来,但是与功能耦合严重。策划想要把改原子项应用至其他场景下时需要程序重构代码来支持(复制粘贴QAQ)
      因此,一个灵活、可拓展、解耦合的玩法编辑器的出现就显得十分必要了。正好之前有看到过GraphView相关的一些内容,用“蓝图”让策划编辑玩法,岂不美哉?(并且有点逼格!)
3. 用蓝图实现玩法编辑器需要准备什么?

      1.功能拆分,原子项拆分,拆分粒度适当
      2.蓝图节点拆分,例如流程控制、判断、执行节点或者取值节点等等
      3.函数调用Runtime以及Editor下如何灵活支持(反射)
      4.GraphView学习!(文档好像很少,摸一摸)
4. GraphView学习规划(随机应变)

         1.Demo节点生成,基础Editor功能跑通
         2.比较、循环等流程控制节点实现
         3.根据反射信息动态生成节点的入口以及出口
         4.Graph数据的存储和解析
         5.GraphRuntimeVM,用于Runtime执行Graph节点逻辑
5. Let's Go!
页: [1]
查看完整版本: Unity Graph View Learn