Shader in AssetBundle

关于Resources和AssetBundle优劣之前已经提过很多次了(参考官方教程The Resources folder ),正好最近@张迪在做框架AssetBundle部分的优化,特此整理一下两个特常见的坑及对应解决办法。之前在关于Unity中的资源管理,你可能遇到这些问题里有有人提到过这个问题:

Q6: 请问粒子特效的Shader是否不能使用依赖打包? 我们对Shader的模型和特效使用了依赖打包,运行的时候发现模型显示是正常的,但是粒子特效使用的Shader就不能正常运行,特效显示不正常。而在编辑器中,我们看到Material中的Shader是存在的。这时候如果重新手动给这个Material指定同样的Shader,这个粒子特效就能正常显示,请问这是什么原因引起的?

这里主要分享如何在编辑器里模拟AssetBundle时处理Shader(之后我们会分享『如何从框架层面实现0冗余』相关经验)

Read More →

最近倒腾了很久新的抓包工具:

  • Mali手头没设备一直没用过
  • Adreno Profiler之前分享过了,但是多线程发现很不好用
  • Tegra我之前的米Pad被MIUI自动升级系统之后再也没连上过,苦恼

最近倒腾了下Intel GPA发现好用

intel_gpa_android_1

Read More →
Unity工作流分享一二

咳咳,去年圣诞参加的一个活动Unity User Group 北京站图文报道:《AssetBundle与工作流》,感谢雨松嘿嘿。

放一下当时的slides,最近一年关于工作流的一些思考和分享。

Read More →
Skynet in Windows

最近的一个项目用了云风的skynet,之前是只有linux/osx版本,非官方版本有一个mingw。

试了下新的Windows 10自带的Bash on Ubuntu发现能直接跑,非常带感。具体安装过程参考Installation Guide,然后如下安装几个依赖即可:

Read More →

工作压力大,太久没写shader了要换换脑子解压…今天晚上整了下Planar Shadow玩

planar_shadow

Read More →
优化Unity项目编译速度-后续

优化Unity项目编译速度后续篇…感谢@wxp提供的非常有用的反馈!

之前在优化编译速度的时候,我试图dll化遇到的一个障碍是不同平台需要编译用宏区分的代码,但是guid/fileID不一致。结果发现我是完全想当然了,Unity竟然已经自动做好了映射(下面均为Unity 5.3.6测试结果,尚未找到相关文档…)!

Read More →
HIT图形分析

填坑向…之前和群里一个朋友讨论HIT的影子是咋实现的,后来验证了下发现自己之前想错了(逃。后来还看了下它的Bloom做法,效果还是挺好的。这里大力感谢@Hinatia和@LeLe给予的帮助和点拨,嘿嘿

影子

hit_shadow

Read More →
Adreno Profiler再次修改

记录用…之前在Customized Adreno Profiler里修改过dll来修BUG…最近又捡起这个工具(我下的最新版本是4.0.5511.5192),修了一个崩溃错误

ps. 虽然官方已经废弃Adreno,但是我觉得比SnapDragon好用啊啊啊

Read More →

上周有半天在调整shader fallback,主要测试了下texCUBElodtex2Dlod在GLES 2/3下是否能正常表现。

adreno profiler表明UNITY_SAMPLE_TEXCUBE_LOD在GLES3下会使用textureLod,在GLES2下回落到textureCUBE,没毛病~

GLES3_PBR

Read More →
优化Unity项目编译速度

这个是最近一段时间带着子川一起做的一个小东西:如何优化大项目C#编译速度。这个idea主要是因为使用了slua之后,每次修改C#部分编译实在是太慢了… 下面将介绍两个不同的思路,心急的朋友可以直接看第二个解决方案及实战,因为这个说穿了其实就一句话,写第一部分只不过是因为折腾了非常久的MonoImporter/PluginImporter/MonoScript结果发现没用上而不爽(逃

测试环境

我使用的是之前比较lua解决方案里的slua工程,引擎版本Unity 5.3.6f1(其他设备信息跳过因为都是在同一台电脑上…)。在测试之前还需要写一个脚本来统计编译时间,这里简单粗暴的写了一个小脚本去不断刷新EditorApplication.isCompiling即可;顺便因为每次编译完成之后重新加载dll会导致static bool compiling丢失,因此保存一下。

Read More →