专栏名称: CG世界
CG世界是CG领域自媒体。专注3D动画、影视特效后期制作、AR/VR几个领域的知识,前沿技术,资讯和行业教程分享。
目录
相关文章推荐
巴比特资讯  ·  ​杨植麟翻身,还要靠OpenAI ·  6 小时前  
浙江大学  ·  浙大人,毕业去哪儿了? ·  昨天  
武汉大学  ·  写给考研查分的你: ·  3 天前  
武汉大学  ·  高考倒计时101天!武大祝福先到一步 ·  昨天  
51好读  ›  专栏  ›  CG世界

《阿丽塔:战斗天使》的视效都牛在哪儿?

CG世界  · 公众号  ·  · 2019-02-25 09:00

正文

点击上方 蓝字 CG世界 关注CG我们

“ 感知CG · 感触创意 · 感受艺术 · 感悟心灵 ”

学CG就关注CG世界


本文授权转自:极客电影

作者:张心欣


4000字,预计阅读时间9分钟

本文作者 张心欣 微博 / 知乎 @张心欣


加拿大UBC大学计算机科学博士,前皮克斯工程师,曾在维塔工作室参与《霍比特人3》等影片的特效算法研发,还曾任Lytro高级算法工程师; 在北京电影学院高精尖未来影像创新中心开发针对影视应用的大规模并发式物理仿真程序。





《阿丽塔:战斗天使》是一部相当 “炫技” 的电影。


带着詹姆斯·卡梅隆“光环”,导演罗德里兹格联手维塔工作室,给观众们展现出 电影视觉幻术的最高技艺。


一刷 IMAX版《阿丽塔》 ,我看到几个在电影特效技术上很“显功力”的场景,想给大家一一拆解,让你们也感受到我的震撼(有点“魔术揭秘”的意思)。



带着这些背景知识再看《阿丽塔》,你肯定会有不同的感触。


这部视效大片就是为IMAX银幕而生,除了银幕超大、亮度高, IMAX版影片的 画面居然还比普通影院多出26%; 如果有条件的话,推荐大家选择IMAX版本。



“阿丽塔”一定看IMAX的三个理由(视频)>>



01

细致到令人震惊的大眼睛


CGI眼睛的渲染和制作非常困难,因为从眼球壁到血管膜到视网膜,每一层结构都要制作和渲染。



人类的眼珠不是一个单纯的球体,为了复现它复杂的光学表现, 需要计算光线在其中复杂的光路运动;


另外, 眼珠内部的几何结构也十分复杂,此次 阿丽塔的眼珠特写镜头运用到了830万多边形数量的几何建模 , 并使用自主研发的算法进行了复杂的光路追踪。



“眼睛”是传达情感、感染观众最重要的窗口。很多人看完电影都觉得,阿丽塔的“大眼睛”深深印在自己的脑海里、挥之不去,她从纯真到成熟的变化都映射到眼神的变化上——看来这些努力没白费。



02

看似简单却充满炫耀感的CG毛衣


CGI衣服里面最难制作的就是毛衣,因为毛衣的物理形变涉及到很复杂的微观物理交互,除非仿真程序的模拟细致到了每一根线头,否则无法仿真出真实的毛衣布料形态。


而阿丽塔恰恰就选择在登场的时候穿了一件——毛衣。


▲ 阿丽塔数字毛衣的仿真,注意和父亲T恤的区别


这样的CG毛衣市面上没有现成软件可以完成,应该是维塔自己开发软件制作的,笔者以为,这大约是维塔在炫耀他们领先的仿真程序(开玩笑啦)~


“毛衣仿真技术” 源自2017年由华人科学家 蒋陈凡夫 等人合作发表于SIGGRAPH 2017上的论文。


“这个算法是魔鬼吗?真的连每一根毛线都模拟啊!“


* 《Anisotropic Elastoplasticity for Cloth, Knit and Hair Frictional Contact》

Chenfanfu Jiang, University of Pennsylvania & Jixie Effects inc.

