照明分析功能(一)—— 人工光源使用真实世界专业参数

越来越多照明行业从业人员或者灯光设计师使用D5出效果图,#考虑中有一条需求有四十多张投票,我看留言他们大部分是做灯光设计分析的,所以这部分人群也不少。我自己也是照明行业的,我比较了解这部分人的需求,我们希望D5支持更多照明分析相关的功能(不仅仅只是一款出效果图的工具),在这里我把功能需求写详细一点,将来D5决定做的时候可以有更多参考。

照明分析需要以下这些功能,我按目前来讲最有可能实现的顺序排序:

  1. 人工光源使用真实世界专业参数
  2. 照度分布图模式或者通道图
  3. 素材库提供各供应商真实灯具的ies文件

这三点各自展开说都比较长,我分开帖子来讲,下面先讲第一点:人工光源使用真实世界专业参数。

:star:一、专业术语/参数

我们在描述一款灯具或光源时,通常用到这些专业术语:

  • 光通量:是对光源发出的可见光辐射的度量,简单来讲就是用来描述灯具或光源的亮度大小,单位lm(流明)

  • 功率:灯具的电功率,单位W(瓦)

  • 光效(效能):即光源的发光效能,灯具每功率能提供的光通量,单位lm/W(流明每瓦)

  • 照度:入射在物体表面单位面积的光通量,单位lux,简写lx(勒克斯),1lx = 1lm/㎡

  • 光强:光源在给定角度方向上的发光强度,由该方向立体角元dΩ内传输的光通量dΦ除以该角元所得之商定义,单位cd(坎德拉),1cd = 1lm/sr

举个例子,灯具A光通量500lm,灯具B是300lm,说明A比B更亮,这是绝对的;而灯具C是7W,灯具D是5W,C不一定比D更亮,如果是不同厂家生产的不同类型的灯具,有可能C光效比D要低,反而是D更亮。也就是说,描述灯具或光源的亮度时,光通量是直接参数,功率是间接参数。
而照度与光强的区别就是,照度跟面有光,光强跟角度有关。

:star:二、从IES文件得到 光通量,功率,光效

人们为了在软件中模拟灯具的发光效果,发明了光度计


用它来测量灯具的光学特性后,记录于IES文件中,再由计算机读取进行仿真,可以说,IES是虚拟和现实之间的桥梁。

这里强调真实灯具IES是因为网上有很多软件可以生成ies文件,但这些软件因为并不是通过测量现实灯具而是随便想怎么写就怎么写来记录数据,可能满足艺术上的需求,但是是不符合现实的。想要在D5的项目中反应实际灯光效果我们是不能用这些乱七八糟的ies文件的。

而世界各地厂商生产的真实灯具的IES文件我们可以在这个网站上找到:https://luminaires.dialux.com/zh/search/list/query/a8ja222?ft=%E5%B0%84%E7%81%AF;
(这是国外一个团队他们做了一款很难用的灯光模拟软件DIAlux后顺便搞了一个提供IES文件下载的网站,灯具厂商找第三方为自己的灯具测出IES后,给钱给这个团队,就可以上传自己的灯具IES,灯光设计师在设计和模拟的时候就可以下载使用这个厂商的IES。)

IES里记录的数据包括:光源各个方向上的光强(所有方向光强矢量终点连起来形成配光曲线),初始光通量(不是实际光通量),功率,光效(效能),光源类型,厂商信息等等。
(值得注意的是,不同类型灯具功率差异可以很大,为了便于对不同灯具光强分布特性进行比较,有的灯具配光曲线的光强值是按光通量为1000lm给出的,在ies文件中有个乘数因子,实际光强值要用文件中的光强值乘以乘数因子得到)

IES文件中的定义在网上也能查得到:

参考:

  1. Dimensions of lighting fixtures in .IES and .LDT files以这为准
  2. IES档案格式说明
  3. IES文件解读百度文库的这篇文章不完全正确,有几处地方有误

有了IES文件之后,我们要能在D5中读取并可以调节我们关心的参数:

光效(效能)由光通量和功率计算得出,功率可以直接读取ies文件中的值,而光通量则需要通过公式对光强积分得到,如何计算其实可以问GPT,甚至让GPT给出计算的代码:

或者这篇文章可能有参考意义:
一种跨平台环境下LED灯具光通量的计算方法

前期我们简单的认为光源轴对称去计算光通量就行了,非对称光源的光通量以后遇到再说。

为了验证所计算的光通量是否正确,开发工程师可以下载我刚才说的灯光模拟软件DIAlux,选择一个IES文件导入到里面,该软件也会自动算出IES文件的光通量,把它当标准来验证自己的代码算法就行,我们行业都是用这款软件做照明计算。

