Date: 2023-03-12
这几天试用了一下ChatGPT/NotionAI/Copilot,三观受到了极大震撼,第一次感觉到AI离我们只差一个VPN的距离了:)。大语言模型从实验室落地到各行各业的生产环境只是时间问题了。落地到游戏行业估计也许用不了几个月的时间,其中美术设计应该是被影响最大的一块。Midjourny/StableDiffusion这几月的迭代速度超乎想象,针对某种特征的训练能够使使用者在生成图像的过程中获得更强的控制力,甚至能够在生成的过程中联想上下文图像,保证生成的图像具备一定的连续性(例如帧动画)。 美术这一块只要解决了调参(咒语)的痛苦,降低Promot使用门槛之后,对生产力、生产效率的提升将会异常巨大。
Copilot的使用体验倒是没有想象中的那么强,因为Transformer模型本身不具备推理能力,通过注释生成代码片段仅仅是基于统计学的拆解再拼凑,而且受到训练模型时效性的影响,导致准确性差了不少。个人用Copilot写ShaderLab并没有提升多少效率,反倒是有些生成的代码根本编译不过,完全牛头不对马嘴,估计是ShaderLab本身的模型训练数据太少导致的吧。但是按照这种发展势头下去的话,AI接管一下简单逻辑化处理毫无问题(加入一些推理能力,或者模型再扩大,本身我们使用插件的过程中也再反哺模型)。
因此接下来的一段时间估计会重新开始学习图形渲染,入手点选择的是Unity的SRP,这几天根据CustomSRP的Manual搭建了下环境,然后重温了一下经典光照模型:
URP模型中光照数据是自己处理打包并传递到shader中,CustomSRP估计也必须这么处理。现在是直接使用的Unity的内置管线的Lighting.cginc库中的光照数据,不过环境光有点问题,用老API拿不到了。 其实光照模型从信号学解释的话就是将复数输入信号合成单一输出信号的过程。以上包括了3个关键词,输入信号,输出信号和合成过程。
所以接下的应该是整合一下输入信号,例如光照信息等。同样的管线那边也需要额外拓展一下,加入Renderer渲染器以及RendererPass渲染器通道的支持。