新的一年,Symphonie之野望?

2010年2月14日 没有评论

Team Symphonie

不知不觉一年又过去了, 算起来我离开学校已经整整三年了。

认识米粒,菠萝和船长也有段时间了, 几个人都抱着对游戏的执着和梦想滚滚爬爬一步步走了过来。

去年在总部认识了策划人崩溃叔, 之后又在新浪BLOG找到了志同道合的特效程序DeepFar

加上做UI和设定的块叔, 动画师S, 音乐Kluze, 顾问马鹿, 新来的建模TT和人设TOSHI

虽然人数并不多, Symphonie小组总算是有点样子了。

作为Symphonie的程序组负责人,一直以来由于自己的不成熟给大家带来了不少麻烦, 非常感谢Symphonie的大家一起陪我坚持了下来。

希望下面大家也能一起继续走下去,新的一年里也请多关照了Orz

Symphonie精神

就如BLOG上的标题一样, 为了吾等之野望, 必将颠覆这个扭曲的世界。

不知道从什么时候开始,我们渐渐开始用这句话来提醒自己, 鼓励搭档。

身处在天朝, 我们总是面临这样那样的无奈, 受制于大环境。

但这些都不能作为停滞不前的借口, 不管身处什么样的环境, 都会面临种种对应的挑战。

在这个浮躁的时流中, 才更需要那种坚持不懈的努力和执着来达到目标。因为只要一放弃, 就一定会被洪流所淹没, 那种迁就活着的感觉, 本身就是一种对自我的否定。

之前和米粒说笑说道“或许我们才是扭曲的存在吧。”大家出于各自的理由和目的走到了一起, 但似乎那份扭曲才是让我们走到一起的原因,就是有那份扭曲, 我们才能坚持下去。 不管是现在还是将来, 这份扭曲都将陪伴着我们走下去。

