项目开发笔记(十四)

最近几个月发生很多的事(工作之外),很多很多的事。工作上比较重要的事情还是需要好好记录,接下来说说Jenkins的配置流程(拖了几个月了其实),Jenkins在工作中给予我很大的帮助,到今天为止 Jenkins 已经帮我打包了200+个版本。每打包一个版本就相当于节省我20分钟的人力时间和沟通时间。自从有了Jenkins,我和公司的测试策划基本零交流,什么时候版本出来了一个邮件自动发送到他们的邮箱中。接下来他们爱测不测我不管。

我配置 Jenkins 的基本信息

- 工具信息
Download - https://jenkins.io/
Version - 2.32.2
OS - Win1064 desktop

- 项目信息
version - Unity534
OS - PC/Android/iOS

下载Jenkins的时候请注意有两个版本Long-term Support (LTS)Weekly,我们普通玩家就下载Long-term Support (LTS)即可。

继续阅读

项目开发笔记(十三)

最近使用Shader的时候需要给Shader传递参数,后面发现参数过多(30+个颜色值和10+个纹理),Shader在PC上运行得好好的,但是到某些移动设备上就尿崩,突然发现:

  1. 为什么shader无法往其传递数组呢?
  2. 为什么使用了多个纹理后(例如三星T560),在设备上无法运行正常?

Unity允许通过Material往Shader里传递int,Texture,Color, Vector4等参数,而且不同的移动设备可能支持不同的 Shader Model(SM 1 2 3 4 5),不同的SM版本会限制纹理指令和算术指令的数量使用。参考:High-Level_Shading_Languag。经过测试设备三星T560只能传入8个纹理指令,再增加就会工作不正常。我们不能改变设备显卡对SM的支持,只能通过减少纹理指令和算术指令的方式来兼容它。顺带把如何传入数组的问题也解决了。那怎么做呢?

继续阅读

项目开发笔记(十二)

哈,又一年了。在小时候过年总是非常有感觉,也满心期待。长大一点到了17 18岁的阶段,慢慢感觉过年失去味道 慢慢变成形式化,觉得过年传统做的节目都太无聊。又长大一点 到了25 26岁,过着常年背井离乡的生活 反而小时候对过年的期待又回来了,这几年我甚至非常热忱的参与到 杀猪 贴门神 拜天地等活动中…说回正题,我最近遇到一个需求.

一个小需求

对纹理中的指定色块,使用另一个纹理替换,如下图,这个图我们叫它原纹理

继续阅读

项目开发笔记(十一)

终于又可以继续我的项目开发笔记了,经过大半年的沉淀,我分别捣鼓了很多东西,大多数都应该整理笔记记录下来。构建工具一体化的实现我打算形成一个系列,把我的思路和部分实现记录一下。这里主要是针对Unity项目,在我实现整个流程之后 发现针对其他任何项目应该也类似,不管是需每次编译整个源码的cocos项目 还是AS项目Android原生项目。

相关涉猎

运行环境

Win10,OSX,Web

技术栈

SVN(or Git),应用在项目版本和源码管理

BAT批处理,SHELL脚本,应用在本地编译和打包

Jenkins,应用在控制远程执行打包,控制构建前后事件和任务

具体项目本身的适应,我准备拿Unity项目作为例子,这里如何把Unity的打包流程一键化是keypoint

继续阅读

编程感悟

最近一段时间团队里新加入了一些小伙伴,我一直希望大家在参与具体项目功能开发之前,先好好熟悉框架熟悉代码熟悉流程,在开始某个模块开发之前,先好好熟悉产品文档,先构思一翻。奈何有的同学似乎还是按照他原本的工作套路做事,无奈。

今天主要说说代码里的搜索功能(主要是指微软的IDE神奇VS里的代码搜索功能)

Visual Studio里的代码搜索功能非常丰富,常用的有:

0x00. Ctrl+F 主要是当前源代码文件里的搜索或者替换
0x01. Ctrl+Shift+F 主要是当前项目或者当前解决方案全局的搜索或者替换
0x02. Ctrl+;(冒号) 搜索解决方案资源管理器,主要是搜索当前解决方案ListBox里的源文件名字
0x03. Visual Assits 中的Shift+Alt+O 快速打开源文件,其中每输入一个字符 可根据当前字符定位最接近的源文件
0x04. Visual Assits 中的Shift+Alt+S 和 Shift+Alt+F 等
注意 Visual Assits 是一款最常用的VS插件,本人是烂番茄的深度中毒者。。近几年还购买了正版,略贵但是却物超所值的一个插件。

使用上述的几个功能,极大的提升了开发效率,而且我也几乎每天都需要使用它们。但是,针对新加入项目的同事,或者对项目组成一点不熟悉对代码基本结构毫不了解的同学我真的严重不推荐使用。

继续阅读

买房这件事

终于还是做了这一件事 — 买房.换一种很说法 — 终于成为了负一代.

