lookdev在电影cg和游戏行业用的比较多,准确定义可以google下,对游戏开发过程中来说,主要是美术在制作物件材质时候,在标准光照环境下,查看以及调整作品到符合要求(最常见的要求就是photo realistic)。
游戏开发中的lookdev是从影视行业发展来的,所以很多地方有继承,但是有些地方也是可以简化,这部分先聊下lookdev的环境。
如置顶图中所示,这个就是一个典型的lookdev的环境,一个标准的室内的光照环境,中间是物件,旁边是灰球铬球以及色板。
在物理正确的流水线中,我们可以确保,在标准灯光环境下正确的物件,最后在渲染结果中就也是正确的。

标准光照环境

所谓的标准光照环境就是使用HDRI(high dynamic range image)来给物件打光,物件受光的计算方式就是IBL(image based lighting),当然是要保证物理正确的。
同时也会把这个HDRI在背景显示出来。
如果lookdev的物件材质,在灯光环境下非常的真实,同时和背景匹配的非常好,那么就是一个比较ok的状况;
标准光照环境一般有这么几个特点:

  • 让物件和背景(真实环境)能匹配
  • 覆盖游戏的典型case

匹配

这里为何物件要和背景匹配的很好,这个就是从cg中来,电影中常常会出现cg渲染和实拍场景结合,比如冬兵的手臂就是渲染的。
那么渲染出来的物件真实且和场景匹配就非常重要了。
另外一点要做到匹配,就是用于校准渲染器,在真实场景中放置真实的灰球铬球,然后和渲染器用同样环境渲染的结果进行校准,也是重要的一环;

典型case
大部分情况是室外晴天,室外阴天和室内三种情况;
然后根据游戏环境类型,可以有针对具体场景和关卡的光照环境

标准光照环境生成

这里现在比较经济的也是比较常用的是使用相机拍摄,然后对拍摄数据处理,生成一个hdri(high dynamic range image)。
由于相机毕竟不是一个专门的测光仪(虽然做的事情有很大关联性),所以在生成准确数据方面有大量的需要针对其局限性要处理的点。

相机参数设置:
首先相机有快门,iso和光圈几项,都设置到标准量上:

  • iso : 100,这个值下,感光器对信号不做加强和减弱,产生早点最小
  • 光圈:f/8,是景深虚化最小的设置
    然后快门曝光速度根据需要进行调节;
    这里EV(exposure value)值就有一个公式:

    (EV100就是指ISO100时候的曝光时间(S)和光圈(N))之间的关系;
    相机照相的时候,往往会有一些内部的处理,包括内置的白平衡等,这个都要去掉,毕竟我们是要捕捉到精准的数值,不是好看的画面。

精度和范围

在室外,场景亮度从夜间到阴天到晴天差距极大;

相机没法捕捉完全,所以采取多次曝光的方式,来获取不同亮度范围的场景信息:

(23ev的捕捉)

相机本身带来的artifact处理

容易处理的部分:包括white balance(白平衡),色差(chromatic aberration),暗角
不容易处理的部分:扭曲,lense flare等

面向结果的一些矫正

这里最典型的就是亮度矫正;
就是我们不知道中间做的过程是否都准确,以及每一步的误差如何。
那么要引入对结果矫正的步骤,比如对整体亮度。
我们可以使用一个测试亮度的仪器测试场景亮度,然后把做出来的HDRI的亮度计算一下,如果比较匹配,那么才ok;

照片信息向hdri信息转变

  • 通过dcraw工具,把raw格式变成linear的16bit的tiff格式
  • 做色差,暗角矫正
  • 把多级曝光(前面23ev的信息)的信息合成到一个HDR全景图
  • 做白平衡和亮度矫正
  • 做一些后处理
    这里后处理是指,在这个过程中,还是有一些信息的丢失(主要源自太阳光),然后我们使用一些面向结果矫正的方式,把信息矫正过来。

另外就是白平衡,有时候灯光会有一些色彩倾向,这个会给我们lookdev中颜色判定带来困扰,最好是纯色的光。
那么我们就要做一个白平衡:查看色卡的中灰色块,颜色依旧是灰色,那么就是比较好的

reference:
[unity] sig16:An Artist-Friendly Work flow for Panoramic HDRI, url:https://blogs.unity3d.com/2016/08/28/59924/
[DICE]sig14, moveing frostbite to PBR, url:https://www.ea.com/frostbite/news/moving-frostbite-to-pb