Theodore Gast, University of California, Los Angeles  & Jixie Effects inc.

Joseph Teran, University of California, Los Angeles & Jixie Effects inc.


03

被水浸泡的头发


长期以来, “毛发模拟” “液体模拟” 在电影特效真实感的营造中起着至关重要的作用。


电影中有一处场景,阿丽塔纵深跳入水中,找到水底战舰上的“狂战士铠甲”;画面中她的头发因为浸泡在水中,发丝被打湿耷拉下来,呈现出“从头到脚湿漉漉”的观感。



这短短几分钟,逼真的模拟出了“头发”和“液体”之间的相互作用,是相当有技术含量的。


毛发和液体之间的作用是一种跨越多个空间尺度的物理现象。


当毛发完全浸没在液体中时,它呈现为一种多孔介质,而且可以对周围液体流动产生拖曳效应。



当把毛发从液体中提出来后,毛发上会粘连一定量的液体,这些液体会沿发束流动、并最终滴落;



同时,潮湿的毛发相互之间不仅会发生碰撞,而且表面液体也会产生液体桥,表面张力效应会导致毛发凝聚成团块。


对于这样复杂的物理现象, 设计出最合适的模型是关键。


通常来说,大块液体可以用 仿射粒子胞元法 (Affine Particle-in-Cell) 来模拟,而毛发可以用 离散弹性棒 (Discrete Elastic Rods) 来建模。


为模拟毛发表面较薄的液体,我们在毛发表面再增加一个液体的高度场,同时用浅水方程来计算表面液体流动。


▲ 展示毛发内液体仅为作对比,形态是不模拟的


在为头发、大块液体和薄层液体都建立了物理模型之后,通过引入碰撞和黏连模型,就可以模拟出湿毛发之间的内聚现象。


同时通过计算水下毛发与它周围流体之间的拖曳力,就可以生成毛发和液体互相拖曳的效果。


最后,再建立一组算法来模拟大块液体被头发捕获成为薄层液体,以及薄层液体汇流、滴落成为大块液体的过程。



这样,才能实现出最终《阿丽塔》电影里那种“湿头发”的自然视效。


此处贡献者: 费云(Raymond)

*  libWetHair

《A Multi-Scale Model for Simulating Liquid-Hair Interactions》

Yun (Raymond) Fei and Henrique Teles Maia, Columbia University

Christopher Batty, University of Waterloo

Changxi Zheng and Eitan Grinspun, Columbia University

Source Code and Data Assets(GitHub)


04

充满技术含量的惊鸿一吻


有没有被阿丽塔和男主角接吻的画面感动到?


我也是,但理由可能不大一样:因为CG人物和真人接吻,在电影特效上真的很!难!搞!


接吻时需要调用面部的146块肌肉(群),为真实再现接吻的动作, 就有可能需要真实地再现这些肌群的运动


嘴唇肌肉是软的,而里面的骨骼和肌肉却较为硬,所以在仿真程序需要能够处理这些不同的材质的碰撞和形变。


接下来我要在技术上物理拆解“接吻”这件事,温馨提示:图可能有点惊悚......


... ...


下面是人类接吻的X光拍摄, 注意其中所展现的该行为的复杂度: 面部肌肉驱动刚体的骨骼和牙齿运动, 而柔软地皮肤相互碰撞挤压产生复杂的形变。



维塔的独门绝技之一,从骨骼到肌肉到脂肪层、再到皮肤和毛发的有限元仿真程序,以制作出逼真的数字角色。


▲ 人物


▲ 动物


▲ 神兽


维塔的肌肉仿真工具从人猿星球的早期就开始研发,经历了多个制作的锤炼。


▲ 维塔打造出的“猩猩凯撒”


《阿丽塔》中的亲吻镜头完成度之高,以致于它甩开了被认为是同级别制作水平的作品几条街!


在技术上同样被认为是世界顶级的皮克斯(迪士尼),接吻镜头也不敢做特写,《阿丽塔》的接吻镜头,居然就敢做成特写!







请到「今天看啥」查看全文