(图片来源网络,侵删)
在动画百年来的发展历程中,无论是从默片到有声还是从黑白到有声,其艺术上的每一次飞跃,无不伴随着新技术的发明和进步。迪士尼在在其长期的探索中不断了解艺术对技术的需求,不断提升技术,以最好实现艺术效果的目标不断打磨着自己的动画制作技术,创建了属于自己的技术团队。(一) 多层摄像机——传统动画的技术性突破计算机技术引入动画制作领域之前,动画电影全靠人工手绘完成。由于分层的概念还没有出现, 所以电影中每一帧的前景、背景以及人物,都要重复绘制, 即使它们是一样的。在当时的影片制作中,不仅工作量大到令人望而却步,所能体现的空间感及纵深感也有限。1914年,布雷发明了多层摄影技术,将画面中的人物从背景环境中单独分离出来绘制在赛璐珞片上,摄影师只需按剧情发展要要将背景放在人物下面便可,同样的背景或人物都不需要进行重复绘制。多层摄影法的出现将动画技术的发展向前推进了一大步,迪士尼在此期间制作的系列短片风靡全美,与此同时迪士尼开始尝试制作动画长片。然而制作一部动画长片在当时的工作量是繁重的,而且迪士尼必须要解决透视关系不够突出的问题。传统摄像机只能拍摄单一二维图层上的景象,人物在背景中移动时,背景的不自然的扁平变得明显,而且除了不真实意外,老式的扁平背景会制造出一种虚假的效果,无法实现丰富的景深关系。例如,一个卡通人物走在纵向的月光小道上时,当镜头在该场景中推进的时候,所有的景物都变大了,包括月亮。但实际情况下,当一个人在乡间小路朝月亮走近时,月亮是不会变大的。为了营造出更好的空间纵深感,迪士尼团队决定将场景里的不同元素根据他们与观众的不同距离而分层,采用多层摄像机(multiplane camera)进行拍摄;将原始场景像如图2-1那样分开后,就可以单独控制每一个图层拉近与拉远的动作,就可以保证月亮无论怎样大小的不变,从而创造出更加丰富的景深效果,使视觉信息更丰富。多层摄像机原理图及拍摄情景图1937年迪士尼制作的《白雪公主和七个小矮人》便采用了这种新技术,影片景深细节丰富,有着极强的艺术感染力,获得了空前未有的成功。影片制作的精良渗透在每一个细节,每一个角色,以及每一个动作。无论是在电影片头处小动物聚集的森林场景中的水面反射效果,还是白雪公主误闯小矮人住处的烛光灯影效果,都能体现出当年的迪士尼匠人们精益求精的制作态度。影片的巨大成功在在动画制作技术领域掀起了一场革命热与创新潮,奠定了迪士尼在好莱坞动画技术的领先地位,为世界动画艺术的发展指明了方向。迪士尼公司在这一时期不仅发明了多层摄影机,同时也将多种动画技术进行改良完善,迎来了自己的黄金时代。(二) 数字技术与传统动画的碰撞与融合计算机技术的普及与发展,为动画提供了更为巨大的表现空间和发展空间。计算机技术引入动画制作之初,只是取代传统的上色和拍摄程序。随着计算机图形图像处理技术不断发展,数字技术在动画制造领域的应用范围不断延伸,如今动画创作的主要平台已经迁移到计算机领域。传统动画的所有效果如今都可以通过相应的计算机技术实现,除此之外,计算机动画技术还可以产生传统中无法实现的视觉效果。尽管如此,传统动画所具有的独特的艺术风格和原始美是数字技术所无法超越的。另一方面,数字技术为动画制作提供了各种技术上的无限可能性,极大的提高了动画制作的效率,降低了动画制作的门槛。这些优点也是传统手绘可望不可及的。因此如今很多动画电影制作人,通过将数字技术与传统动画表现效果有机的融合起来,不仅提高了制作效率,降低了成本与周期,也实现了其对于画面艺术表现力的追求。因此,在如今的动画电影制作流程中,处处渗透着传统手绘与数字技术的碰撞与融合,令影片不仅突破了技术的局限,也将观众的注意力完美的集中在了动画本身应当具备的艺术表现力上。随着计算机图形学的兴起与不断进步,20世纪70年代开始,CG技术开始不断地被运用到动画制作中,成为电影效果的重要组成部分。1986年迪士尼在影片《妙妙探》中首次尝试了CG技术,并将其与传统手绘技术结合起来,影片动作流畅,场面调度行云流水。尤其是最后钟楼对决的场面,是迪士尼首次采用电脑动画制作场景。如下图,钟楼的内部环境,完全是基于电脑动画制作的,此后电脑技术便成为迪士尼动画拍摄的辅助利器。 《妙妙探》剧照CG技术通过计算机CPU强大的运算能力来模拟现实,包括建模、动作、渲染等多个工作步骤。CG技术改变了传统动画的本体形式,将动画从一系列冗长的胶片及大量的人工绘制中解脱出来,技术人员只需要在一个小小的显示器上就可以创造山河大海,宇宙星辰以及光怪陆离的视觉效果。1995年迪士尼推出的《玩具总动员》是史上第一部完全由电脑动画制作的电影,影片将传统动画艺术家和电脑动画新技术进行了天衣无缝的结合,这是动画片第一次被赋予三维实现。一个动画片制作的复杂程度,最核心是在原始模型的建立上。《玩具总动员》 中每一个角色,只要是外形可以改变的模型,比如四肢可以活动或者面部可以变换表情,建模师为这些角色都配备了动作控制器(关节)。胡迪和巴斯身上都有700个以上的“关节”,其中胡迪光是嘴上就有58个。影片中各种大小玩具有30多种,在当时的技术水平下,皮克斯把所有可能发挥到了极致。《玩具总动员》无疑是平面动画过渡到3D动画的划时代作品。随着科学技术的进步,数字技术开始被运用到越来越多的领域。在迪士尼如今的动画制作中,数字技术的使用频率越来越高。从二维动画到三维动画,数字技术给迪士尼提供了新的表现平台,不断提高其对观众的视觉冲击力。数字技术的发展在很大程度上像是赋予迪士尼一个加速器,推动着迪士尼动画产业的迅猛发展,使其艺术性在新的技术手段下彰显的愈加迷人。(三) 《冰雪奇缘》——MPM(Material Point Method)引擎的问世迪士尼于2013年推出的《冰雪奇缘》向我们展示了一个童话般梦幻的冰雪世界,各式各样晶莹剔透的雪花到了以假乱真的地步。为了营造出真实自然的银白雪国场景,电影制作前期导演向专门研究雪花的物理学家求助,请他们帮忙绘制了约2,000多种不同形状的雪花,影片中每一片雪花都是制作团队根据物理学家提供的样本模拟而成。冰雪女王Elsa雪后打造的冰造城堡也是制作团队现场考察了光线在冰墙上的反射以及折射效果制作而成。对于视觉仿真来说,雪是一个极具挑战性的自然现象,现存的刚体和流体的处理方法很难模拟出令观众信服的雪。雪本身是一种兼具刚体和流体的物质,里面包含的水和冰很大程度地影响了雪的状态。他们有时候表现得像刚体,有时候又像流体,湿度和密度较大的雪仿真更是难以掌控,以前一些冰雪特效的技术都着重于某一种形态的雪。迪士尼为此提出了一种弹塑体模型——结合欧拉和拉格朗日的材料点法用一个模型来仿真不同形态的雪。为了尽可能真实的描绘雪的各种形态,电影制作组请到加利福尼亚大学洛杉矶分校的数学系计算物理团队开发了一款专门用于模拟雪的引擎,这款引擎的核心算法就是物质点法(Material Point Method, MPM)。如果说物质点法(MPM)还是个新名词,那么欧拉法和拉格朗日法大家应该不陌生。提到流体力学,就一定不能跳过纳维-斯托克斯(N-S)方程,大部分图形学中的流体仿真都是基于这个方程演化来的。它包含速度,压强,密度,粘度等变量,而这些都是位置和时间的函数,通过质量守恒和能量守恒来约束这些变量。图形学中现存的两类解方程的思想基本可以分为两大类:欧拉方法,也就是俗称的网格法(Marker-and-Cell method — MAC),描述的是任何时刻流场中各种变量的分布;拉格朗日法,也就是粒子法(Smoothed-particle hydrodynamics — SPH),是去追踪每个粒子从某一时刻起的运动轨迹。借用Robert Bridson的说法来解释这两种方法——假设我们在做天气预测,粒子法就是坐在热气球里随风漂浮,可以探测到不同地方空气的压强温度和湿度等等,而网格法就是将人限制在某一个地方,可以探测到那一点空气的压强温度和湿度等等的变化。两种方法都能绘制出环境变化的图像,但是这两种图像可能完全不一样,因为他们用了两种完全不同的手法来描述这种变化。两种方法各有利弊,粒子法对处理无边界或不规则边界的运动流体上有天然的优势,而网格法在分析固定空间区域内的压强梯度和粘性上更为简单。而物质点法是一种将欧拉法和拉格朗日法结合起来的一种新的计算方法,既避免了欧拉法要求解对流项的难题,又解决了拉格朗日法在处理大变形时的网格畸变和负体积问题,在《冰雪奇缘》中取代传统FEM(finite element method,有限元法),主要用于解决各种冲击、侵彻、爆炸等高速、大变形问题。传统FEM法中,物体的各种信息是保存在网格节点上的,而在物质点法(计算过程如下图)物质点法计算流程图 中,物体的各种信息是保存在一个个离散的物质点上的。在后期处理时,先将物体离散成一个个的物质点,然后将物质点上的信息通过形函数映射到背景网格的节点上,一系列求解过程完成后,再通过形函数将单元节点上求解出来的信息映射回物质点上,更新物质点的位置、速度等。 MPM在运用欧拉网格的前提下隐形地处理雪内部的碰撞和断裂,使拓扑结构的变化成为可能。它胜过纯粹的网格法,因为它可以通过SPH粒子法来追踪质量,动能和形变信息。但是又不同于SPH,MPM运用网格作为一个有效的连续缓存器来避免高频率地与相邻粒子之间的运算。MPM还能很好地处理塑性和断裂,这也是为什么迪士尼选择MPM来做雪仿真。通过将物质点作为欧拉法和拉格朗日法之间的媒介,避免了两种方法自身的缺点,综合了两种方法的优点,MPM使影片中大量涉及冰雪的碰撞、坍陷、变形、以及撞击后分散的效果跟现实世界如出一辙。一开始,制作团队对雪的一些特性比如粘性不太了解,最初制作的一个安娜在雪中的场景,整个雪的感觉就像快递包装中的泡沫塑料,而这种感觉会使电影显得不可信。经过实地考察以后,物理学家为特效人员提供了很多有用的参数,例如雪的粘度、密度与蓬松度等,使用这些合理的参数,他们制作出一个带有粘连效果的滚雪球撞击雪人的模拟效果(效果图如下图),而这种效果和现实中的雪的表现同出一辙。 基于MPM引擎制作的雪球效果图 有了接近真实的模拟效果之后,他们重新使用MPM引擎制作了安娜在雪中的那个场景,如图4-3,结果和之前完全不一样。当角色和雪互动时,观众能清楚地看到雪是如何分开,又是如何合并到一起的,一切场景都自然并且真实可信。《冰雪奇缘》剧照 《冰雪奇缘》中美丽的雪景背后的物质点法不仅可以用于计算雪景,它在计算冲击波的传播,堆叠物的坍塌,炮弹冲击侵彻混凝土墙等等问题中,都能发挥出强大的实力,给迪士尼电影技术画下了浓墨重彩的一笔。(四) 《超能陆战队》——光线追踪渲染软件Hyperion迪士尼自成立以来,始终以推动技术进步为己任,2014年上映的动画电影《超能陆战队》则是迪士尼技术进步的又一例证,导演之一Don Hall表示:“影片讲述了一群小孩利用最先进的科技战胜邪恶势力的故事,而影片本身也是科技进步的产物。”《超能陆战队》改编自漫威同名小说,故事围绕14岁的天才少年小宏展开,其居住的地方叫“旧京山”,正如其名,这是个融合了旧金山和东京风格的地方。整个旧京山场景模型包含26万棵树、25万盏街灯、10万辆车以及8万多栋建筑,还有成千上万的人群,其模型数量比之前三部影片加起来还要多。要渲染巨大的城市环境和表面照明,迪士尼面临巨大的技术挑战。除此之外,片中的形象大白是个半透明的形象,如图4-4,当光线投射到大白身上之后,他的身体会发生不同角度的反射,同时还会有一些光穿透进体内,再从另一面散射出柔和的光线。如此复杂的光影效果是原有的软件满足不了的。《超能陆战队》剧照 动画形象大白 以往大多数光线追踪系统的处理方法是从摄影机发射光线,然后计算每一条光线照射到的点的颜色。光线发生反射时,渲染器继续跟随反射光线,计算它们对着色的贡献。如果不予限制,光线会一直这样反射下去。因此通常会在渲染器中限定光线反射次数,如此得到的场景会导致很多光照细节的缺失使画面看起来比较平面且不真实,光线路径和表面着色属性的各异性限制了光线追踪所能实现的效果。为了解决这一问题,迪士尼首席软件工程师Brent Burley携团队发布了论文《产品级路径追踪中的分组延迟着色算法》,提出了分组流程,将光线分解成同向光束,并对着色点进行分组,由此实现了一致性的着色流程,而无需使用着色缓存。” 用了两年时间,迪士尼的数十名技术人员研制出了专门用于光线追踪渲染的软件——Hyperion软件。Hyperion的主要作用是追踪光线轨迹。当光线投射到物体粗糙表面,就会无序向四周散射,而这些散射的光线接触到其它物体后,又会再次散射。追踪光线的轨迹,有助于做出更有现实感的动画效果,但是,这也是非常耗费计算机内存的工作,导致制作动画的成本大大增加。Hyperion的强大之处在于它不仅能处理所有的光线,还可以对它们进行分类,然后计算投射在某一点上的所有光线。这是一种全新的处理方式,缩减了给定时间的计算量,同时增加了每秒追踪的光线数量,在花费更少的情况下,Hyperion 能够将图像的复杂度提升一百倍。比如使用Hyperion可以将摄影机发出的光线在六个空间方向上进行分解,并将同向光线组成一束,因此共有六束彼此垂直的光线,每束光线约3300万根,渲染器跟踪这些光线照射到的点,并根据点所在地面对其进行分组,对同组的点进行相同的着色处理。着色器会为除了光源以外的所有物体生成反射光线,反射光线同样按照六个方向进行分解、成组,然后继续着色,这样一直运算下去,直到没有新的光线。如下图,Hyperion处理相同的光束便会有以往数万倍的的反射。新旧渲染处理器实现的光线效果对比图追踪光线的轨迹,有助于做出更有现实感的动画效果,但是,这也是非常耗费计算机内存的工作,导致制作动画的成本大大增加。看起来简单的大白其实身上的每一丝光线都蕴含着最顶尖技术,巨大的城市环境、数以万计的模型、交汇复杂的光线也带来了巨大的工作量。迪士尼动画的渲染农场使用了5.5万个英特尔核心,运算速度可以排在超级计算机排行榜第75位,系统使用了400Tb的内存,4Pb储存,每天能执行110万渲染小时。BH6的渲染任务一天就花了100多万渲染小时,尽管如此,迪士尼近年几部动画片的渲染所占用的小时数,《超能陆战队》还是遥遥领先。得益于Hyperion软件,如图图4-6,《超能陆战队》在减少工作量的同时,给观众打造了一个无比精准、无比真实且庞大的现代城市——旧京山。《超能陆战队》剧照 旧京山场景图 在Hyperion诞生之前,几乎所有动画片里的光影都效果生硬,只有最简单的几次反射。而现实生活的光影效果要复杂的多,光线不仅发生了各种反射、折射、散射,甚至与空气中的物质发生了复杂的化学反应。Hyperion为实现各种复杂的光影效果赋予了可能性,它可以最大程度地还原光线最真实的状态,实现光线最接近自然状态的效果。在这种技术的支持下,《超能陆战队》将迷人的城市夜色和夕阳下飞行的光影展现的淋漓尽致,为无数动画迷打造了一场无与伦比的视觉盛宴。(五) 《疯狂动物城》——CG毛发技术的飞跃继《冰雪奇缘》与《超能陆战队》的巨大成功之后,迪士尼于2016年推出的《疯狂动物城》再次展现出迪士尼在技术领域不断挑战极限的野心。影片中涉及到许多毛发毛皮还有植被的处理,将动画影片对哺乳动物的处理推到了一个新高度。为了让影片中的动物看起来符合观众认识里的动物形象,制片方到野生动物园开展了一系列实地考察,了解不同动物的生活习性及行为特征。而为了模拟真实动物身上所需要的各种看上去脏兮兮的毛发和皮毛,导演带领后期人员到国家历史博物馆用显微镜仔细观动物皮毛的特征,并记录了不同光线下动物毛发的不同质感与效果。结果表明,要想让动物皮毛看起来触感真实,必须精准到毛囊的水平,让每一根毛发有迹可循。想让CG制作中的毛发看起来逼真自然其实很简单,特效师只要在建模时对动画角色的每根毛发单独建模渲染就可以做出任何形态的毛发效果。但是毛发数目巨大并且排列顺序错综繁杂,一一制作渲染耗时耗力,在影片的制作中并不实用。为了节省渲染时间和制作成本,大部分工作室都倾向于对相邻区域的毛发建立单一的模型,从而降低模型的复杂度减少计算机的处理次数。但是这种情况下,由于邻近区域的毛发排列机械单一并且机械行为完全相同,毛发没有办法呈现自然状态下的蓬松效果,因此得到的动画形象呆板失真。为了建立动物城中毛茸茸的动物形象,迪士尼的工程师团队决定启用iGroom软件来为动物城中的动物建立毛发模型。通过这个软件,迪士尼分别给主角Judy和Nick做了250万根毛发,即便是里面的小配角——小沙鼠,也拥有48万根毛发,比当年《冰雪奇缘》中主角Elsa的40万根还要多。此外,为了让片中动物的每一根毛发看起来有迹可循,迪士尼采取着色器的方法为片中动物建立了真实的毛囊,通过iGroom软件为他们创造了一个虚拟皮毛层,通过调整虚拟层的厚度动画制作者可以改变动物毛发的浓密感达到自己想要的效果。如下图中的胖乎乎的豹警官毛茸茸的脸就是通过这个技术制作出来的。 《疯狂动物城》中豹警官剧照在过去,当一个动画制作人设计角色的轮廓或动作时,他要预测该角色在有头发时的样子。因此,当时的制作者在制作出连续的动作效果之后还要花费大量的时间进行预渲染,从而观察角色在该动作下的皮毛效果是否符合规律以及效果是否自然。但这个方法在《疯狂动物城》中完全行不通,因为影片中制作人员需要建立的是一个专属于动物的城市,里面动物之多可想而知。为了解决这个问题,迪士尼的工程师们通过一个名为Nitro的实时呈现软件进行实时渲染,通过它可以即时地看到不同动画角色的毛发渲染效果以及动物细微的面部表情,极大提高了动画的制作效率。通过Nitro软件,即使是如下图中的这种毛茸茸的脸上最细微的表情,也能够一览无遗。《疯狂动物城》剧照《疯狂动物城》采用迪士尼为《超能陆战队》首创的内部渲染器Hyperion进行渲染, Hyperion的主要作用就是追踪光线轨迹,它可以处理所有的光线,对它们进行分类,然后计算投射在某一点上的所有光线,Hyperion每帧可以计算上百亿条光线,这款凝聚了迪士尼两年心血的渲染器用在毛发渲染方面效果也是意外的好。与此同时迪士尼还在原有功能的基础上,设计了皮毛模式,如下图,在该模式下Hyperion可以完美地还原出动物毛发在复杂光照下的效果。《疯狂动物城》皮毛光照效果图 毫无疑问,无论是Nitro、Hyperion还是iGroom,这些都是令人兴奋的技术进步。它们为动画电影提供了更简单更高效的制作平台,为迪士尼的发展奠定了坚实的技术基础。让我们不禁期待继巨大的动物城之后,迪士尼下一次将会呈现给观众呈现什么样的动画世界,树立怎样全新的技术标杆。(六) 《海洋奇缘》——CG流体技术的跨越式发展 继《疯狂动物城》后,迪士尼于2016年底推出压轴力作《海洋奇缘》。《海洋奇缘》依然讲述的是公主和英雄的冒险,但这一次,冒险有了新的土壤——海洋。看《海洋奇缘》,你会惊叹里面的大海到底是真是假,它无比真实,又如梦似幻,还精通人性。影片上映后,关于“海水”的讨论,不亚于《疯狂动物城》上映时,人们对于“动物毛发”细致程度的赞叹。制作水的特效总是很难,但《海洋奇缘》的大部分情节与水有关,而且海洋并不仅仅是个场景,所有情节就发生在水上,这增加了另一层复杂度。传统流体模拟有拉氏方法,欧氏方法。欧氏方法的优点在于在固定网格上求解连续方程较拉氏方法容易。由于更容易处理复杂的边界条件,我们通过有限差分可以很轻松地构建关于压强和速度的线性方程组。而欧氏方法需要对空间进行网格剖分,这在三维的情况下会导致随着网格剖分精度的提高运算量指数式暴涨,流体整个被局限在网格中,使得在某些场景中必须附加额外的网格。拉氏方法中,由于物质粒子自身即为离散化的基元,随着物质运动而运动,因此对于大范围运动流体的模拟较欧氏更有优势。同时,由于大部分欧氏方法需要在格子点上对各种变量进行插值,因此有可能会导致强烈的能量耗散。这种能量耗散会导致模拟的流体看起来很粘稠。拉氏方法则不存在这个问题。在处理这个问题时,迪士尼选择了由蒋陈凡夫等人开发的仿射粒子元胞法(Affine Particle-In-Cell, APIC),这类方法结合了欧氏方法易于处理不可压性和复杂边界条件的优点,以及拉氏方法求解导引项数值耗散很小的特点。 影片的特效组在处理影片时,对远处的流体使用波方程,来近似模拟出大面积的水体运动。然而这种方法只能模拟海洋表面的巨浪,无法使其与物体交互,因此在需要复杂的流体模拟的效果时,还是要使用APIC进行流体模拟,尽管计算量非常大,但是可以模拟更多真实的细节。然而如何处理交汇处的运动成为了一大难题。为了解决这个问题,迪士尼提出了新的解决方案:波动驱动边界法(Fluxed Animated Boundary Method)。通过这个方法进行渲染,如下图,我们仔细观察可以看到海浪的细节模拟被局限在船的附近,而远处背景中的水则是比较平面化的大尺度海洋模拟,而且中间过渡的既自然平滑又真实可信。《海洋奇缘》剧照基于仿射粒子元胞法(APIC)和波动驱动边界法(Fluxed Animated Boundary Method),迪斯尼的软件团队做出了一个工具软件Splash来自动化处理水在不同镜头下的行为。Splash 是第三方 3D 动画软件 Houdini 的“流体解算器”插件。用这款解算器,视效专业人员可以定义需要模拟的区域,比如动画小船周围的水域。然后用一个设定值来决定从什么样的海水条件开始。在这个基础上,他们在预定义的海面运行模拟器,来确定那片水面如何跟小船互动。模拟的输出,即“几百万的粒子”,实际上就是几百万的新动画数据点,被平滑处理到影片最后的渲染中。Splash 还引进了一系列模拟水花、漩涡和航迹的算法。影片中的很多场景如下图,软件的浮力算法让片中巨大的领航帆船在波浪中上下拍打的动作非常逼真。《海洋奇缘》剧照CG里的流体模拟属于物理模拟,特效组一般在制作的时候,会把基本的数据(水的质量,运动方向等)输入进电脑里,由Hudini这样的软件,通过物理计算,模拟解算出流体的形状和粒子。因此,这样解算出来的水流都符合物理规律。但是《海洋奇缘》的太平洋有时候是拟人化的,在主角莫阿娜的旅途中经常起到推动作用,这就是本片海洋制作的难度所在。为了将海洋人性化,动画师们先是创建了海洋的动作,视效专业人员运行模拟器,添加上水的真实特性,然后照明专业人员补上附加的细节。结果如图4-12,影片中的海洋角色不仅有着普通水的质感,还表现出部分超自然的光滑和圆润,即使它突然出现在蹒跚学步的莫阿娜面前时,观众也绝不会担忧她的安危。称《海洋奇缘》是迪士尼最具技术含量的影片一点都不过分,此次制作的海水不仅可以清晰地看到深水区和浅水区的波纹效果,连海水碰撞后水中产生的气泡都能实现。如果说水的特效已经是一个难题,那么海水和物体的交互,比如女主掉到海里湿漉漉的头发,海水和沙子的互动等,运算量大到惊人。由此可见迪士尼制作团队的工匠精神,正是这种追求完美的工匠精神让迪士尼不断创造着技术奇迹。《海洋奇缘》剧照
0 评论