恶毒的狗

Bad Fat Dog

修正半透明头发的渲染异常

修正半透明头发的渲染异常 这两天在整理 小甜甜 的捏脸系统,顺带把前项目 半透明头发渲染异常的bug 修正了,效果如下: 其实,前项目的头发工作良好,只是有一点 半透明渲染顺序 的小瑕疵,但正如前文 一个自阴影的Bug 所提到的:我在迁移shader的时候因为偷懒,把头发改成了 Surface Shader,从而带来了一些新的问题。 问题一:关于Surface Shader的a...

unityBUZZ和Asset Figures

Google一下我的插件 前一阵子写过一个Unity插件 LWRP SSR Water,放在 Asset Store 上卖得还行。 某一天我不经意的 Google 了一下这个插件名,居然搜出了不少好玩的东西: 可能是点击还行的缘故,连我的 印象笔记帮助文档 都被 Google 收录了。 不过这里更好玩的是如下2个网页: unityBuzz A...

关于SHADOWS_SCREEN

关于SHADOWS_SCREEN 在读Unity内置shader源码的过程中,我们经常看到这样的代码: 1 2 3 4 5 #if SHADOWS_SCREEN // xxx #else // xxx #endif 那么,上面代码中的 SHADOWS_SCREEN 代表的是什么呢? 通过仔细阅读代码发现,SHADOWS_SCREEN 代表的是 屏幕空间...

标准管线下的unity_LODFade操作

标准管线下的unity_LODFade操作 前文分析了 URP 管线下 LODDitheringTransition 的实现细节。 回到标准管线,LOD的 Dither 过渡有一个类似的实现:UNITY_APPLY_DITHER_CROSSFADE。 以 Riko 为例,看一下 UNITY_APPLY_DITHER_CROSSFADE 的效果: shader主要添加如下2句即可:...

URP管线下unity_LODFade的骚操作

URP管线下unity_LODFade的骚操作 玩 The Illustrated Nature,发现他的植物做了Lod,并且Lod的过渡并不是硬切的,有一个渐变,如下: 跟了一下代码,发现主要的逻辑就3行: 1 2 3 #ifdef LOD_FADE_CROSSFADE LODDitheringTransition( IN.clipPos.xyz, unity_LODFade....

GUILayout.Label也可以支持Texture

GUILayout.Label也可以支持Texture 之前一直不知道,GUILayout.Label 函数是支持 Texture 的,玩 The Illustrated Nature 的时候才发现。 代码好简单,如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...

关于pow编译后的代码

关于pow编译后的代码 侑虎 的深度测试文档里,有一个关于地表shader的报告: 报告提到: 这里的 log2 在旧式Android机器上开销较高,是否可以优化掉? 从汇编代码来看,我们先 log2 得到一个结果,对其做了一个 乘法 运算,再 exp2 回去。 现在问题来了,从第一感觉来说,我们似乎没有这样的代码。 很是好奇,于是自己对着shader源码逐行分析了一...

用MotionBuilder修正小甜甜的胸

用MotionBuilder修正小甜甜的胸 前公司挂的太匆忙,导致一些动作文件错了以后再没机会修正,比如小甜甜的胸: 这是 run 动作,左胸彻底瘪了。 打开 Animation 看一下,有一些骨骼找不到的报警: 尝试修正了一下骨骼名字,报警是没了,但是胸还是瘪的,最后请美术同学看了一下,是动画key的有问题,好吧…… 程序员的第一次尝试 要修正这个问题,一个普通的动作...

Lux的风和WindTexture

Lux的风和WindTexture 玩 Lux LWRP Essentials 的过程中发现了挺多好玩的东西,比如它的风和草的随风摆动,实现细节就挺有趣。 下图是前项目草的摆动效果: 这里其实没有风,草的摆动计算比较简单,就是周期性的正余弦摆动。 效果还不错,计算量也不算大。 如果用 Lux的风 来驱动草的摆动,效果如下: 摆动不再那么规则,并且风的方向可以调整,表现更加真...

关于 Use 32-bit Display Buffer

一个Bug:辉光没了 在 Android 设备上,之前工作良好的 辉光 在某一个版本突然没了。 看了一下 svn log,并没有什么代码改动,但 主美哥 用他的 24K氪金狗眼 跟我保证:辉光真的没了。 好吧,检查了一下发现,辉光的计算依然还在,但是计算结果却是一片黑… 下面是 FrameDebugger 的调试结果: 辉光计算依然存在 _BloomTex一片漆黑 _Blo...