Blender Guru的Andrew Price先生公开了讲解为何在Blender中难以准确渲染全息素材中使用的“回折光栅”的视频!同时还免费提供了面向Cycles的3种着色器。
Why You Can’t Render Pokemon Cards in Blender
Blender Guru中耳熟能详的Andrew Price先生,以在宝可梦卡牌等中可见的全息表现为题材,公开了讲解在CG中渲染回折光栅(Diffraction Grating)的困难的视频“Why You Can’t Render Pokemon Cards in Blender”。
乍看之下也像是常见的虹彩表现,但视频中将其作为不同于珍珠光泽汽车涂装等现象的内容,从其原理到Blender Cycles中的限制,以及近似再现的方法都进行了详细介绍。
Cycles中难以再现回折光栅的原因
用于宝可梦卡牌等全息图的回折光栅(Diffraction Grating),是通过微细沟槽使光发生干涉,从一个光源产生多个彩虹色反射的机制。
许多渲染器将光视为“Ray”而不是“波”,因此难以直接再现这一现象。Cycles中虽然有通过Thin Film表现干涉的功能,但无法像回折光栅那样将反射分割为多个。
另一方面,视频中还介绍了使用Octane 2027.1的Physical Optics Material再现回折光栅的示例。
面向Cycles的3种着色器
Andrew Price先生以Blender艺术家Cee Crop先生构思的方法为基础,对其进行了部分调整,并介绍了3种回折光栅着色器。
- Accurate:使用OSL的物理上准确的方法。负载很高,也对GPU渲染有一定限制。
- Balanced:组合多个Glossy Shader来近似回折。质量与负载较为平衡,视频中的宝可梦卡牌也使用了它。
- Fast:轻量版,伪再现回折光栅般的色彩变化。无法正确响应HDRI和多个灯光。
收录这些着色器的Blender文件也已免费公开。
Blender文件也免费公开
此次介绍的收录3种Diffraction Grating着色器的Blender文件也已公开。
可从Blender Guru官方文章下载“Blender Guru Diffraction Grating – Blender Files.zip”。
Why You Can’t Render Pokemon Cards in Blender — Blender Guru
以宝可梦卡牌的全息表现作为切入点,
深入讲到在光线追踪中难以处理的“光的波动”和衍射问题,真的很有趣!
而且不仅仅是讲解,
还公开了可实际在Cycles中使用的3种着色器,
光是看节点结构就已经相当耐人寻味了!
请务必去看看!
链接
Why You Can’t Render Pokemon Cards in Blender — Blender Guru