寻龙online – 2011年在英佩参与的MMORPG端游项目 2011年在英佩全力参与到这款中国古风题材的MMORPG端游,负责整个UI美术和交互设计。 我在英佩3年多时间一直做UI leader,主要参与的就是《全球使命》和《寻龙online》这两个项目。《寻龙》其实开发了很长时间,09年的时候开始做了蛮多UI风格的尝试: 针对中国古风做了蛮多方向的尝试,例如云纹,龙,青铜金属,纸墨,玉器,等元素。最终的风格是土豪金+龙图腾元素,带点幻想风的。 Categories Gallery
国家与文明 – 2009年做的页游 2009年辞去了之前的原画工作,加入朋友的创业团队,做一款文明题材的夜游。 在之前的外包公司语言软件里做了2年原画兼UI,结识了不少对开发游戏充满热诚的同事。09年的时候借着一个机会,大家决定出来组个小团队创业。做的项目是当时还比较热门的战争策略类型的页游。 当时大家脑子里充满了奇思妙想的点子,经常一起头脑风暴各种好玩的系统。但回想起来也犯了很多初创团队的毛病:就是忽略了开发周期和成本。初期想的很好,但是实现起来遇到了很多坑。最终忙碌了一年后投资用完,项目没有做出来。但失败的经验也是重要的积累,这段经历还是很有意义的。 游戏是用flash开发的。这个项目的美术只有我跟另一个原画前辈俩人。我主要负责游戏UI和相关插图。游戏的画风参考了蛮多同类的游戏。 Categories Gallery
代码自动创建AnimatorController和动画测试环境 用所选动画一键创建Animator Controller,并且搭建好动画测试环境,添加测试动画的UI按钮。 手动创建Animator挺费事的,特别是反复修改动画再倒入Unity里测试的时候。我当前参与的项目用的Live2D做纸片人动画,做的AnimatorController只是把所有的AnimationClip分别填再一个State里,然后都是创建AnyState的Transition。如下图。 规则很简单,所以很容易用代码创建。 代码如下: 这样在unity主菜单里就可以直接点按钮执行这个方法了。... Categories Devlogs
Pocket Warriors – 横版动作游戏(2010年) 刚学Unity引擎的时候,边学边做的一款横版动作游戏。获得IGF China 2011最佳美术奖。 2010年我在英佩做UI组长。那时候游戏行业还不怎么加班,有大把的业余时间可以搞独立开发。我是《怪物猎人》的铁粉,于是就打算做一款横版的怪猎类型的手游。当时想的挺好,但是刚学Unity,而且也没什么研发经验,这个项目做了1年多才做完。 2011年的时候,碰巧发现GDC的独立游戏节IGF刚好在上海开设了亚洲区。于是抓紧研发迭代,目标着赶上10月份的IGF比赛提交日期。 那时候toucharcade.com还是全球的手游开发者的圣地。我在其论坛里收到了好多回帖建议和赞赏。后来还在论坛里邀请了200个测试志愿者,并且帮我做了多语言翻译。虽然这游戏做的很粗糙很一般,开发过程也超级辛苦,经常熬夜,甚至请假在家开发,但是最终还是获得了IGF2011的最佳美术,拿到奖杯的时候还是挺激动的。... Categories Gallery
Magic Stone Valley – 连线消除+战斗(2016年) 2016年独立开发的一款手游,Lowpoly风格,连线消除激发角色战斗,无尽生存模式。 2016年离开了之前的创业公司,闲在家里一段时间,一边带孩子一边做了点小游戏开发。之前一直想做的几个东西在这个项目里验证了一下。一个是用渐变色贴图做3d角色的方式,一个是用整理一套合理的unity动画状态机的开发流程。 因为之前写过很多小型Gameplay的demo,所以就挑了一个美术资源量最少的消除玩法来做。我一个人一共就开发了3周时间,一周做美术,一周写代码,一周上线测试。算是我做过周期最短的上线项目。 玩法: 屏幕上方不断出现敌人,通过连线消除激发各种技能抵御敌人进攻。 连线数量达到5个以上可以激发角色技能,连线数量越多攻击力越强。... Categories Gallery
Star Ranger – 星际飞行射击游戏(2013年) 2013年一个人全职开发的一款星际题材的飞行射击手游,半自动战斗+经营管理。 2012年做完跟同学合作的答题游戏后,又花了一年做完的这个飞行射击游戏。当时也没有太明确的目标,只是个人比较喜欢空战游戏,以积累经验为目的,一边学引擎和编程一边做完这个游戏。那时候Unity的工具还比较简陋,很多东西都是自己写了一些工具实现的。 例如天空球的做法,是参考了《家园》系列的。可以看这篇帖子:如何制作《家园2》风格的太空背景skybox 美术资源: Categories Gallery
Sparkle Shader – 闪烁亮片材质 两种方法用躁点图配合Bloom后期效果做出闪烁亮片材质。 闪耀亮片的基本原理很简单:做法就是用一张躁点图,做pow运算,让少数躁点亮度提高,配合post-processing中的bloom效果,让少数躁点亮爆。 但其实具体做各种材质的时候,有很多不同的手段可以实现亮片效果。 方式一:在fragment阶段做normalDir躁点扰动。 做法就是用一张彩色Noise贴图,在fragment阶段将normalDir干扰。然后与viewDir或者lightDir做dot运算(受视点影响或者光源影响),最后再做一次Pow运算。 如下图,基于视点的亮片,所以中间亮片较大,边缘的亮片较小。... Categories Devlogs
Liquid Bottle – 液体瓶制作 通过旋转posWorld获得X和Z轴偏移,配合脚本输入Sin曲线制作出自然晃动的瓶装液体效果,并且可调整液体容量。 这个巧妙的做法是从网上学来的,不过这位大佬并没有详细分析实现方式,只是写了一下大概的思路,看他的twitter里很多人都在追问详细做法思路。我这儿就厚着脸皮拿来详细分析一下吧。 这玩意儿的实现方式很讨巧,几个功能的实现是依赖同一个算法的,不知道从哪儿讲起比较合适。所以就从实现的流程一步步讲: 准备好一个胶囊体来当作药水瓶。 首先计算一个物体位移和旋转时的加速度值,用来作为液体晃动的参数。创建一个C#脚本,把对象的位移和旋转的delta值输入sin函数,获得一个在-1到+1之间的平滑曲线。我们主要关注物体的X轴和Z轴的运动影响,所以就把“_WobbleX”和“_WobbleZ”这两个值输入进后面要写的shader里。 参考代码:... Categories Devlogs
Foliage Rendering – 树叶体积感渲染(一) 通过修改法线的方式,制作出有自然柔和的体积感,并且跟随光影方向变化的树叶。 树叶的做法无非是插片,但是不管怎么插片,在平行光源下都不自然不好看,阴影边缘硬邦邦的。 我们想要的是有体块感的树叶。有个很简单出效果的方式就是把树叶的法线映射成球形的,因为我们最终想要的体块感很接近一个球形。 修改完法线后,就能360度无死角的显示出柔和的体块感。 配上贴图,把光源转几个方向看看,很完美。 实现球体Normal除了用修改法线的方式,还可以直接在Shader里通过物体Pivot计算出来,详细可参考第二篇:Foliage... Categories Devlogs