浅谈Rigging未来可能的技术走向

浅谈Rigging未来可能的技术走向

http://riggingtd.com/2015/01/a-discussion-about-the-future-of-rigging-career/

这原本是我在知乎上一篇自问自答的文章,想不到一个无心的话题引起了同行那么多关注,无论站在哪个立场,讨论本身比谁说服谁更有意义,所以我把这几年积累的一些可能不太常见的东西分享给大家,也算是总结下自己的部分知识结构,给同行做抛砖引玉之用,欢迎继续讨论。

原文《三维绑定师的职业前景是怎样的?》

一、机器学习。如果没有听说过,我介绍下,这门学科原本是AI领域的分支,后来蓬勃发展而自成一派,简单说就是给计算机多组数据(examples),训练(training)它获得经验(experience),从而让计算机能够用已有的经验解决新的问题,如果结果(performance)和我们预想的有偏差,进行人工修正,通过反复的训练让计算机执行结果越来越准确,这就是当今大热的大数据的理论基础。

这和Rigging有什么关系?谈到Auto Rig,相信很多朋友第一反应是AdvanceSkeleton这样的工具,其实不然,在学术界PhD们一直在研究无需人工干预的骨骼自动创建和蒙皮技术,如果这两样都搞定了,配上AS这样的工具,才是真正的Auto Rig,这也就是主题Demo里看到的一键Rig技术所在。

有学过机器学习的朋友应该知道手写输入正是该领域的应用之一,早在90年代初就可以用于各种字体的邮政编码识别,现代的手写技术面对无比复杂和数量庞大的汉字,即使各种连笔,甚至遇到错别字都可以较准确的识别,一个免费App就能轻松享用,以至我们感觉不到技术的存在,似乎一切本该如此。

如果复杂的二维文字都能识别,为何不能推广至三维模型的识别,训练计算机,让它知道自己在处理的模型是个什么东西。事实上科研人员就是这么做的,在二维空间用笔画和像素格的对应关系来表述文字,

在三维用体素(Voxel),

VFX的同行应该很早就知道这个,是在流体上的应用,而我是看到maya 2015加入了Geodesic Voxel来自动分配蒙皮权重才注意到这项技术,再复杂的模型都可以体素化为最接近物体的表述形式,直到学了机器学习,猛然发现它和手写识别技术如此之像,将笔画转为标准字体不就是自动上骨骼的过程吗,既然能通过像素来表述文字,为何不能通过体素来表述生物模型、道具、植物和各种奇思妙想的设计,要做的是构造一个强健的神经网络,训练计算机对模型做好分类,不断完善数据库,将来让计算机自动处理就好了。这,就是大数据!

不要觉得天方夜谭,互联网公司就是这么做的,相信三维领域也早有这方面的构想——让普通用户方便的创建数字内容。假设20年后大数据进入Rigging领域,自动化绑定准确度越来越高,我们要做的只是修补和局部添加,也许有朋友抠字眼说还是有无法自动处理的模型,注意,我可没说取代人,但是,如果计算机取代了人大部分工作,我们要做的只是修数据,人和计算机,究竟谁在为谁工作?这不禁让我想起以前游戏公司一同事谈到日常工作就是修动捕数据的感慨,从他的语气我听出焦虑,包含工作成就感的缺失和对艺术创作这件事变得迷茫。没错,动捕没有取代动画师,但修数据的工人显然和多数人想成为的Artist相去甚远。

我喜欢摄影,常垂涎德国镜头的精湛工艺,无论是Rigging还是其它创作,我认同真正的艺术品是工匠雕琢,但这个话题的讨论是面向多数从业者,如何面对下一次技术变革比大谈工匠精神更实际些。

好像说得太悲观了,这只是一种猜想和可能性,实际是这项技术实现起来一定非常非常困难。我更期待的是传统Rigging解放,让擅长艺术的发挥自身特长,不用畏惧繁杂的操作。

参考:

  • Geodesic Voxel自动蒙皮:Geodesic Binding for Degenerate Character Geometry Using Sparse Voxelization
  • 从采样动画识别骨骼:Robust and Accurate Skeletal Rigging from Mesh Sequences
  • Skinning技术大汇总:Skinning: Real-time Shape Deformation
  • Mixamo:基于机器学习的云端动画平台,内置模型库,也可以上传自己的模型,自动生成Rig,虽然精度不高,但可以看看老外跨领域的创新能力,这才是淘汰了无数曾经辉煌工种的驱动力。

二、变形技术。其实国内纯Rigging不会比国外差太多,但变形效果被甩几条街。有时候觉得大片里一个变形效果自己也能做,但真正尝试后,怎么也做不像,或者要花很大的代价,是因为还没有悟出其中的“道”,这一方面是美术瓶颈,另一方面是老外确实不是用Maya里那些基础的Deformer来做的,大项目会有Skin Simulation的环节,类似布料解算,只是他们用更好的变形器去优化角色身上的变形效果,当然也不排除传统手工雕刻修型(Pose Space Deformation)的工作。变形技术水太深,我只想分享自己看到的历年Skinning技术研究成果,如果大家满足于Linear Skinning,或者觉得Dual Quaternion Skinning足够好,看了论文就知道Maya自带的变形方案落后电影工业多少。

  • 还是来自这个网站:Skinning: Real-time Shape Deformation,第一篇Course notes汇总了近20+年来Skinning优化算法的演化,我们用的Linear Skinning早在80年代就已经出现了。
  • 最新的Elastic Implicit Skinning,体积保持、自动碰撞、平滑衰减,看着就令人兴奋。等我把数学补齐了打算尝试下。
  • 如果说上面那个太前卫,还有待成熟,那么可以看下Sony于2008年发表的Offset Curve Deformation from Skeletal Animation
  • Disney做《Frozen》的时候用的Enhanced Dual Quaternion Skinning

