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

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

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

intel_gpa_android_1

Read More →

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

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

Read More →

最近的一个项目用了云风的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 →

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

System.NullReferenceException: 未将对象引用设置到对象的实例。 在 System.Windows.Forms.DataGridViewBand.set_Thickness(Int32 value) 在 QXProfilerControls.TraceViewES20.PopulateIndexAndElementBuffers(Object o) 在 QXProfilerControls.TraceViewES20.treeListViewDrawCalls_AfterSelect(Object sender, ObjectEventArgs e) 在 LidorSystems.IntegralUI.Lists.ListBase.OnAfterSelect(ObjectEventArgs e) 在 LidorSystems.IntegralUI.Lists.TreeListView.set_SelectedNode(TreeListViewNode value) 在 LidorSystems.IntegralUI.Lists.TreeListView.ProcessNodeSelection(TreeListViewNode node, Boolean performTest) 在 LidorSystems.IntegralUI.Lists.TreeListView.OnMouseDown(MouseEventArgs e) 在 System.Windows.Forms.Control.OnMouseDown(MouseEventArgs e) 在 System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks) 在 System.Windows.Forms.Control.WndProc(Message& m) 在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

这次就不用非常蛋疼的反汇编出整个VS工程,直接用Reflexi简明教程里的方法精确修改函数就行啦~ 注释了三段代码搞定

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 →
利用Projector实现动态阴影

很早之前想整理的一篇内容,之前守护的时候利用Projector实现了动态的阴影(见Teaser),接下来的几个项目目前也会用这个思路继续做下去。

下面将分几个部分来介绍Projector实现的动态阴影:原理,与Unity自带的ShadowMap优劣比较,以及坑和进一步优化。

Read More →