这个时代,是一个大多数人都买不起房的时代,我也深知目前楼市泡沫严重,极有可能崩盘,即使如此我依旧出手的原因只有一个 – 刚需.

我老家风景秀丽,山水毫无污染,家家户户都拥有土地,山,是的每家都有山.下图就是我的家乡

虽然我的老家得天独厚,非常适合人居住,但是有一个非常严重的问题,由于人口最近十年来的迁移变化,导致家乡的人口急速减少,幼儿园小学初中等教育设施直接关门,我的小学母校初中母校现在已经不复存在,距离我家最近的小学在距离家里20KM的镇上,最近的初中在距离家里50KM的县里,最近的医院在距离家里50KM的县里.这些都是我不得不面对的问题..这些也是我下定决心买房的因素之一.

在过去的两个月(2016.09,10)的时间里,多次奔波之后,这件事情已尘埃落定.回想起整个过程,发现需要了解的事情实在太多,有必要写一篇文章记录一下.

继续阅读

最近代码量有所减少
一来是业余项目进入维护和交接阶段;
二来新的个人项目处在构思起步中;
三来公司项目处在平缓过度期;
四来近两月都参与公司招聘工作,负责技术基础功底面试,也就是所谓的技术一面。公司目前基本面试分为三面:HR面,技术一面,技术二面(基本就是CTO面了);
五来九月十月份私人事务繁忙,老家深圳往返多次,这两月我做了一件可能有点意义的事情,关于这件事情改天再写篇文章记录一下。

这里说说我作为面试官的经历

在我呆过的公司中几乎都参与了程序员的招聘工作,每一次都有不同的感受。

继续阅读

这是一篇把Unity做的应用提审到AppStore的踏坑指南,记录这个过程中遇到的几乎所有问题。

!!注意!! 这篇文章可能具有一定时效性,由于苹果审核策略一直在更改,所以文章中所述言论仅仅基于当前的审核制度。

首先…Show一下苹果对我提交的应用的拒绝记录(我的内心此刻布满黑人问号)

从上图的时间看,苹果的审核速度大大加快,与2013年的审核速度简直云泥之别.然而反观国内的某些平台审核..越来越慢(客观非黑)

继续阅读

最近有个小需求,在移动设备(iOS / Android)中应用调用拍照并把所拍照片存入相册。我原本以为这是一个很简单的事情,不就拍个照然后把照片丢进相册?心想最多100行代码即可解决问题,谁知还是踩中坑。且听我一一分解。

必备权限

<uses -permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses>
<uses -permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses>
<uses -permission android:name="android.permission.CAMERA"></uses>

添加入 AndroidManifest.xml 中

执行拍照

File destDir = new File(m_ImageRootPath);
if (!destDir.exists())
{
      destDir.mkdirs();
}

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(new File(m_ImageRootPath , m_ImageName)));
startActivityForResult(intent, 100);

代码中 m_ImageRootPath 为照片所存目录,m_ImageName为照片名。注意,若拍照不止一张 则照片名字最好每次不一样,否则你打开相册有可能每次都只能看到一张照片。

继续阅读

忽然之间就到了年中,7月也在还没反应过来就已经到了最后一天。虽然才到年中,但是今年遇到的事情已经足够多了。简单记录一下。

工作

是的,和很多坚如磐石的同学朋友不一样,我的工作又变动了(上次变动是一年之前),又经历了一次 离职谈判散伙聚伙,还好这次也不需要经历那种 投简历 – 约面试 – 谈薪资 的过程。可能是由于不是第一次经历这种事情 所以丝毫没有任何的离别情绪和不舍,一年前从毕业后的第一家公司离职 满腔遗憾和愁绪还是略微大一点点,现在的这次反而落得轻松自在。目前我已经在新的公司入职半个月,从效率和任务完成度 心态 甚至代码量上看 这次的工作变动是一个好事。

这次离职也并不是那么的顺利,如果敞开说 甚至可以唠上一整天,我们这个环境下 10个公司有9个都是耍流氓的,原本以为可以轻松的拿到赔偿(N+1)走人,结果谈判了半个月才顺利结束了合同!这是这段工作中唯一的遗憾。

这次的离职后 有朋友邀请我去国外工作,这对我来说是巨大的诱惑,从金钱和发展上都是,毕竟从技术上讲 我现在应该处在一种舒适区,我内心迫切的想跳出这种舒适区,从金钱上讲,我目前的阶段已经很难找到直接double薪酬的工作了(除非天降大运),考虑半个月之后 我居然拒绝了他。目前已经在新的公司和项目组工作了半个月,由于组里基本都是熟悉的人 所以没磨合的压力。目前反而每天很乐意去上班,这与之前每天起床不想去上班简直是天地之别。我承认过去有超过半年的时间里 非常讨厌上班。现阶段的工作目标就是单纯的完成基本任务了 — 又回到这种单纯的工作状态。

继续阅读