那么?你扭曲么?(咪:自重

不管之前如何, 在新的一年里, 我们都做好准备去迎接那份全新的挑战!

【之后我们会加大BLOG的更新量】

最后, 大家春节快乐~ / (最近不知道为什么很想说“字数你妹!”)

最后在项目正式发布前放上一张谜之图:

newworld

【天之音】项目的正式细节将在明天发布,请敏那期待的喵= w =

分类: 日志 标签:

[内纽曼面]视美,好样的

2009年7月30日 没有评论

    (请首先注意此文的分类…)

    (另外,相信我!这绝对不是广告!XSK)

    故事发生在2009年暑假(?)中某一个平凡的下午——

    由于前几天的降雨,今天也不是太热,太阳只在正午露了下脸,就到云层后面呼唤君鹏吃饭了。虽然云层并没有厚到将烈日的光芒完全遮蔽,但还是为我们挡去了一个下午的酷暑。不过即使如此,家里还是开着空调,重庆的温度再怎么也低不到哪去哎。如往常一样,一家人吃过晚饭后,我和父亲便坐在电视旁边聊天,我们谈到如今的经济,我们谈到我将来可能会从事的行业,最后我们谈到了中国的动漫。

    与大部分看动画的人不同,父亲作为一个不看动画的人,对中国的动漫行业的前途是比较看好的。他更倾向于从其他方面来看待中国动漫这个问题。按照我们国家的惯例,一旦国家决定扶持某一个行业,那么这个行业多多少少会得到改善。事实上,近段时间某《喜羊羊与灰太狼》也确实取得一定的成功。老实说,作为一个长年看日漫的人,我完全不觉得国产动画现在与之前更加萧条的时候比起来有多大变化。在我看来,虽然中国动画瞄准的是低龄段,但孩子们也不见得喜欢。“对他人的想法做如此主观的认定,是不是太草率了”,我时常自问。毕竟,对我来说,那些每天六点还没到就守在电视前的时间,已是往日。或许父亲的观点是正确的吧。中国的动画会好起来的,虽然最后的样子可能和我与一些人希望的不同。

    聊罢,父亲睡觉去了,而我则有些无趣地在各个放着动画的频道间切换。一样省工的“中国特色”画风、一样糟糕配音、一样奇怪的分镜、一样无聊的剧情……但是,刚才那是什么。刚才换台太快,一瞬间没看清,只记得有个矮小的橙色背影一闪而过。我赶紧将台切换回来。

    圣洁便便(粗口自重)!这是什么——纯白的发色、大大的双包子头娇小的体型、上翘的眼角,坐在桌上急性子的发言——这,这不是傲娇萝(*)吗?!是时,百感交集,兴奋、惊讶、高兴、还有些许的茫然。精神被动画牢牢拴住,以至于甚至忘记了用手机把画面拍下来。等我想起用手机拍摄的时候,那萝莉早就从镜头中消失。心中不禁有些遗憾。想了想,中国的动画是天天放,看了看,放的是重庆电视台少儿频道的《缇可春季篇》,来日再战吧。

    于是接下来几天晚饭后我都守在电视前,等着。可惜那天的包子头萝莉再没出现。然而,“上帝关上一扇门的时候,总会为你打开一扇窗”。中国动画这几天给我的惊喜比过去5年加起来还多(因为过去没给过我惊喜)。GGGGOOOD LIKE!那是啥?!紫红色的头发,高树的发束(不好形容,参考《守护甜心》女主),侧倒在地上,双腿弯曲,左手撑地,右手放在胸口,一副楚楚可怜的表情。但这不是最重要的,最重要的是那双排扣的西式制服,还有日系size的超!短!裙!我用最快的速度拿起手机赶在镜头结束前按下拍照键,但是该死的山寨手机按键和实际拍摄间有将近一秒的延迟,就这样再次错过了机会。

    就这样又过了几天,这季动画竟这样就完了。也没拍到几张有价值的图片。虽然这部视美出品的动画的质量并不是非常的高,配音依旧垃圾,动作连贯性也不咋样,但总觉得很遗憾。

    于是,我想,我能做点什么吗?我想到了同人。可是,对于这么一部面向年龄层为9~14岁的动画,我一个21岁的怪叔(?)来画这个同人,不觉得奇怪吗?但是,心中有个声音越发高昂:“傲娇萝!超短裙!傲娇萝!超短裙!傲娇萝!超短裙!……”

    blood_tear 不管了!男人忠实与自己内心的欲望有什么不对?!(米:喂喂,别给我在这种地方用变态宣言啊)内纽曼面 爸爸,妈妈,儿子不孝,终于要跨入那个奇妙世界了。(米:BL宣言也给我自重!)

    总之,还是动笔了。因为某包子头萝莉只看到几个镜头,外形穿着都记得不是很清楚了所以就只好画了这只。嘛,虽然成品和原版看起来不怎么像就是了。(变御了)

character1

 

 

——————- 我是内纽曼面的分割线 ———————

 

以上是口胡文,比较夸张。不过后面那个确实被那超短裙震了下,不过基本上还是“中国特色”的风格。

真相如下——

IMG0173A

而前面的傲娇萝,我现在还在遗憾没能拍到。可恶啊…..

 

于是,决定以后看到“有希望”的国产动画,也顺便围观一下….

另外,虽然我看到的不是什么大不了的东西,但是….

视美,好样的!

分类: 标签: , ,

山寨葱技术——VocalTune

2009年7月30日 3 条评论

因为是山寨技术,所以请不要有任何期待。

总之,事情是这样的。VOCALOID2出现后一段时间,日本那边出现了一个叫做VocalListener的技术研究项目。这个项目的目标是让用户上传一首自己歌曲,然后变成VOCALOID的文件返回给用户,而这个VOCALOID的文件的输出效果尽可能趋近于用户上传的歌曲的效果。其原理就是将VOCALOID合成输出的歌声与用户提供的人声进行主要是音量和音高上的对比,找出差值,并利用这些差值来生成VOCALOID中的控制参数(比如DYN与PIT)。在VocalListener出现后不久,日本那边便产生了一股VOCALOID技术研究热,也出现了各种各样的模仿VocalListener的技术/软件。

以上那些,差不多已经说明了本文的性质。简单的说,被我称作VocalTune这东西就是一VocalListener的山寨。下面有个演示视频

http://www.acfun.com/html/music/20090722/38890.html

或者

http://you.video.sina.com.cn/b/22894978-1630562311.html

(注:视频前部分大部分时间在进行原唱的消伴唱处理。2:02左右出现的那个命令行窗口才是VocalTune的正体)

VocalTune的原理与VocalListener差不多,都是通过对比人声与VOCALOID输出歌声来获得参数。使用snack库来分析歌声的频率。因为人的听觉中,频率高一倍的话,音高就刚好高一个八度,所以将人声与VOCALOID歌声的频率值求2的对数后并想减。然后,现在音乐理论中,一个八度被分为12个半音,几乎是按照对数平分的。也就是说,增加一个半音高,频率的对数就几乎刚好增加1/12。结合VOCALOID中PIT与PBS两个参数的含义(PBS表示PIT影响的半音数),我们便可以用分析出的频率对VOCALOID的参数进行调整。

现在VocalTune的很不完善,界面也很不人性化。不过够用了。写这个东西的动机主要是觉得好玩,其次是自己这边有潜在的需求。

本体暂时不放了,修修再放出…

最后放MP3:http://www.yyfc.com/play.aspx?reg_id=2173027&song_id=3142370

还有应景的两张赶图…

shizumeuta

shizumeuta2

テストオワタ\(^o^)/

2009年6月20日 3 条评论

啊哈哈,估计这次是真的要オワタ(^o^)/了。各种意义上的很好很强大。

放假了也不是说一下就会闲下来,还有第三学期以及各种乱七八糟的事情得闹腾。不过总之,工作要渐渐开始恢复,关联的学习也要重开了。

嘛,假期的话Blog的更新大概会稍微勤快一些?如果进度比较顺利的话。

 

另外,从建组至今已经快有2年零一个月了。虽然说在外面看来我们只是一个什么都还没公开的组,不过说真的,两年间大家都成长了不少了- v -

嗯,不知道到明年的这个时侯,我们又能比现在多走多远呢?稍微有些期待呢。

分类: 日志 标签:

萝莉正太节快乐~(啥

2009年6月1日 1 条评论

期末了,要考试了,外加(哔——)和(哔——)和(哔——)和(哔——)等一堆事情在等待着我。于是这一段时间估计我个人可能稍微会忙一些,参与项目的时间估计也会受到一些限制哎。

虽然比预计的时间要晚了不少,但是项目大体上还在顺利进行。团队的进一步磨合还需要一些时间,不过这几周已经有了不少的进步了。8月原定的(哔——)里程碑要完全完成估计有些困难,不过应该差的不会太多了。

至于项目的具体信息……嘛,不要着急,资料齐备时机成熟的时候就会自然出现在大家眼前的(殴

 

 

碎碎念1:

原来3叔特意在翘班放假是为了庆祝儿童节啊,嗯嗯。3叔的年龄果然是个谜(喂你不是见过本人了么

碎碎念2:

那啥的神舟终于修好了,而且换了个更高分辨率的屏幕(当然也敲了我一大笔修理费)

おかえり、相棒。

分类: 日志 标签:

HDR相关

2009年5月22日 没有评论

呃那啥,HDR在GeForce7上面是个头痛的问题。GF7虽然支持fp16的渲染目标,却无法在使用fp16渲染目标的同时打开MSAA。其原因就不深究了,网上早有说明,总之事实如此。

HL2在Lost Coast中加入了HDR支持,不过因为当时MSAA和fp16冲突,Value并没有使用很直观的fp16方法来实现HDR,而是用了普通的int8来实现,其做法就是将光照信息编码压缩到RGBA的总共32bit里面。不过这有个问题,在Alpha混合的情况下处理起来会很麻烦,因为编码也会用到alpha通道。

然后,GeForce7600(或者说DX9c?)的显卡支持int16也就是每通道16位整数的渲染目标,但是在dx9c中int16并不支持alpha blending,于是pass。再考虑A2R10G10B10的渲染目标,此格式是支持alpha blending的,而一般的alpha blending只用到dest alpha(也就是贴图中的alpha通道)并没有用到framebuffer中的alpha通道,所以那个A2并不会影响到alpha混合的精度。据df叔所说,A2R10G10B10在XB360上会出现alpha混合的问题,而在他的PC(NV卡)上似乎没问题。于是我们也无从知道是不是PC上的NV卡就没问题,更不知道A卡如何了。

接下来还可以考虑MRT。GF7600是DX9c显卡,支持Shader Model3,也就是说可以一次性渲染到4个渲染目标。我们不做Deferred Shading,所以4个RT绰绰有余了。渲染到2个int8的RT,其中一个RT用RGB三个通道存储色相(剩下的一个留作alpha),第二个RT使用一个通道来存储一个倍数。在进行HDR相关的计算的时候,将第一个RT中的RGB值乘以第二个RT中的倍数的到完整范围的色彩。至于剩下的通道嘛…存点其他的东西啦,自发光度什么的…

 

最后,我觉得用什么技术实现并不是最大的问题,最大的问题是60FPS的怨念啊….

分类: 独自研究 标签:

╮(╯▽╰)╭

2009年4月28日 4 条评论

诡异释出

seaside_normal_sm

以上!

分类: 独自研究 标签:

4月初的奇怪的碎碎念

2009年4月6日 3 条评论

概念文档初步成型了,之后主要的工作分为两部分,首先是争取在8月左右初步完成核心游戏系统的Concept Proof Demo,其次美工那边还要继续忙设定。

此外,本周开始组内周报系统终于再开了,总之周报拖稿的统统拖去喂面包头,嗯嗯。

下周最主要的工作是估算资源需求,准备开始进行任务规划。但是到底是否要做任务分配机制我还是有一点犹豫,虽然说是为了保证效率,但总是觉得面对面的讨论和说明会更有效一些,而且如果配套的工具设施访问不方便的话也起不到什么很好的提醒作用吧。

前两天评估了几个常用的Groupware系统,多少有一些不理想的地方。从提醒效果的角度上看,其实很想要一个桌面Widget来提醒大家当前自己的未完成任务之类的。其实本来想试着自己写的,觉得XML-RPC啊SOAP啊之类东西很烦就放弃了。嘛,懒人应该会找到懒办法的,嗯嗯。

分类: 日志 标签:

忽然想到——No.2

2009年3月26日 没有评论

好吧,还是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日 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 /~

分类: 独自研究 标签: