BaseFX 实习小记(一)
2015.1.12 - 2015.1.16
正式在base实习一个礼拜了,这段实习时间里希望每周能在博客里面写一个实习小记,一方面能看到自己的成长,另一方面也能提供这样一个机会给大家了解真实的base。
首先说说我来这之前的背景,本人现在还是美国一所高校的在读研究生,因为学校准许学生在第二年外出找实习或者工作来算学分,名曰coop。去年下半年其实一直苦苦的在寻找美国本土的实习机会,但是无奈美国本土好的特效公司都没有实习机会,其实base也没有,我这个名额也是破例给我的机会。本来sidefx给我提供了一个实习的机会,但是地点在加拿大的多伦多,因为工签的问题最后还是黄了。在这申请过程中我参加了在深证举办的第一次国内的Siggraph Asia,有幸在base的宣讲会上认识了特效总监nick以及人力总监maggie,事后通过邮件联系了几次也表明了我想来base实习的意向,也就是这样才顺利拿到了这个实习机会。因为五月份我要回美国毕业,所以实习最多能到四月底,前前后后除去春节的十天假,大概能在base待上一百天。
第一个礼拜主要还是以适应环境为主,来到base之后的第一感受就是分工特别的细了,CG的整个流水线你都能在base找得到,连我们特效部门也是有些人以特定的几个专长见长。这里整个就是一个大工厂,每个人的活也分的非常细,但做出来的质量要求也是非常高的。开先第一天主要是报道和签合同及保密协议,这里的保密要求确实非常高,主要是因为会有国外一线的后期订单过来。有两个checklist的岗前培训单,需要自己一样一样勾掉,主要是base整体布局,工作使用的工作邮件、软件等等,再者就是自己部门的工作方式和内部工具。两张checklist花了两天时间也就完成了,头两天也和同事们基本上混了个脸熟。
这段时间公司的大项目都接近了尾声所以没有很重的任务了,特效部门除了零零散散的还有一点点镜头任务,不少人也在看教程补课,副指导说下个礼拜开始我们部门也会开始内部培训,也就是部分大牛拿之前他们做过的牛逼镜头给大家分享,并讲解制作过程和遇到的问题,感觉自己真是赶上时候了,应该能在这学到不少东西。
公司里面与国外环境最大的不同就是人与人之间的交流,虽然工作上的反馈和迭代都会有很直接的沟通,但是总觉得大家都很陌生,对陌生人也比较冷淡,不像美国的时候在楼里碰到个陌生人打个招呼也能聊个半天什么的。可能这也是国内的整体环境吧,大家都比较保守,也许也是因为我刚来,所以也没什么话题好聊的。不过部门里面的大牛还是非常乐意解答我在工作中遇到的一些问题,而且都是一针见血的能够告诉我问题症结在哪,这是连美国也不可能找到的环境了,大家又是说的国语,自己理解起来非常方便,另外大家全都是干这个的,再也不用像在学校里面那么孤单了。
从礼拜三开始副指导就给了我一个测试镜头,主要是想试试我在什么程度。一个开了脑洞的镜头,要有血从脑洞流出来。接下来的三天就一直围着这一个镜头转起来了,一共提交了五个版本的效果给副指导提供反馈,每次他都能说出更好的更合理的情况,这也是我不停的修改的动力了。从最开始直接使用flip来模拟各种问题层出不穷到昨天最后一版的时候直接写particle的行为规则连碰撞都不用用上了。感觉这几天完全体会到了在教程中学到的只不过是皮毛和理想的状态,商业上的东西需要更多的灵活性,要求也更加的多变。固定的思维在这个行业是行不通的。
这里我简单讲讲这个效果的思维变化过程:
1:拿到手后,首先的问题是脑壳是非常变态的高模,不优化是肯定跑步起来的,另外这个模型的人还没死透,所以有那么一点点位移,刚开始的时候没有考虑到这一点点位移导致了模拟碰撞的速度变得非常慢,因为要把static变成有deform的状态,这严重拖慢了结算速度。
2:简化完模型发现模型是开面的,也就是说不是封闭的模型,vdb生成出来效果非常的不好,所以得找好角度做volume extrude,并且在dop里的static使用volume sample的碰撞方式。第一点提到的那一点点位移想出了一个办法,把那一点点相对位移用一个点记录下来,结算的时候就直接做全静态结算,到最后的时候把这一点点位移在补上就行了。
3:发现flip非常不好控制,一个原因是整个场景的scope是非常真实的,也就是说脑洞在现实有多大,文件场景里面也就有多大,所以问题就来了,flip在很小的单位下形态非常不好控制,而且碰撞一直会出现一些点乱飞,也就是这些点导致把点变成面的时候形态非常不好控制。
4:请教了副指导之后,形态稍微好了一点点,同时发射源从大范围粗放型改成了自定义位置,这样对形态控制也起了一点点帮助。继续调整flip里面的viscosity,让它更像血一样有粘性。
5:尝试放弃使用碰撞,因为所有的错误都是碰撞带来的,于是在pop wrangle里面开始写对flip粒子的行为规则,主要是让它与皮肤表面到了一定距离的时候让它顺着自定义的皮肤法线走,同时到皮肤里面的粒子再让它沿着gradient方向回到表面,这样就模拟出了贴着表面的样子运动了。
6:上面这个替换让速度提高了不少,但是另外的一个问题也来了。血液在表皮顺着重力往下流时,流在最前面的形状会要稍微鼓起来一点,这是粘性和张力表现出来的效果。为了解决这个问题,单独把在第一帧生出的粒子单独分离了出来,然后用这些粒子再生成范围稍微广一点的更多点并与其他粒子合并后生成vdb再生成面。现在回想起自己能够想到这个方法,真的感觉自己跟以前比起来确实有了进步。现在更习惯一开始先自己想办法解决问题而不是去网络上找现成的解决方法。其实特效这个行业更多的就是需要自己有能解决新问题的能力,经验是一方面,自己脑洞能有多大也很重要。
7:虽然用自己写的行为方式取代了碰撞的模拟,但是flip还是速度太慢(公司的机器性能远没有你想象的那样,其实就是个壳非常大的渣)。而且运动的方向、疏密程度以及点的分布还是比较难控制,所以最后一天索性直接把flip改成了pop。一下子感觉顺畅了几十倍,而且粒子流淌下来跟集中了,不像之前的一滩一滩的,现在能够把形态控制到连一条细小的血滴流淌的样子也能模拟出来了。到这基本上这个效果也算成了。
从上面维演化的过程中,能够看到自己开始慢慢的适应商业的要求了,而且对粒子这一块的理解也加深了不少。和以前最大的不同是,以前是教程或者网络上现成的有什么我就学什么,很多时候是效果先于需求,也就是说效果要怎么做是在要什么样的效果之前,这本来就是本末倒置的。现在更多想的是我们要什么效果,然后在想能够有什么方法能够实现,什么方法是最好最快的。这种情况下虽然做的东西也差不多,但是思维方式完全不一样了,每往下多走一步都是一种探索,这种差别就好像你打怪的时候有地图和没地图的差别,遇到了问题也会更严肃的处理,总会去追根究底的弄清楚问题出在哪。这种情况下,base的大环境就起到了很大的作用,因为大牛就在身边。随时能够得到一线的支援,真的是一件非常爽的事情。
有些事情是我还是不能理解的,比如薪资。这个话题比较敏感,如果你想知道那就自己去了解,这里我不能说太多,但总的来说是不太开心。其实我是个实习生我当然现在对自己的薪资没任何要求,但是我的同事们过得都不太体面,这个让我第一是很惊讶第二是很担忧。我的理解是特效这一行门槛是比较高的,高级的特效师一般都会是技术指导,差不多也能当程序员了,同时艺术这一块一样都少不了,处理的事情也不是一成不变的,很多情况下都比较费脑力,所以我只能说,国内我们这些人受到的都是不太公平的待遇。这可能也和全球的大环境相关吧。
顺便说一嘴,今天入了一把凯酷87的最后一批次cherry红轴,小激动了一把。上面所有的字都是用这个新键盘敲出来的,敲红轴实在是像在吃巧克力一样,又顺又滑简直就是停不下来。跑中关村入这个键盘的原因一方面是自己有经常写代码写文字的需要很久就想要一个机械键盘了,另一方面就是base给我的鼠键实在是太操蛋了,鼠标已经换成自己的了,键盘绝对至少有五年的年份了,也不知道中间经过多少人的手,按下去难,弹起来更难。另外我们特效组没有做开发的人,这点然我很诧异,大家都不常写脚本或插件什么的,也没有单独的editor可以用来写脚本,只能用houdini默认的编辑器。这几天用着那个烂键盘非常难受,因为自己一般会写不少脚本来自定义一些东西,很多vop的东西感觉没有用wrangle来的快。唉,这方面不多说了,坑也挺深的。
今天就到这,下个礼拜周末再来接着写自己在base的感受。