Unity 过场工具(Cutscene)设计(三)
Unity 过场工具(Cutscene)设计(三)
由于过年来公司的一些事情后准备换工作,到现在才换到下家稳定下来。 到动手这篇博客时已经隔了很久好几个月了,后续还是会持续的更新完
工具的使用者
在设计工具之前需要考虑到工具的实际使用者,可能是面向多个岗位的同学使用。
比如:策划,Unity客户端程序,专业导演,特效师,动作建模美术等等。
他们对过场工具的使用和需求实际上是并不完全一致的,毕竟每个人关注的点不同,所以我这个工具最终设计出来是面向多个岗位使用,解决不同岗位的需求。
实际需求分析
-
策划岗位
通常对于大部分策划来说,他们需要的是根据自己的玩法需求。在工具里定制自己的过场表现,可能需要操控镜头,角色动作,配合一些简单的逻辑区分(队员 怪物,NPC等等)等等,一般来说这些过场表现不归纳为到很顶级的过场(S级)。所以工具需要提供一些通用的操作控件和操作规则,以及一些逻辑区分。
-
导演
通常来说需要导演制作的过场工具通常是归纳为S级的过场。需要很专业的分镜划分和运镜操作。如果在Unity里制作通常就是直接使用Cinamachine插件,但是为了兼容其他功能逻辑我这里会再和Timeline进行封装。
如果是在DCC软件里制作的 就需要提供一键转化功能到当前Unity工具中,也是方便导演查看和补充
-
客户端程序
对于客户端程序来说,工具(Runtime)最重要的就是能够给他们提供逻辑接口,能够很好的解决过场和实际逻辑之间的逻辑耦合,当有动态需求时能能够很好的解决动态绑定的问题。在工具层(Editor)能够提供同样的扩展接口和组件,能够持续的配合项目做需求迭代。
-
其他岗位
通常来说只需要提供很好的预览表现即可,让其按照工具的固定操作所见即所得即可
工具设计
为了能最大程度的兼容所有需求,解决通用性,最终工具设计的是以Unity本身的Timeline插件为操作核心,自己再开发外层Editor工具以及自己的Runtime中间件以及接口, 所有的操作都由自己的Editor工具进行操控(这个很重要,后面会说明)。
Timeline只负责对Clip的调整对齐以及属性设置,禁止做自己的增删。
最终输出资源:
-
一个Prefab,只包含自己的中间件和必要信息
-
一个TimelineAsset资源,也是只有必要的轨道信息(大部分预览信息在保存时都会被删除) 这个和Prefab做关联。
直接使用Prafab进行PlayableDirector的播放效果是不对的。需要在调用绑定的中间件接口才能真正的运行起来。
后面文章会一步步分析如何按照这个思路 开发Timeline的Track,设计中间件 开发Editor功能。