摘要:
LipSync主要由三个模块组成。 ·前端负责分析语音,辨识指定的音节,输出位置、类型和强度。LipSyncPro的作者直接使用了PocketSphinx开源库来完成这部分的内容。 ·中端没有明确的界限,负责将语音识别的结果转化为驱动表情动画的事件帧。LipSync中提供一个ClipEditor,界 阅读全文
摘要:
最近发现移动平台上经常出现不明黑色色块,像是除零错误。排查之后定位到GGX函数上: 果然roughness为0的时候d就可能为0,继而出现除零错误。同样代码PC上就不会出现肉眼可见的问题,可能是tile中一个像素出错会导致整个tile都输出黑色,看来mobile gpu真的很敏感。看起来只要限制最小 阅读全文
摘要:
目前为止,MSAA仍是抗锯齿效果的黄金标准。然而MSAA需要硬件支持,并且要在RT中存放子像素信息,这大大增加了内存和带宽开销。在使用HDR管线或者G Buffer时此问题显得更加严重。 由于这些限制,基于后处理的抗锯齿方案逐渐成为主流。这类方案并不需要改变渲染管线,而是在图片中寻找被人眼识别为锯齿 阅读全文
摘要:
在unity的资源中,shader是比较特殊的一类。主要有下面几个疑问 1. Shader算是代码,并且需要编译。那么是否可以热更新? 2. AB中加载进来的shader是否可以通过shader.Find(名称)来索引? 3.在使用shader_feature关键字后,build时忽略的变种是否要在 阅读全文
摘要:
Unity有两种产生shader变种的方式: multi_compile shader_feature 适用情况 整体开关,如阴影开关,画面质量级别等 逐Material特性,如是否使用法线贴图,brdf选项等 编译情况 Build时会穷举编译所有变种 启动时会加载所有变种 过多的变种会导致内存耗尽 阅读全文
摘要:
·人的视神经在眼球上不是均匀分布的,视网膜凹仅占2-5度视角,而其中的神经元密集程度远远高于其他区域。如果按此密度均匀分布(160x175度),人眼将具有十亿个而不是百万个神经元·因此,人眼的运动能力非常强大,几乎可以立即指向视野内的任何方向·人的视线移动有两种模式: top-down主动模式(注意 阅读全文
摘要:
Linear Rendering的意义就不用多说了,Unity的文档中说得非常清楚。 首先看看人眼对亮度感知的函数曲线。这里取最常见的参数2.2 y=power(x, 2.2) 横轴是亮度,纵轴是人眼感知到的亮度。 美术用所见即所得的方式调出来的贴图,实际像素都是被曲线所影响过的, 光照如果也在Ga 阅读全文