原文作者:SlayeR雅
vimeo高清:https://vimeo.com/57210104
荷兰人半年前找到Lybix时候,问我有没有可能做那样的一个镜头,就是一个青蛙冲浪,基本是抄冲浪企鹅的TV剧,就此开始漫长的制作过长,这个DEMO的镜头是我一个人完成,项目的火焰则由火神飞波独立完成,我已发布他独特的调火视频教程,也是Lybix内部特殊的火焰方案,他是我见过做火最出色的人,此前相信大家基本没见过这样调的,有兴趣可以看看。半年除了一个镜头,对方还购买了整个流程的技术包括开发东西的源代码,那样以后他们就可以自己做了。总的来说跟企鹅的效果差距太大,很多地方自己的不满意,但是技术目前有限,交货时间有限,就这样吧,日后一定把剩余的问题通通KO。
另外有人问梦幻西游那个卷浪是不是我做,那个不是我搞的,应该是base做的吧。
这个特效还得到dreamworks的特效组朋友沟通,给了我不少技术的灵感,但是跟他们的Surf's up是没法比,企鹅的卷浪是当年打败加勒比海盗等一众ILM特效拿到了当年的VES全球年度特效大奖,他们的材质更细腻。昨天凌晨收到dreamworks一些员工来信赞了我的作品,也提出了很多做得不好的地方,还调侃不如我过去跟他们一起工作,很开心,不过我还是喜欢Lybix,跟飞波一起办事比较又默契。这特效只要掌握了技术流程以后就可以慢慢研究深化效果。
我们来讨论一下这个特效吧,特效的技术和艺术贯穿整条CG流程,材质模型-设置-动画-特效-渲染-合成一气呵成。
设置我使用MAYA做,基本是从我开发的角色设置插件的面部表情系统里面抽取一部分代码改装而成,整个卷浪的工具开发三四天代码搞定非常快,其中包括二级控制器(当年erickmiller的分离矩阵反算的方法)和双blendshape技术(便于后面渲染的分离),面部这技术设置的很多人研究,加了次级控制器好处是不需要依赖海洋变形器,只需要给这些控制器加上海洋的驱动就可以,这特效我没有使用海洋变形器,速度相当快。
不过miller使用的是cluster的开发,我用相同的原理使用joint开发,当时给IDMT做的面部系统也是这核心了。
有了骨骼可以随意缩放和排列和生成线排的比例。
不做设置的人不知道erickmiller是谁[转载]冲浪·卷浪制作,dreamworks的技术总监,MAYA变形器的祖师爷,早在十多年前发布的那个肌肉开发我看了视频震惊啊,当然冲浪企鹅的绑定也是他写的。
然后接着就像冲浪企鹅那样生成动画模型,我个人把模型的信息导入naiad去驱动粒子,为什么这样做?其实不是必要,但是我能在naiad里面得到关于各类速度的信息输出到MAX frost去构建模型,frost的能力证明开始没选择错,不但跟KK超友好的交互,而且后面帮我解决了KK严重切边阴影的烦恼,这个用过KK遮罩渲染的必须遇到过。
上面这层是最经典的一个向量光照层,我就使用这层白的做发光照射浪管了,当然还有很多有用的层,只要你需要都可以通过简单的nel输出到KCM处理。
在做卷浪的过程中一共两个槛,技术上我总共写了一个材质球一个自动笔刷,艺术上主要是分层和合成。
材质球的开发是一个有趣的过程,我是在3delight上面完成的,这个材质球主要是处理面法线和卷曲速度向量之间的混合关系,原来我不想卖给荷兰人的,最后还是算吧,封装代码限版本就算。另一个就是冲浪板的滑痕,这个技术很多creatureRD开发过,我目前见到能处理的是massive和miarmy的脚印系统,因为我这个基于变形器比较特殊,massive更不能谈及变形器了,不过官方的massive5.0能处理,如果不想写程序的童鞋等等吧,最后一个是foam的障碍,我使用了在naiad做几个物体在水底搞动,然后生成泡沫粘附,最后导回MAYA使用MAYA的海洋系统做置换,另外还有一些noise的表达式。
OK,总体来说技术都偏向于角色开发的层面,编程代码我就不在这聊太多了,主要来说说渲染,从我发布的直升飞机以来很多人问怎么渲染水体,尤其是海面的分层怎么分,我之前的DEMO都是刷过没有显示具体怎么分,这个DEMO我把四十多层全部发放了,我按图从左到右从上到下一个个来说吧:
1.国旗层[转载]冲浪·卷浪制作,处理卷曲向量和卷曲速度的层,另外也可以分割卷浪合并不同的材质。
2.漫高光,用于做水面的反光。
3.置换高光,用于做海洋纹理的高光。
4.diffuse,含阴影
5.泡沫,不多说了
6.太阳光发射层,这层让向阳面更加润泽
7.浪管内部发光,用于单独处理浪管
8.海洋置换的纹理层
9.法线
10.OCC
11.浪管闭合区的泡沫卷曲贴图层
12.菲涅尔
13.环境反射,灵魂的一层,背光的折射细腻效果,面反射效果全靠它(带海洋置换+次级控制器控制的海洋变形)
14.太阳光高光
15.光照区域分离层,这层超级有用,把光线进行了分离
16.diffuse,最初的第一层,最底的层,跟企鹅那层第一层一样原理,只接受skylight的固有色层,不带阴影不带光线跟踪
17.折射区域分离层,面向镜头为白,背向镜头为黑(带海洋置换+耳机控制器控制的海洋变形)
18.降落层,根据-Y轴速度来着色的层,处理浪下滑的变化
19.环境反射(不带海洋置换+耳机控制器控制的海洋变形)
20.环境反射(noise不带海洋置换)
21.冲浪板层(含diffuse,specular,单独接触面OCC[这个OCC绝对不能和海面一起渲染,必须分开调的,完全不是一个概念],其实细心想是矛盾的,不能一起渲染?那就是说想要OCC又不想要OCC,哈哈)
22.浪尖单独置换层(基于vector shader限制置换区域,非映射贴图)
23.浪板滑痕,带程序纹理运动和根据基于变形器变形计算准确UV
24.海面单独层(基于vector shader限制置换区域,非映射贴图)
25.折射层(基于vector shader限制置换区域)
26.浪背水痕层(简单的noise贴图,基于vector shader限制置换区域)
27.浪背分离层(naiad输出)
28.深度
29.背部光照层(naiad输出)
粒子就一眼看穿不多说了:
后期迟点再写
,maya场景建模,Maya建模