摘要:
#pragma multi_compile_fwdbase是unity内置的用于前向渲染的关键字快捷方式,它包含了前向渲染光照计算需要的大多数关键字,因此会被shader带来很多的变体。 下面这个简单的shader有8个变体: 我们来看一下这些变体都有谁: 然后我们去掉multi_compile_f 阅读全文
摘要:
在上一篇帖子的基础上增加一张法线贴图即可: 阅读全文
摘要:
项目中美术使用了Unity自带的Mobile/Diffuse这个shader制作了一部分场景素材,这个shader会依赖场景中的动态实时光源,比较耗费。 于是自己手动重写一份,简化shader的消耗,但同时保持美术已经制作场景的效果。 我在原始shader上添加了一些编译选项用来关闭一些特性,但编译 阅读全文
摘要:
直接贴代码: Start和End表示序列帧的显示范围,从0开始计数,最大值为XCell * YCell - 1。 运行效果如下: 说明:图片来自百度图片搜索 阅读全文
摘要:
Unity编辑器功能丰富易上手,其实编辑器提供的大多数菜单操作,在代码里面都是能够找到对应接口的,但是这些接口都没有对我们开放,怎么办? 很简单,直接使用反射调用即可。 首先使用Reflector或ILSpy将UnityEditor和UnityEngine进行反编译(有源码的可以直接查看源码更好), 阅读全文
摘要:
测试一:使用member function创建action会产生gc,不管该函数是否访问外部变量: private System.Action memberAct = null; // gc 112B private void ActionWithMethod() { memberAct = new 阅读全文
摘要:
一个空场景,添加如下代码: 可以看到每帧有一个固定的内存gc,可以用useGUILayout开关来关闭其gc消耗: 阅读全文
摘要:
基于深度视差可以用来做很多效果,比如水的深度效果之类的。 阅读全文
摘要:
Svn冲突导致锁住的解决方案:错误码:svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted svn cleanup都没用解决方案: (1)将Mac/文档/tools目录下的sqli 阅读全文
摘要:
一个AssetBundle同时只能加载一次,所以实际使用中一般会伴随着AssetBundle包的管理。 下面是一个简单的AssetBundle管理器,提供了同步和异步加载函数: 当然bundle也可以通过WWW或其他的方式来加载,这一块Unity5到没有什么变化,具体使用方式可以参考我以前的博客。 阅读全文