物理正确的lookdev[1/2]--光照环境相关推荐

  1. 物理正确的lookdev[2/2]--物理矫正

    有了lookdev环境,接下来就是制作高质量的物件和材质了: 这里我们可以通过两部分来保证: 过程正确,使用真实物件的材质来驱动开发,保证整个过程的"尽可能"的物理正确 结果正确, ...

  2. [sig12][PBS]Farcry3的物理光照

    使用物理光照的游戏列表里面又多了一个有力的成员--farcry3. 这里主要讲了3个方面: diffuse贴图的矫正 天空盒与sky lighting shading model的选择 why phy ...

  3. 什么是高中物理?一篇长长长长文告诉你!

    什么是高中物理?一篇长长长长长文告诉你! 很多同学初中时很喜欢物理,觉得物理很简单也很有意思.但一到高中就感觉跟不上了,感觉跟自己以前认识的物理不是一个东西,不再那么直观,也不再那么简单有趣. 于是, ...

  4. 光线追踪渲染实战(四):微平面理论与迪士尼 BRDF,严格遵循物理!

    项目代码仓库: GitHub:https://github.com/AKGWSB/EzRT gitee:https://gitee.com/AKGWSB/EzRT 目录 前言 0. 前情回顾 1. 微 ...

  5. 基于物理的渲染(PBR)白皮书 | 迪士尼原则的BRDF与BSDF相关总结

    基于物理的渲染(Physically Based Rendering , PBR)技术,自迪士尼在SIGGRAPH 2012上提出了著名的"迪士尼原则的BRDF(Disney Princip ...

  6. 基于物理的渲染—迪士尼的渲染模型

    原文链接:https://blog.uwa4d.com/archives/Study_Shading-Disney.html 今天给大家介绍的是一篇关于基于物理渲染(Physically Based ...

  7. Physically Based Render初学者PBR整理

    Physically Based Render PBR的概念 PBR一开始是离线渲染的技术,主要用来制作电影.通过基于物理规则的光与物质交互的规律,来计算光照.这样可以得到和照片一样写实的渲染效果. ...

  8. 理解PBR:从原理到实现(上)

    PBR 从离线渲染进入游戏引擎 CSDN 博客的公式排版有问题,可以看我的 GitHub Page:https://neil3d.github.io/unreal/pbr-theory.html 基于 ...

  9. 【翻译】圣斗士星矢:圣域传说 制作介绍 特效合成等

    内部工具的开发 近年来,伴随着3DGC表现的高度化和复杂化,管线(Pipeline)的构筑和开发管理的重要性也变的越来越高.这样,东映动画数字影像部利用大公司的强势有精力的继续内部工具的独自开发. 以 ...

最新文章

  1. Geant4采用make和cmake编译运行geant4自带例子的方法
  2. 虚拟机Ping不通主机解决
  3. 理解 TCP(五):可靠性交付的实现
  4. Ocelot统一权限验证
  5. 鸭子在Java中打字? 好吧,不完全是
  6. python字符串后面添加字符串_什么是字符串?怎样在Python中添加字符串?
  7. 常用的redis命令
  8. NF、$NF、FR、FNR举例说明
  9. opencv+Dlib python大眼代码
  10. 项目管理和版本跟踪——Redmine和SVN的结合
  11. 用HTml+csss实现优惠券
  12. T0.Games欢迎高端加密NFT入驻
  13. c语言程序设计小球弹跳,C语言之1 实现弹跳小球
  14. 华农计算机软件就业,华农17届就业报告出炉!毕业生月薪集中在4-6k!
  15. C语言中文网_java复习进度
  16. python课程改进建议_关于Python课程的思考和意见
  17. 代码:法向质心法提取线激光条纹中心线(CPP+OpenCV)
  18. 区块链技术与应用-BTC
  19. 当代年轻人到底怎么跨越阶层?
  20. 多元函数概念和偏导数

热门文章

  1. 致我们终将组件化的web
  2. valleyview gen7 linux驱动,天敏睿盒iBox win8.1界面大曝光!!
  3. kafka源码愫读(5)、ReplicaManager模块源码分析
  4. Python数据分析入门书籍推荐!
  5. 11.组合查询union
  6. 中国古代历史发展的转折点
  7. java 类的方法设计_设计问题:Java类与单方法OK?
  8. word打开html显示空白,word的页面显示不正常显示不出来怎么办 word怎么恢复正常页面...
  9. Semantic Kernel 入门系列:Semantic Function
  10. bzoj5197:[CERC2017]Gambling Guide