Unity试水Bent Normal

最近半年赶项目的事情一直很忙,好不容易上周末的时候有空做点渲染的东西玩,于是尝试了一下Bent Normal Maps。 这是UE 4.17发布的功能之一,可以拿来解决间接光照漏光;工具部分Substaince Designer已经支持利用高模烘焙Bent Normal。效果图对比来自UE4文档:     阅读全文
Kanglai Qian's avatar
Kanglai Qian 7月 16, 2018

UUG分享 TextMesh Pro

拖了很久,才发现只上传了ppt但是没放出下载链接(逃:Unity User Group 北京站(第十二期)     阅读全文
Kanglai Qian's avatar
Kanglai Qian 7月 15, 2018

Unity 2017涉及Bugly的修改

在Bugly上恢复原生崩溃堆栈信息需要符号表文件,具体可以参考分析libunity.so Release崩溃。我们在升级2017之后发现引擎有些行为发生了变化,这里记录下。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 7月 15, 2018

扩展Unity模型编辑器

又忙的好久没打理博客了…最近来回使用Unity/UE两个引擎,发现有个可视化UV/Normal的小功能不错,花了一晚上在Unity 5.6里面山寨了下:     阅读全文
Kanglai Qian's avatar
Kanglai Qian 3月 10, 2018

使用RenderDoc调试

最近在查一些渲染上的问题,发现RenderDoc这货非常好用,而且引擎原生支持用起来也很方便。 ps. 这个工具是从DX层去抓取真实绘制信息,和引擎内置的工具会有一定的区别。而且像纹理状态、寄存器变量甚至调试Shader上会方便非常多。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 2月 07, 2018

让MemoryProfiler变得更强

之前其实在C#反射——掀起Unity Editor面纱里提到过Profiler的增强;后来官方提供了更加方便的MemoryProfiler,上周末的时候顺手用类似的思路增加了diff功能并进行了一定的优化。原来那个ProfilerDiff就直接废弃,毕竟当时懒了没做序列化 ps. 本来我想直接用gulu大大的PA_ResourceTracker,不过仔细研究了下代码发现需要接入的东西比较多(很多数据信息是通过网络传输的),嵌入我们自己的项目不是特别方便。最后自己动手弄个山寨版,也就半个多小时搞定…     阅读全文
Kanglai Qian's avatar
Kanglai Qian 11月 18, 2017

聊聊Unity里的嵌套Prefab

今天正好和朋友聊到嵌套Prefab这个话题,发现这个其实是一个很多项目都需要但是Unity并没有提供内置支持的功能。在过去的项目中我们也实践过不同的解决方案,也了解过其他团队的一些做法,在这里正好整理一下,供大家参考/吐槽。 其实还有一个原因是又好久没更新博客了…     阅读全文
Kanglai Qian's avatar
Kanglai Qian 10月 26, 2017

Guess Into UGUI

虽然说UGUI已经开源,但是最核心的几个文件是c++实现的因此依然不可知。这几天好好的研究了下,整理出了一些自己的理解。这部分说实话是连蒙带猜出来的,如有理解不当的地方欢迎沟通交流。 ps. 后面的代码都以Unity 5.x为例分析。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 8月 30, 2017

FFT Ocean Part 2

最近读了利用GPU实现大规模动画角色的渲染有感,终于想起来把一个两年前的坑FFT Ocean Part 1给填啦(我又一次战胜了拖延症)。之前做的时候思路有点问题,只考虑了用Scale/Offset来序列帧的情况,搞的自己很繁琐;现在开阔脑洞直接用vertex ID就方便多了。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 8月 04, 2017

P/Invoke调用优化

这其实是一个常见的问题:Unity中使用P/Invoke调用原生代码的时候如何更高效的传参数和获取返回值的问题。一般来说简单的直接写在函数声明里,遇到复杂的情况譬如变长、数组等情况我基本都是直接上JSON的。但是最近性能测试的时候发现这么写也是一个非常可观的消耗:     阅读全文
Kanglai Qian's avatar
Kanglai Qian 7月 20, 2017