《与喵星相处指南》相关技术文件

一些新的和不是很新的技术被用于这项生产。让我们把他们送出去并保存一个文件,以防我们碰巧遇到需要帮助的人,对吗?虽然在我看来,真的没什么好说的(x) 对技术上瘾的人不介意(x)

首先,视频:

其次,太长不看摘要版:

3D部分运用的是C4D的物理+渲二,要点就是素描着色器+材质用发光着色+灯光强阴影。

2D动画部分运用的是MOHO的网格+骨骼+物理完成,要点是网格补正。

AE方面附送一个弹性表达式,可直接拉到文尾。

目录

  1. 前期筹备,概念及对动画用CG素材的分层指示

  2. 3D制作,物理与渲二

  3. 2D动画,骨骼与网格

  4. 最终合成,附送AE弹性表达式

前期筹备,概念及对动画用CG素材的分层指示

相对来说,这个PV内容并没有十分详细的剧情指向,所以是以概念的形式作为制作时候的靶向参照,简而言之中途穿拆的那些简化小人动画都是我想到哪做到哪的,不太具有参考价值……

3D制作,物理与渲二

3D部分是用C4D完成的,包括物理动画。

在渲二的方法上采用的是材质发光着色,而并非颜色着色。

一般来说两个颜色即可表达本体色与阴影色了,第三个颜色一般是用作高光。

超过三个以上的颜色并不太推荐,除非是为了表达有特殊反射的材质。

这个模式下需要配合灯光的投影来生成地面投影,选择光线追跟踪模式可以获得贴合的阴影,当然用贴图阴影也是可以的,只是效果不如光线跟踪来的好。

在我这个模式下运用的渲二还有一个最重要的东西,那就是——线条

关于素描着色器着色器和线条的参数调整可以参考我这篇文章:

这里就不再复述。

图中的红色物件是用来模拟猫爪子碰撞的刚体,最终渲染时候是不显示的。这个的话做完之后在AE中猫爪配合做动画就可以了,并不需要想得太复杂。

这里需要注意的是,碰撞物体的物理标签里【动力学】中【激发】需要设置为【开启碰撞】,否则容易出现诡异的自嗨现象……

而在【力】选项中,你可以设置【线性阻尼】和【角度阻尼】来限制碰撞物体的滚动速度,更加真实。

2D动画,骨骼与网格

2D角色动画是用MOHO PRO12完成的,网格+骨骼+物理配合使用。

这个软件呢……国内知名度相对较低,用的人也比较少,可能我说起来你们会摸不着脑阔……

如果你用过3D软件并且知道绑骨和权重的概念可能会比较好理解,这方面上是类似的,或者说近乎一个概念。

对于位图的定位绑骨需要先进行网格化,这点是类似于AE的操纵点工具,才是三角网格是可以被自己控制和规划的。

网格化完成后,以点为单位绑定给对应骨骼,图中的点是已经绑定到了对应颜色的骨骼上了。

还有一种泛骨骼绑定,就是在一根骨上设置权重来影响周围,这种软性绑定的方式会直接带动周围没有绑定的区域。

软性绑定的方式只适合大面积的操作,精细部分还是得靠网格来实现,比如眼睛嘴巴的动画、转身的图形微调。

图中眼睛部分是完整的一张图,但是依靠网格是能够做出眨眼状态的,这点上相较于AE方便太多,一个图层即可解决。而且仔细看你能够发现,红点外那些没有动过的网格不会受到影响。

其实2D骨骼类软件的操作和逻辑都是类似的,就看你用哪个顺手了。

最终合成

无外乎是在AE完成最后的合成,这里我也想不出能BB个啥了,几乎都是基础操作(x

要是你对其中哪部分有兴趣可以评论里告诉,我会尽量解答的。

    SO分享一个AE弹性表达式作为结尾吧,先上图:

你以为这Q弹的感觉是手动K出来的吗,→_→年轻真好,当然不是,我那么懒(x

amp = 0.5;

freq = 2.0;

decay = 7.0;

n = 0;

if (numKeys > 0){

n = nearestKey(time).index;

if (key(n).time > time){

n–;

}}

if (n == 0){ t = 0;

}else{

t = time – key(n).time;

}

if (n > 0){

v = velocityAtTime(key(n).time – thisComp.frameDuration/10);

value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);

}else{value}

第一个参数 amp 是回弹的力度

第二个参数 freq 是弹跳的频率

第三个参数 decay 是弹跳的衰减幅度

适用于缩放、移动、旋转,在K真情况下生效。以缩放为例:1帧0%,30帧100%,套用弹性表达式之后的效果就是演示2中那样。

资源下载: