|
|
发表于 2004-10-30 01:02:00
|
显示全部楼层
Re:最近流行,我也来一下,卡通渲染
卡通渲染这个东西呢,说到底没什么新鲜,一个是选定光照模型用来做Toon Texture Dependent Read,有时直接套用phong并不是很好的选择,需要试验的。
第二个就是如何设定Toon Texture了,包括每个Layer的颜色选取,每个Layer所占的比例等等。这个大概由美工来辅助做比较好。
另外,不是所有模型都适合做Toon Shade。比如模型太细,太琐碎的显然不适合。
拿我上面的来说,模型和Toon Texture的颜色是参考3dsMax6中的Sample得到的。至于每种Toon Color的3个layer的所占比例我是随便分了一下,由于是使用Lambert光照模型所以要使中间Layer占的比例大一些(如果使用Gooch等其他光照模型那么每个Layer的比例又需要相应调整)。
渲染时的主体是使用Lambert + Toon Texture Read。然后计算phong中的Specular。设定一个specular threshold将大于它的设定为纯白然后与上一步结果相加,这样就得到了主体的效果。
勾边呢,是使用了ImageSpace Process。先将模型渲染到一个纹理中,不过输出结果的(r,g,b,a)分别是((normal.xyz)*0.5+0.5, scale_factor*dist(camera - position))。这样勾出的边比较全。然后做一个8 tap的sobel filter,就得到了边缘。
shadow直接就用了一个project shadow,我觉得这个没必要做self_shadow。
接下来的就是一些blur处理了,shadow作了2次 5x5 Gaussian Blur,边缘作了一次3x3 Blur,这些都是在ImageSpace中做的。
然后结合到一起就成了呗。
至于第二种shadow,也是很简单的,就是几种不同密度的hatch texture按照影子的浓淡做一下混合就ok了。
这个可以算是完全fragement级别的toon shade。用sm2.0完成,其实我捉摸着用vs1.1+ps1.4大概也可以将就完成,效果不会差很多。明天有空试试…… |
|