摘要: 本文目的是以一种通俗简单的方式介绍Ken Perlin的 "改进版柏林噪声算法" ,讲解代码采用c 编写,开源免费使用。如果你只是想看完整代码, "点击这里" 。 柏林噪声是一个非常强大算法,经常用于程序生成随机内容,在游戏和其他像电影等多媒体领域广泛应用。算法发明者Ken Perlin也因此算法获阅读全文
posted @ 2017-07-21 16:05 立航 阅读(9083) 评论(5) 编辑
摘要: 在上一篇博文"扔掉遮罩,更好的圆形Image组件"中,笔者改变Image的顶点数据,使得Image呈圆形显示,避免了Mask的使用,从而节省Drawcall消耗,提高渲染效率了。这也启发了笔者,有没有可能通过同样原理实现Mask,做到在某些需要显示特定形状Icon的场景下,替代Unity原生Mask阅读全文
posted @ 2017-05-08 10:43 立航 阅读(12663) 评论(9) 编辑
摘要: 写在前面 全文解析圆形Image组件的实现原理,取关键代码介绍算法细节,源码已经上传Github "下载地址" ,欢迎下载试用。 一、Unity原生Image组件实现圆形图片的缺陷 Mask渲染消耗 许多游戏项目里免不了有很多图片是以圆形形式展示的,如头像,技能Icon等,一般做法是使用Image组阅读全文
posted @ 2017-02-22 13:15 立航 阅读(22381) 评论(16) 编辑
摘要: 由于时区、夏令时的存在,游戏内的时间显示/计算都要考虑时区问题并进行相应处理。时间计算不用说,要排除玩家本地时区影响,只以服务器时区为准进行计算。时间显示有两种方案: 1. 根据服务器下发的utc时间戳,按玩家手机本地设置的时区进行适配显示,这样对于经常往返于不同时区的玩家很友好(虽然这类玩家很少)阅读全文
posted @ 2019-06-03 22:20 立航 阅读(63) 评论(0) 编辑
摘要: 让数字滚动起来 上周我的策划又提了样需求,当玩家评分发生变动时,屏幕出现人物评分浮层UI,播放评分数字滚动动画。这类数字滚动需求非常常见,我就按一般思路,将startvalue与endvalue每隔一点时间做插值变化并显示,从而实现数字滚动的效果,这也是大部分app及游戏采取的实现,效果如下: 几行阅读全文
posted @ 2017-07-24 21:41 立航 阅读(5150) 评论(0) 编辑
摘要: 本文目的是以一种通俗简单的方式介绍Ken Perlin的 "改进版柏林噪声算法" ,讲解代码采用c 编写,开源免费使用。如果你只是想看完整代码, "点击这里" 。 柏林噪声是一个非常强大算法,经常用于程序生成随机内容,在游戏和其他像电影等多媒体领域广泛应用。算法发明者Ken Perlin也因此算法获阅读全文
posted @ 2017-07-21 16:05 立航 阅读(9083) 评论(5) 编辑
摘要: 0x01 问题 最近策划反映了个问题,游戏里的多行文本会出现提前换行的问题,如下图所示: 文本错误地提前换行,导致第一行文本后面有大块空白区域 通过观察可以发现,当字符串中带有半角空格,且半角空格后面的字符串内容超过文本剩余显示宽度时,Text组件会将后面的整段文字做换行。这个并不是bug,而是Te阅读全文
posted @ 2017-07-13 19:06 立航 阅读(4514) 评论(1) 编辑
摘要: 今天在优化红点组件,笔者打算将红点id由10进制改为16进制处理,就打算将红点id字段由uint类型改成string类型,用于填写16进制的字符(因为在Inspector面板里,uint/int类型字段不能直接填写16进制表示的数字),且希望限制该字段的输入限制,仅限于填写0 9A Fa f等16进阅读全文
posted @ 2017-05-12 19:31 立航 阅读(576) 评论(0) 编辑
摘要: 在上一篇博文"扔掉遮罩,更好的圆形Image组件"中,笔者改变Image的顶点数据,使得Image呈圆形显示,避免了Mask的使用,从而节省Drawcall消耗,提高渲染效率了。这也启发了笔者,有没有可能通过同样原理实现Mask,做到在某些需要显示特定形状Icon的场景下,替代Unity原生Mask阅读全文
posted @ 2017-05-08 10:43 立航 阅读(12663) 评论(9) 编辑
摘要: 写在前面 全文解析圆形Image组件的实现原理,取关键代码介绍算法细节,源码已经上传Github "下载地址" ,欢迎下载试用。 一、Unity原生Image组件实现圆形图片的缺陷 Mask渲染消耗 许多游戏项目里免不了有很多图片是以圆形形式展示的,如头像,技能Icon等,一般做法是使用Image组阅读全文
posted @ 2017-02-22 13:15 立航 阅读(22381) 评论(16) 编辑
摘要: 最近在项目开发过程中,无意发现游戏场景的绘制占用了大量的Batches,几乎一个模型显示就占用了一个Batch,而Saved by batching数量几乎为0,即没有任何合批渲染优化。这显然跟预期相去甚远,因为虽然场景里有多达上百个模型需要绘制,但大部分都是一模一样的卡牌模型,引用相同的材质球,按阅读全文
posted @ 2017-01-10 18:20 立航 阅读(4244) 评论(11) 编辑
摘要: 《社交网络》里的Mark Zackburg被女朋友甩后,在舍友的启发下,充分发挥了技术宅男自娱自乐的恶搞天分,做出了Facemash网站,对学校女生的相貌进行排名打分,结果网站访问流量过大,直接把学校网络搞瘫痪了。Facemask大受欢迎的关键就在于Zackburg基友Eduardo写在窗户上的排名阅读全文
posted @ 2015-10-04 13:21 立航 阅读(3172) 评论(0) 编辑
摘要: 笔者最近刚做了个聊天系统,开发过程中踩了不少的坑,在此总结下经验教训,以便回顾参考,也希望他人看到后可以少走弯路。这里不全是贴代码,主要提供聊天系统的实现思路,以及需要注意的点。聊天框图文混排 在【关于FLASH中图文混排聊天框的小结】一文中已经总结了几种图文混排的实现方式。对于不需要拉伸缩放的表...阅读全文
posted @ 2015-10-02 17:24 立航 阅读(2457) 评论(0) 编辑