我在下班前,忽然看到Andy君在昨晚的朋友圈分享了高大上的Haagen Dazs Concerto Timer应用截图,确实如Andy所说,实现不难,主要是创意,印象中,比较成功的AR实现技术是一个叫Penguin Navi 的项目,够完全,够创意,而且特别可爱,

Read more »

昨天折腾一个晚上的结果,是在白爷的帮助下,将Blog搬家到了这里,在此要向白爷无私地提供后端技术支持表示感谢。

杀死一只知更鸟中,哈珀小姐对黑人的描写充满着富含悲悯的温暖,原文截取一段如下(isbn:978-7-5447-2276-6 p:145):
”进入教堂院子后,扑面而来的是一股洁净的黑人身上散发出的温暖苦甜的气息——‘爱之心’发乳混合着阿魏,鼻烟,‘霍伊特’古龙香水、布朗骡子牌嚼烟、薄荷以及丁香搽粉的味道。“

Brown's Mule(布朗骡子牌嚼烟)

Brown's Mule(布朗骡子牌嚼烟包装)

Read more »

昨天暂停在代码实现之前的部分,为了让坦克主体能够分别表现炮击瞬间的后坐力的效果,我对整个模型的结构做了一下层级调整,关于如何让一个模型成为另外一个模型的子部分,是直接拖拽放置即可实现的。

层级如下:

