【译】欢迎来到Fabric2引擎的世界
欢迎来到Fabric2引擎的世界
翻译出处:http://fabricengine.com/welcome-to-fabric-engine-2/
本文将是一系列对Fabric2引擎的新特征和新概念进行介绍的第一篇博客。该篇博客将会介绍程序流程图和Fabric引擎的画布(canvas)功能,首先来看一下介绍视频,通过视频了解如何下载Fabric以及如何开启Fabric学习之路。
Fabric Engine下载和注册关于程序流程图的历史
节点流程图(Nodal Workflows)一直是二维或者三维行业的一部分。SlidFX的软件Houdini在三维应用行业中一直占据着冠军的位置。在最近几年,程序流程图(Procedural Workflows)的发展趋势略有起色。
Autodesk Softimage,3ds Max以及Maya介绍了多种基于节点的解决方案。除此之外,Peregrine实验室的Yeti提出了程序流程图用于毛发的装饰。来自与The Foundry公司的基于节点的合成系统Nuke,已然成为了后期合成的行业标准。在游戏行业,该方法已经在多个游戏引擎实现,包括Epic公司的虚幻引擎(Unreal Engine),Autodesk公司的Stingray。这些仅仅是介绍这些流程图的几个例子而已。
对于Fabric软件来说,将Fabric引擎的KL语言的能力注入到基于节点的流程图中是我们长久以来的目标。Fabric2引擎支持画布功能,这是一个基于节点的虚拟编程系统,该系统主要面向技术型艺术家以及技术型导演,能够让他们更快的制作和开发原型系统。
基于节点的流程图,有何好处?
基于节点的编程(Node-based programming)方法对于构建自定义的工具大大减少了技术壁垒;很容易的构建新想法的原型系统;很方便的理解一个工具的作用(不再需要通过写大量的代码来了解该工具)。借助于对数据流的可视化能力,使得用户能够更加清楚准确的编辑整个流程。
节点图(Node Graph)对于技术型艺术家的另外一个强有力的吸引是更加实用的自主发现和即时播放功能。当他们想要尝试其它解决方案时,相对于传统的插入大量代码的方法,拖拽节点的方法更加快捷方便。将多个节点进行混合来观察哪种组合的结果更加有趣,这种方式对于开发者更加的随心所欲。
节点流程图允许更快的迭代周期,更多的迭代次数意味着开发产品有着更好的开发质量。
Fabric引擎画布功能,有何不同?
Fabric画布又叫做数据流程图(Data Flow Graph),使得技术型艺术家在基于节点的流程图中,能够更有效的利用Fabric引擎的高性能开发语言——KL。Fabric画布是使用KL语言实现的,因此,随着KL语言的进一步的成熟,Fabric画布也会进行进一步的更新,从而不再受到第三方编程语言缺陷的约束。使得Fabric画布有别于其它解决方案的一个主要差异是:暴露给开发者的带有工具的节点包含了大多数Fabric的核心功能,考虑到这一点,对于KL库简单的访问能够使得技术型艺术家绕过那些常规的开发壁垒,从而提升了生产力。
所有的节点都使用KL语言实现,在Fabric画布中,用户不会看到任何执行性能的损失。这个架构允许技术型艺术家实现自定义的基于KL语言的功能节点。在自定义节点中,你需要给定一个访问KL代码的接口、还需要实现对用户的输入数据进行操作以及对计算的结果进行输出的功能。
KL语言对于所有用户都很容易上手。KL在文本上类似于JavaScript,而且像Python一样容易理解。因此,用户能够利用他们对现有语言的使用经验创建自定义的脚本节点(功能节点)。许多可视化编程系统很容易使用,但是当你需要使用系统未提供的节点时,这些编程系统都会受到限制。那么,为了进一步的开发,你不得不使用c++和那些复杂的API进行编程。然而,技术型艺术家在这方面的技术并非很熟练,因此往往需要借助于研发部门(但是在那些中型或者小型公司难以实现)。Fabric画布降低了这一需求,能够让用户绕开这些开发,从而更好的使用这些工具。
Fabric画布可以作为一个应用独立使用,也可以作为插件在Autodesk Softimage和Autodesk Maya中使用。在接下来的这一年中,将会集成到Autodesk 3ds Max, The Foundry Modo, SlidFX Houdini中。用户构建的Fabric画布图是便携式的,经过一次构建可以部署在任何地方——包括部署在Fabric的单机版应用中。