看了觉得不过瘾的话,看背后引用的论文,会对变形技术形成较完整的知识脉络。

推荐几位变形领域的泰斗:

  • JP Lewis,我们常用的PSD技术来自他于2000年发表的研究,如果没说错,他是第一位系统化的总结了Linear Skinning的先驱。
  • Alec Jacobson,Interactive Geometry Lab很多关于变形技术的成果来自他和同事们的研究。
  • Ladislav Kavan,Dual Quaternion Skinning发明人。

三,廉价动捕。用普通摄像头或Kinect做动捕有着广阔的前景,用户只需站在摄像头面前就能产生骨骼动画,无需特定的着装,连表情都可以捕捉,我在kinect 1.0的时候曾有用来做项目的幼稚想法,后来由于场地所限和良品率太低只好作罢,但我们不防看下科技的进步能带来的无限可能,最新的Kinect 2.0能识别手指,精度已大幅提高,如果有看过浙大在Siggraph 2014发表的摄像头动捕表情研究,即使脸部存在遮挡物(墨镜,口罩)跟踪点也不会乱掉。虽然精度尚无法企及工业水准,但用民用设备捕捉表情再转为Facial Rig的方案一直有人在探索。这也是机器学习的应用之一。假设给其20年的发展,谁知道呢?

想起同样是Siggraph 2014,微软亚洲研究院发表了一项照片降噪技术,连拍5到10张,就能合成一张近乎无噪点的夜景,干净剔透,后来了解到,NASA早已应用在宇宙照片的拍摄,通常要拍上百张才能合成一张,而如今只要一台手机就能在几秒钟内轻松拥有(不知道该App发布没有)。举这个例子是想说不必总把目光放在那些戴着阿凡达、猩球崛起光环的顶级设备,让那些曾经令人畏惧的技术进入寻常百姓家也是很有前途和“钱”途的事情。苹果公司就是最好的证明。

给几个3D传感器动捕的方案做参考:

  • Faceshift
  • Truebones
  • iClone
  • iPi Motion capture

四,GPU和并行计算。谈到GPU都知道是并行计算,但并行不是GPU的专利,它也属于CPU。GPU渲染器已经发展得有些年头了,但是大家有用过GPU加速的Rigging吗?我在开发Deformer时已经做这方面的尝试,很遗憾,不是所有计算都能从GPU获益,因为有一个绕不过去的坎——GPU与CPU之间来回的数据拷贝增加了程序运行的额外开销。对于需要多次Iteration的计算(比如平滑)GPU会带来显著提升,而简单的算法(比如Jiggle)则不如CPU并行来得高效。

分享一个用并行计算来大幅提升Blendshape性能的研究,上面提到表情动捕,在一线的电影公司动捕一套表情少则上千的Shape,这时传统Blendshape会遇到瓶颈,于是科研人员用数据压缩和并行计算来达到几十倍的性能提升,艺术家的疯狂构想又可以延伸了。见Compression and Direct Manipulation of Complex Blendshape Models,及演示。

另一个案例是将传统串行Dependency Graph并行化,以提高Rigging性能。

参考:

  • Building highly parallel character rigs
  • Parallel evaluation of character rigs using TBB
  • Presto Execution System: An Asynchronous Computation Engine for Animation
  • LibEE: a multithreaded dependency graph for character animation

我对这本书很感兴趣,

五,跨平台通用格式。FBX?没错,它符合通用跨平台的定义,但远远不够好,于是不满于Autodesk垄断地位的工程师预感到Softimage XSI残遭抛弃的命运之后,怀着救世情怀发明了Fabric Engine,旨在现实一套不依赖软件公司巨头的通用平台,让用户创建的内容真正无损的导入至其它三维软件。

曾经有一位动画前辈希望我给一个能让动画师在自己熟悉的三维环境中工作的Rigging方案,即使项目本身是max的,也可以用Maya、XSI、Motion Builder来制作,只要最后提交给客户max格式就好。现今的humanIK已经很大程度上解决了问题,但Fabric Engine更进一步,它目标让所有数字内容(模型、绑定、灯光、特效、群组……)都可以无损传递,也就是说我们在Maya创建的Rig,导入至其它三维软件都是一样,控制器、约束、节点、变形器、表达式、DG层级,无需做额外的动画传递。

Fabric还有自己的编程语言Splice,用它编写的Deformer无需修改就能运行在各家三维软件上,还支持GPU加速哦。正如前面说的,一起本该如此!

有兴趣的朋友可以看他们在Siggraph 2014上的演讲,虽然离预想的伟大目标还有距离,但从展示的成果来看足以令人兴奋。

  • Fabric at Siggraph 2014

还有很多未能涉及的内容,比如群组、表情、艺术培养……这些我没有能力涉足或没有精力深入的内容就留给其他同行补充了。只想把最近自己在学习过程中看到的比较前沿的内容来分享,给有志深入的朋友做抛砖引玉之用。

一定会有朋友说这些高大上的技术在国内没有实用价值。的确,国内CG环境是不够好,但它在快速成长,历史规律不容忽视,科技进步会改变现有工作方式,现有的知识将成为未来的基础学科,好比现在的2维动画正是3维动画的基础,如今学纯2维动画(不会3维)的就业率已大不如前,而3维的崛起就这20+年的事情,谁知道下一个20年将发生什么。

你可能感兴趣的:(TD)