[![](https://archive.writeitdown.site/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202014-01-07%20%E4%B8%8B%E5%8D%882.41.10.png)](https://archive.writeitdown.site/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202014-01-07%20%E4%B8%8B%E5%8D%882.41.10.png)
Read more »

在亲爱的老婆和可爱的儿子回家去之后,我经历了短暂的伤感,玩命补动漫和闲书之后,终于罹患上呼吸道感染,进而诱发咳喘,现在一大喘气就跟拉风箱似的,呼噜呼噜,也终于打起精神来,继续写博客,今天要记录的是,利用Flare3D为Tank模型制作一个开火的射击效果,很简单,重点在如何利用Flare3D创建粒子效果,并实地在自己的代码中引用它们。

首先,我需要一个意向,于是我找到了下面这张图片,作为我想实现的目标(我命名为炮打菊花)。

[![](https://archive.writeitdown.site/Tank-fire.jpg)](https://archive.writeitdown.site/Tank-fire.jpg)
下面,我需要一个坦克的模型,嗯,可以从网上的免费模型库很方便的获得,这里随便举出一个,俄罗斯的T-90,可以从这里下载到,[tf3dm.com](http://tf3dm.com/3d-models/tank)
Read more »

之前的TexturePacker是可以直接添加swf文件并转化成序列的动画的,新版本的不知道为什么需要单独分离出一个叫FlashUnpacker的东西(SWF格式变化,或者作者将其列为收费点也未可知)。总之想直接用swf导出之前的Sprite Sheet没有那么爽,即便我安装了这个插件,导出时仍然很慢。

自从我发现Flash CC支持直接导出Sprite Sheet之后,我顿觉虎躯一震,这无疑为Flash继续作为动画制作利器开辟了一个完美的途径,可以这个性能可能会使得传统动画师和AS开发者彻底分裂开。这些担心无需多写,反正Flash要成为过去式是早晚的事儿。

Read more »

A:“我给你讲个故事啊~”
B:“嗯”
A:“说在遥远的西藏当木江村里,有一对儿漂亮的藏族姐妹花,两个人都叫尼玛,为了叙事方便,我们暂且把她们分别成为尼玛A和尼玛B吧。”
B:“嗯,好的”
A:“尼玛A从5岁开始就被送到一个舅舅家里去了,所以故事主要发生在尼玛B身上。尼玛B今年18岁了,出落得落落大方,那是一种纯洁的美丽,好比苏门答腊的大王花,马达加斯加的猪笼草,马里亚纳海沟的琵琶鱼~而尼玛B,就是青藏高原上的冬虫夏草。”
B:“啊…就是说,是挺好看的意思呗?”
A:“对,尼玛B就是这么地圣洁美丽,你记住了嘛,你就记住圣洁美丽就行了,有一天尼玛B刚挤完一罐牦牛奶,进屋抹去了满头的汗水,对了我忘记说了,尼玛B有一种特殊的体制,她的汗水都是乳白色的,每次她自然风干之后,都会散发一种酸奶的醇厚芳香,这也许就是传说中的香妃体质吧~,尼玛B来到屋子里,和她阿爸达卓吉巴说:‘阿爸啊阿爸,阿爸阿爸,阿爸’,你以为尼玛B是哑巴么,不是的,她只是如此地爱自己地阿爸,所以情不自禁地多次呼唤他,她的阿爸达卓吉巴回头看了她一眼说:‘噶哈呀。’尼玛B笑了,笑得好像藏雪鸡一样美丽,她说:‘阿爸,咱们的牦牛最近好像不对,我挤了好几天奶,产量总是这么的少,你说这是为什么啊巴扎嘿?’,达卓吉巴听闻此言双目圆瞪,按住可怜的尼玛B抽了一顿大嘴巴子,一边抽一边说:‘咱家地母牦牛上个月就都卖给那群独龙族的了!剩下一群公牦牛你天天老挤它们干啥!啊?!啪~啪~啪~啪~’,尼玛B被打得不知所措,但是她很孝顺地一直也没和达卓吉巴还手,只是猛烈地用双腿阻挡达卓吉巴的进攻,最终达卓吉巴实在是被踹得不行了,于是停止了进攻。天上闪过一道金色的阳光,父女两人望着被挤得气喘吁吁的二十五头公牦牛,笑了。你觉得这个故事怎么样?”
B嗯,挺好,但是我就总觉得像骂人呢?  
Read more »

我在偶然看到某人推荐的一篇,《森林故事,以及干脆面军团考证》中,发现一些较为精细图片的水印指向一个网址,arkive.org,寻根至此发现这是一个专门收集,介绍濒危物种的公益性质网站。对物种的描述非常全面,并配备有大量的图片和视频资料,令人心生敬仰,并想为此作点什么,(写博记录和传播也是一种帮助吧)。
浏览中,遇到鸟类分类下的一种名字很土著的胖鸟,唤做Kakapo,于是发了搜索病,试译部分内容如下。

[![](https://archive.writeitdown.site/Kakapo-walking.jpg)](https://archive.writeitdown.site/Kakapo-walking.jpg)
Read more »

一日不复药,血压归旧高,诚如二弟所言,高血压是一辈子的事。继续完成剩余译文。

扁平化Sprite(Flattened Sprites)

为了追求最小化的状态变更,你已经做了一大堆事以期你的游戏获得性能提升。然而Starling仍然需要遍历你所有的对象,检查它们的状态,并且把它们的数据提交到GPU——这可是在每一帧都发生的事啊!(好恐怖啊!)
别慌,我们下一步就来搞定这个问题。如果在你的游戏中的某个部分的几何图案处于静态,不发生(或者很少发生)变化,可以在这个Sprite上调用flatten方法。Starling将会预处理它和它的子对象数据并提交给GPU。在接下来的帧调用中,它将被正常的绘制,不触发任何CPU处理,也不需要在上传它的数据给GPU。
这是一个非常棒的特性,这潜在地大量减轻了GPU的负担。但是要注意的是即便扁平化的sprite们被从状态变更的苦难中隔离了出来:如果被扁平化的Sprite中包含有不同渲染状态的子对象,它仍然是会被多步骤的绘制的。

Read more »

今天来翻译第二部分。
针对Starling的专门建议
把状态变更缩减至最小
如你所知,Starling使用Stage3D做所有的可见对象渲染。这意味着所有的绘制都是由GPU完成的。
目前,Starling每次提交一个四边形数据,一个接一个地向GPU提交,一个接一个地绘制。实际上,这也是最初版本的Starling的工作办法,所以可以通过一次向GPU提交大批量的数据进行绘制的办法,来获得最佳性能。
这也是为什么新的Starling版本在每次向GPU提交之前尽量积存较多的四边形数据。不过,它只能批量提交具有相似特性的四边形。每当遇到一个状态发生变化的四边形时,一个“状态变更”就发生了,之前的批量数据们就被提交绘制了。

Read more »

Dodge
由于最近一直在折腾Starling相关的开发,这已经不是第一次向Starling进击了,因此也鸡贼了一些,今天静下心来仔细细读了一遍官方的优化建议,终于使自己手上的项目运行在一个比较理想的性能指标上了,故而饮水思泉,想翻译原文一篇,供大家一起研究。

原文地址:Performance Optimization

Starling的性能优化

尽管Starling仿造了Flash显示列表的经典结构,但是在这表象的背后却蕴含着巨大的不同。因此,想要使程序达到最佳的性能,你首先应该了解其架构中的一些关键性概念。下面是一个最佳实践列表,你可以按照这个顺序实践来使你的游戏运行得尽可能地快,哦耶。

与标准AS3相关的建议

永远要以发布版本(release build)作为性能比照的依据

Read more »
0%