忽然想到——No.2

2009年3月26日 pineapple 没有评论

好吧,还是SSS的东西。这次是法线贴图相关物。在最早的计划(CNB)中就试图用扭曲法线的方法来解决打肿脸的问题。(这里所谓扭曲法线,是指用非常规的normal map来扰动法线。) 不过收效甚微,嘛多半是方法不太对吧。而最近将SSS和原来扭曲法线的方法结合起来口胡,说不定可以得到个好点的效果orz。

以下的东西进过少量验证,还是不怎么可靠。

之前想到的方法仅仅是直接上法线贴图,结果是,之前“打肿脸”的的光照角度OK了,但是其他光照角度又“打肿脸”了。不过现在用法线贴图,是为了一定程度的模拟SSS的一些特征。在材质空间扩散这种模拟SSS的做法中,使用模糊来模拟光线在材质中的散射,而模糊这种做法,实质上降低了光照变化的频率。因此猜想,如果有其他方法可以降低这个频率的话,是否也可以一定程度上达到SSS的效果呢?

法线贴图一般用来添加表面细节,但是用作其他的目的也不错来着。比如用来扰动法线是表面看起来更加平滑(即是说,降低光照变化频率)。不过这个贴图该怎么做呢…烘焙就可以了。

提出以下两个方法制作这样的贴图:

1、高模(如果有)向低模烘焙法线,不过不是烘焙到常见的Tangent空间,而是烘焙到Local空间。接着在PS或者其他软件里面模糊处理这张法线贴图。最后用软件(比如万能的xNormal)把贴图从local空间转换到Tangent空间。

image =>image

2、另外建立一个高模,修改这个高模降低其表面变化频率。比如,一张人脸,可以把鼻子、嘴巴都弄平把颧骨附近relax一下。然后用这个高模向低模烘焙法线贴图。

image to image

ok,贴图做好了,但是该怎么用呢。一开始,我直接将烘焙出的法线贴图(用第一种方法得到的贴图)用在模型上,结果是

image

…虽然看起来平滑了,但是有些想要平滑的地方没有平滑(比如嘴唇下边的较暗部分),某些不想平滑的地方被平滑掉了。而且,鼻子和嘴巴处出现黑块儿。黑块儿出现的原因是,从几何结构上来说那块地方应该是处于shadow之中。效果不理想。于是一次性放弃第一种烘焙材质的方法(可控性低)和上面的法线贴图运用方式(和shadow map不怎么友好)。

先设想法线贴图的用法。

如果我们的模型是一个球体,那么根据光线角度与表面法线的夹角我们倒是可以很方便的伪造出次表面反射的效果,像这样。

image然而,这样的方法和shadow map不怎么友好。转变思路,次表面散射效果主要是由与光线进入表面以后在其内部散射,最后又离开表面进入摄像机。离开表面的光与在表面就被反射掉得光是叠加的。于是想,减弱普通光照模型的下的光照(光进入了表面),然后后在适当的地方加上一些光(光离开了表面)。对于球体,可以直接用dot(normal,lightDir)的方法找到适当的位置,而在更复杂的表面上,这个方法就不怎么好用了。like this…

image

(鼻子下部分应该有光透过,不过却没有)

于是,结合法线贴图降低表面变化频率的想法,用第二种方法烘焙贴图,这次建立的烘焙用高模把鼻子弄平了,嘴唇也平掉了,好吧其实是偷懒,实际上应该更仔细的对待这些部分。效果如下:

image鼻子透过光了!虽然没有真正的SSS(或者比较接近真实的伪SSS)那么好,但是效果也不赖。

最后再加上glow。

image

好吧,glow是作弊,不过看起来还不错。

image

对比用的未扭曲法线版本(当然,也有glow)….感觉还是前者比较有通透感。

