奇妙的Shader精度

前几天同事在PC(DX11)上遇到了一个很有意思的问题: 顶点属性经过插值之后从一个非常接近0的正值变成了负数…堪称有毒。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 11月 28, 2019

Modes面板添加自定义Class

纯笔记。昨天尝试往Modes面板添加了自定义的AActor,直接参考[UE4] レベルエディタの配置ツールに独自の項目とアセットを追加する方法里的代码实现:     阅读全文
Kanglai Qian's avatar
Kanglai Qian 9月 04, 2019

光照贴图接缝

之前翻Unity的更新日志时候发现Progressive Lightmapper里自带上了Lightmap seam stitching。正好之前研究过这个问题,出于手痒也在Unity里实现了一发,在这里也整理下这个问题的原因、现象及解决办法。 下图为Unity文档示例,红框为有Seam的错误效果,绿框为修复效果。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 8月 24, 2019

Metal 2.1中的新关键字invariant

最近一段时间忙的天昏地暗,难得有空继续整理一发遇到的奇怪问题:iOS12设备上PreZ Pass出现了闪烁。这个问题也蛮有意思的,最后在同事的指导下找到了原因:Metal Shading Language Specification里面专门提到     阅读全文
Kanglai Qian's avatar
Kanglai Qian 3月 01, 2019

Unreal中针对Instance物体获取位置

最近帮忙解决了一个很奇怪的问题:在材质球里如何获得Instance模型(譬如Foliage)的坐标,其实也就是Foliage instance position in Material editor。TA需要的是模型原点的世界坐标。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 2月 26, 2019

反解常见Mono加密的一种通用探索

之前在Android下利用Hook实现mono dll加密里提到了Unity3D研究院之Android加密DLL与破解DLL .SO这篇文章。今天看某个PC上游戏的时候发现用了一样的思路,掏出IDA看了下确实是修改了mono_image_open_from_data_width_name 来实现的。比较好奇有没有简单的方法绕开它而不是去跟汇编较劲,于是找到了一个比较通用的思路。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 9月 26, 2018

Unity iOS增量编译

之前提到过利用Jenkins自动化出包流程分享,后来发现一个问题是每次iOS编译的时候都是全量编译,很奇怪。根据Incremental builds for IL2CPP里的说法只要选择Append应该已经支持了才对,但是发现还是每次触发了全量编译。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 9月 24, 2018

ShaderVariantCollection解决shader_feature丢失

之前在利用shader_feature打造最小版本Shader提到shader_feature配合AssetBundle使用的BUG。当时是通过multi_compile绕开,现在在Unity 2017里通过ShaderVariantCollection可以完美解决,记录一下遇到的坑。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 8月 06, 2018

dnSpy调试Unity Editor

记录一个小技巧:dnSpy直接调试Unity Editor部分代码。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 7月 25, 2018

HDR纹理一二坑

最近在Unity里重新校正了下Diffuse SH9和Specular IBL,全套对着cmft校正了下…发现不少坑,仅此记录。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 7月 22, 2018