:star:三、人工光源在D5中参数调节初步的UI样子

现在我们有了光通量,功率,光效。先来考虑选择了IES文件后的聚光灯的可调参数,这三个参数经读取和计算后显示出来


其中,光效不可修改,只有在不同的IES文件光效不同。(当然对于真实的灯具,改变灯具输入功率,它的光效是有微小变化的,但在软件中我们不需要考虑这个问题,视为固定)
光通量和功率的比值就是光效,所以,调节其中一个参数,另外一个同时改变。
这样,用户就可以在选择IES文件后知道这灯具的光通量和功率,通过它们来调节场景人工光源亮度,同时提供重置按钮,改动后可以重置回IES文件的默认光通量和功率。

而如果在场景中添加聚光灯而不选择IES文件,我们可以把这种情况看作是D5加载了一个默认的IES文件,目前市面上大部分灯具的光效在60-100lm/W之间,我这里建议定为80lm/W,功率10W,光通量800lm

点光源同样可以用这个默认值

面光源的话,我们先看看twm的面光源,它上面改变亮度的单位写着lm让人误以为是光通量,而实际上当改变它面光源长和宽时,它的流明居然不变,这显然是错误的,理论上讲,如果面积大一倍,光通量也应该随着大一倍,也就是说光通量跟面积是线性相关的,所以twm的做法错误对灯光设计没有参考价值。


回到D5,根据D5面光源特性和默认面积先积分计算光通量,光效一样统一是80lm/W,再得到功率,假如此时我们得到默认1mx1m面积的光通量1600lm,那默认功率就是20W。当我们改变面光源的面积时,光通量会同时改变,当然功率也是。比如从1mx1m改为2mx1m时,光通量变为3200lm,功率变为40W。

:star:四、结合目前光源功能得到最终UI

考虑到相同类型光源打组后可以一起修改亮度,可以把目前的“亮度”改名为“亮度倍增”,顾名思义,该参数一个乘数,也可以对光源亮度进行调整,默认是1,比如如果亮度倍增是2,光通量是300lm,那么实际上光源亮度与倍增是1,光通量是600lm的一样。


添加光源后默认会把光通量参数收起来,普通用户像以前那样,不需要在乎什么是光通量和功率,只要修改亮度倍增就可以改变光源亮度,而那些需要修改光通量和功率的用户则可以展开调节。

打组后在组层级看不到光通量和功率,但可以一起修改亮度倍增,组内的光源的亮度倍增会被同时改写。

:star:五、应用

光源使用专业参数的目的是,在D5中布光的结果,可以指导实际施工应该安装多大功率以及多少盏灯(以2.4版之后不需要额外补光为基础),这也就相当于提供了照明分析的一部分功能。
而要准确的确定如何布多少光,还需要照度分布图(伪色图)这把“尺子”,有它的反馈,然后对比国标和常识去确定布灯。照度分布图我在另一个帖子中再讲。

考虑到假如没有照度分布图功能,而先有专业参数的功能情况,应该如何比较合理的布光,我目前也没有比较好的想法或方案。
只是以我的经验,以室内夜晚布灯为例:
我测得在经度113.2纬度22.6,3月31日晴天,中午1点多室外阳台照度是50000lx左右,太阳光通过窗户照亮室内,在离窗大概2m-3m远,离地大概0.75m高的地方照度是100lx附近

根据国标 GB 50034-2013建筑照明设计标准

此时室内照度类似于晚上开灯的照度,这时候把D5镜头移到室内,太阳光调到中午1点钟,用“眼睛作尺子”,调节曝光值,其他后期参数默认,发现曝光在0.3-0.4之间合适。


得到曝光值后,再把时间调到晚上,比如曝光定为0.35,继续“用眼睛做尺子”,再去布灯就能确定用多少光源,光源参数定多少。

这两个方法概括来讲,第一种准确合理,布光不受后期参数影响,第二种每个人眼睛判断会有差异,受后期影响,布光结果比较粗糙。

:star:六、最后
以上就是我的想法,这里面由于掌握信息不够和时间关系,没考虑的东西还不少,比如这里没考虑投影灯和舞台灯,雾气效果,材质等等,不过先这样了,以后有想到新的东西我再来补充。也欢迎希望这个需求上线的小伙伴给建议指导。

这个需求我看高票挂在 #考虑中 挂了很久了,我写这些都觉得难,实现起来肯定更难,但我还是希望D5不要对这个需求功能躺平,早日上线。如果实现了,相比其他渲染器(我目前看没有一个渲染器在这方面做的对的),又可以甩他们一条街。