最后,其实嘛…我作弊了(拖

正面光时候的效果并不太好,是否能够通过一些调节来解决,就不清楚了╮(╯▽╰)╭。

不能继续偷懒了orz….

OK,可以吐槽了orz…

分类: 独自研究 标签:

忽然想到——No.1

2009年3月25日 pineapple 2 条评论

    上午是UNIX课,因为要点到(实际上也点了),所以不得不去。于是上课开始YY游戏里面的渲染效果。除了还没有想好的场景风格以外,最为头痛就是人物皮肤的表现了。最开始考虑的是最简单的Cel Shading,也就是卡通渲染了。这个主意不错,至少在光照从正面照过来的时候不错。

front-light

(It works)

 

    然后我把光源移高一点,往旁边偏一点。

image

(image

 

    我对无故打肿主角的脸这种事情没有兴趣。不过传统的TV动画的光照模型是高度扭曲过的,要想做得像动画一样不容易啊。很重要的,另外一个原因让我对传统的Cel Shading失去兴趣,那就是Cel Shading会干掉很多的细节。于是把视线转向真实渲染(PR)和非真实渲染(NPR)之间的中间地带。从思路上讲,就是把PR中的技法用到NPR中去。反映到具体画面上就是一些看起来很“湿润”(别想歪)的ACG系CG的效果。

比如这张的效果(脸):

http://www.pixiv.net/member_illust.php?mode=medium&illust_id=3129353

(由于版权原因,只能放出URL。而且很可恶的是没有账号不能看…

等下有空自己来仿一个)

    稍微分析一下这样的效果的组成。答案是,非常重的“次表面散射(Sub-Surface Scattering即SSS)”效果!对,就是那个传说中的SSS(啥?)。不过这里的散射度放倒PR的情况中去的话,就是严重的过度SSS了。如果用看PR的眼光来看这个皮肤,就像是个蜡块。

 

    于是引出了正题——SSS效果(死)。不过以下都是妄想,没有经过论证,也暂时没办法论证。主要目的是记下思路等以后有时间的时候实现,比如在游戏正体开始填充阶段的时候。

 

    关于SSS,在很早之前(还没有开始这个项目之前)就了解过,不过关于实时SSS方面的信息和知识,则是在这个项目开始后才开始关注的。专家们已经提出了很多实时SSS的方法,比如Spherical Harmonics(球谐函数、PRT)、Texture Space Diffusion、Translucent Shadow Maps等等。但是,TSM要求特殊的Shadow Map,而且还可能对Shadow Map做down sample;Texture Space Diffusion需要将光照先渲染进贴图,还要加工这个贴图;而PRT则是计算了整个光照对应情况,而且需要大量预计算时间。这些要么和OGRE的渲染流程相处不怎么河蟹,要么不够灵活(或者说是太麻烦?)。于是一直苦闷,想要找到一种效果不必那么好,只需要刚好能在人物的脸上使用就够的SSS或者伪SSS算法。

    上课无聊,只好各种YY,忽然阀门一转,回想起之前在查找shader新技术的时候找到的运用在HL2中的Radiosity Normal Map——辐射法线贴图RNM。RNM的思路是用贴图记录下某个点对各个方向的不同属性,虽然HL2中的RNM是用来记录辐射度以实现GI的,但是这并不表示RNM只能用来做这样的事情。如果我们吧RNM的那些基向量关于切平面对称一下呢?贴图中的每个分量都是向着物体内部的,每个分量的大小表示的是这个方向附近一块区域的衰减程度。

 

    具体是这样的

image

    考虑上图的情况。光照从上向下。下面的是当前渲染的像素。像素上的三个向量是RNM中的基,是处于切线空间的三个固定向量,虽然图上画的是3个向量,但是实际上我准备使用4个向量,基本上就是HL2的RNM的三个再加上一个和法向量相反的向量。总之,在这三个向量指向的物体的另一面的一块区域内设置采样点,计算每个采样点到渲染像素的距离(或者衰减系数toka)的平均值。将这个平均值记录下来(相当于基中向量的长度),四个值刚好对应四个通道,可以用RGBA的贴图来存储。

    渲染的时候,将基中的每个向量乘上上一步中预制的长度值。再将光照方向变换到切线空间,并与基中的每个向量依次saturate(dot),然后将这些结果值加起来。如此就得到了某个像素在某个光线角度时从内部反射出来的光强度,在这里我将其称为补光。接下来我们可以计算一般的带shadow的光照,最后把这个补光加到基础光照上面去。

 

考虑三种情况

image

1、点发线方向和光照方向很接近。

l为光照方向的向量取反,a1 a2 a3分贝为三个基向量

则saturate(dot(a1,l))=0

saturate(dot(a2,l))=0

saturate(dot(a2,l))=0

最后得到的补光为0

 

image

2、点向量方向与光照方向几乎垂直

这时候

saturate(dot(a1,l))>0

saturate(dot(a2,l))约等于0

saturate(dot(a3,l))=0

得到的补光>0

这里会出现这样的情况

image

    此时点发线、基向量和光照方向都相同。但是明显右边的情况下,入射光衰减的更重,因此, 点P处的补光应该是左>右。造成这样的区别的原因是,物体的几何结构的区别。而实际上,我们在计算基向量长度的时候就已经将物体的集合结构计算进去。因此,此处a1本就应该反映出其附近的衰减程度,也就是说这里的a1向量,左边的应该比右边的长。(好吧,我的表述能力很差,我的意思是。我们之前预计算的贴图会让我们得到近似正确的结果)。

 

然后是

3、点法线与光照方向几乎相反

image这时候三个基向量与l的点积都>0。一般这样的情况是怎么出现的呢…

我想,大概是这样

image 也就是渲染的像素处于背光面。这时候的a2值不会太长。为什么?

因为计算a1a2a3长度的时候我们可以调整衰减的情况…

image

比如这样…这个要根据实际的光照模型来弄。

 

总之,就是利用RNM的原理,来做3S的方法。最后,这个方法其实只对没有变形的物体有效,但是对于脸这样形变并不是很严重的表面大概也适用吧。

 

上课orz /~

分类: 独自研究 标签:

偷懒了…

2009年3月24日 pineapple 2 条评论

 

ani1

    话说前几天看了某视频教程(?)《动画师生存手册(The Animator’s Survival Kit)》(好吧,其实是某书的配套物的样子)于是蛋痛开始做小动画orz…发现没有想象中的困难,不过很费时是没错。那教程挺有意思的,至少补习了一些基本的知识。虽然教程教的是2D动画,不过发现对3D动画也挺有意义的。以后设计人物动作的时候说不定会用到…啊不,应该会用到。

接下来是场景和其他的一些奇怪(?)设定图了呢orz…什么时候才能开始建模啊。(众:拖进度的不是你么。) 最新版的人物设定图被船长形容为“有如FF7到FF8的变化”….各种意义上的泪目(囧。想画HCG啊(自重!

orz…另外,实验课开始了,每周的行动点数又下降了。

分类: 日志 标签:

さらば、相棒よ。君のことは忘れない。

2009年3月24日 MiliMeow 1 条评论

美丽的神舟L720T终于开始了抽搐。

短短的一年多之内连续出了数次问题,最初是过热抽风,之后是液晶屏幕出线,然后是无线网卡天线RP,最后不定时黑屏死机。虽然之前有考虑过送修,但在可爱的工作人员们告诉我“需要送到深圳返厂维修,大概要三个月的时间”之后,我就彻底的断了这个念头。

网购了一台Asus EeePC 1000H来替代,结果没想到对方送来的竟然是1000HD……

OTL于是退了回去让他们重新寄送,大概要过两天到吧。这是近期第二次淘宝购物后不得不退货了,看来这几个月某的淘宝运不太好……

 

总之,伙伴啊,安心的去吧,我会永远记住你一年半短暂的人(?)生,记住你背负的神舟的烙印。

さらば、相棒よ。君のことは忘れない。(好吧其实我是打算有了替代之后就考虑送修的讲)

另外,虽然我这边基本陷入了一周的停工状态,在菠萝的努力下,最终版人设图基本敲定了。之后就是重新整理舞台设计和系统概念了。

新机器送到之后我也得好好加油了,不然没法补回这一周的TimeLoss唉

分类: 日志 标签:

我什么都不知道~

2009年3月7日 MiliMeow 7 条评论

PAG-FaceList-a

 

PAG-FaceList-b相、相信我……我真的什么都不知道……

分类: 日志 标签:

三星期的杂谈~泣きっ面に蜂

2009年3月6日 kluze 没有评论

好吧,又是艰难而漫长的一个星期。

自开学以来,陆陆续续的灾难降临了,从华硕P5K的又一次阵亡到如今依然无法让我的山寨mac os上网的盟区战卡,幸运并不随牛年之时的春色如期而至,反而被魔都3个星期的绵绵阴雨抹得一干二净。

当然上不了网是最头疼的,驱动明明能认出战卡芯片,但就是search不到任何信号,永远在connecting and connecting。本怀疑是网卡的问题,但在别人的XP上一用,发现速度飞快,让我一瞬间怀念起了美丽的windows。只能猜测大概是山寨MAC的某个角落出了问题,等有时间备份一个再TEST吧。(某K:米,我把机子寄过去哟!(殴))

监听出了点问题,于是低频消失了。交作业时被好好教育监听有问题,要用点好的,无奈只能返修看看问题。说回来这东西开关已经出过一次问题了。多灾多难……本想再学校做点东西,思路完全游离在北大西洋,还是老老实实把声卡带回去。

泪眼朦胧中又看到草泥马的身影了,多么亲切而和蔼……

好吧,说些别的。发现拿“阿姨洗铁路”的《best friend》(其实是老物了来着)来调节工作节奏,提高生活情趣也是不错的选择哟。基情四射的歌词与铺天菊花的PV总是能让人神情愉悦,心旷神怡。(大误)>v<具体请参见acfun。

话说两会召开,世界一片和谐,嗯,啥都消失了……大家留下一个NOT FOUND皆神隐了……

 

米:我帮你放下地址吧,你饶了我别把机器寄过来了(啥

Niconico:http://www.nicovideo.jp/watch/sm6046198

Acfun:http://222.243.146.200/html/music/20090206/19975.html

分类: 日志 标签:

被山寨DS打败了……

2009年3月3日 MiliMeow 2 条评论

偶然发现的TB网店,信用挺高的,价格也不错。
于是,一时的心动成为了无尽麻烦的根源。

第一次寄来,Slot-1诡异的在卡带上留下了一道深深的痕迹。
而且,虽然看起来很紧,实际上完全不认卡。
虽然说是翻新机但能弄成这个样子也真的不太容易。

于是,退还返修。
时间是,签收后的三个小时。

三天后,第二次寄来。
虽然我三番五次说明只有顺丰和邮政能到我们这里,结果卖家还是自作主张用了STO
结果拖了一天,最后还收了我10元邮费。
卡槽好了,这次触摸屏坏了囧rz

最后,我的根性已经到了极限了。
只好退货,寄出时间是签收后的两个小时。

整个过程中,我额外耗费了70元的邮费(两次EMS的30,一次STO的转寄费10),囧rz

实在太那啥了,一个囧字已经无法表达我现在的心情了。
如果一定要表述我现在的心情,仿佛就是望着一群群草泥马向着我奔驰而来
传说中的便宜没好货大概就是这么一回事了。

加点钱买台韩版水货算了唉,希望这次别再出什么麻烦了。

分类: 日志 标签:

这是美好(大误)的一天嗯。

2009年2月18日 MiliMeow 没有评论

本来想请长一点的假的,结果被和蔼可亲的教学秘书告知迟到太久会被OO然后XX最后会####,于是只好把近一周的计划压缩到了两天,然后匆忙赶回学校了。

结果因为出门匆忙,发生了各种各样的小悲剧,比如说:

  • 月底计划购入新作=>把PS3手柄忘在家里了
  • 来之前本来是和同学约战=>发现把游戏盘也忘了
  • 打开电脑要连接外置光驱=>发现存储设备用的USB数据线也扔在了家里
  • 之前买的耳机不知道去了哪里=>现在不得不用着奇短无比手机配的耳机OTL

嘛,万幸的是路上还算顺利来着。

此外,今天本Blog开始对组员放号了。

感兴趣的似乎不少,可能的话希望大家能够试着写一点什么吧。(凝视着红色有角三倍速驰骋于星之大海中的3叔

明天开始要回到学习与工作中了,嗯。大家都加油吧,我们要努力像三叔一样脚踏着蓝星,头顶着青天。

最后,强烈期待一下菠萝的某坑历史介绍文。

分类: 日志 标签:

Blog建立www

2009年2月17日 MiliMeow 2 条评论

嗯,在主页计划拖了很久之后,终于做起我们的官方Blog了。

因为暂时没有时间,所以总之模板有空再改插件有空再上嗯。

希望各位多多关照,在新的一年(喂)里,我们依然会继续努力为伟大的食菠萝事业而奋斗的(大误。

PS:各位组员请向我要号,我不在的话向菠萝要也可以。

PS2:很期待菲酱的四格哦。

PS3:其实这个嗯,对外公开一些东西也是另外一种催稿方式啦,挖坑的各位同好不妨尝试一下?(被菠萝活埋

分类: 官方发表 标签: