一个人如何构造现实的“红外视觉”效果?


20

您将如何使用着色器构建逼真的红外视觉效果?现实的,我的意思是看起来像这个例子的现实。

我有一个想法,要制作一个纹理以确定材料散发多少热量,然后通过使用法线和视图矢量的点积来确定有多少热量到达观察者,但是我什至不确定这就是热视觉甚至可以正常工作,所以我想在开始实施可能完全错误的东西之前检查是否有更好的方法。


3
不,使用红外线时,您可以假设所有物体都是具有不同强度的漫射体,因此,用距离的平方除以更接近的物体会显得更亮
棘轮怪胎

只需将热值打包到纹理中即可。或具有一些单独的纹理(如果您希望它更高级)。
Tordin 2013年

1
@ratchetfreak:您只需将点源(或您近似为点源的东西)除以距离的平方即可。对于扩展对象,应保持亮度(读取:每个像素的亮度)恒定,而对象覆盖的立体角(读取:屏幕上的像素数)由于透视的原因而成为距离的平方的倒数。
Ilmari Karonen 2013年

Answers:


25

有IR,然后有IR。通常称为“ 红外 ” 的光波长范围从人类视觉范围的边缘(大约700 nm)一直扩展到1 mm = 1,000,000 nm。

Philipp的答案对于“近红外”光(大约700至1,400 nm)是正确的,该光基本上与普通可见光相同,只是肉眼无法看见。要对近红外视觉建模,您只需用替代模型替换对象的纹理和光源颜色,以替代其在不同波长下的反射率和光强度

但是,根据问题的措辞和所链接的视频,您似乎对“热红外”范围(8,000至15,000 nm)更感兴趣,该范围对应于大多数日常物体的热辐射光谱的峰值,包括人体。这种辐射在大多数情况下仍然像“光”一样起作用,并且可以使用标准的计算机图形技术(与无线电波相反,因为无线电波的波长足够长,以至于射线光学的标准假设开始崩溃),可以对其进行建模,但是所看到的却是世界在热红外中确实有其特点:

  • 如上所述,大多数物体将在热红外中发光。对于可见光,通常可以假设只有几个实际光源,而其他所有东西都只是反射其他光源发出的光。对于热红外,取决于所选择的确切波长,通常是相反的情况。

  • 相反,大多数表面也将非常有效地吸收热红外。反过来,这将使它们变热,使它们自己重新发射更多的IR。实际上,似乎几乎每个表面都是磷光的

  • 大多数表面发出的热红外光谱(即“颜色”)将主要取决于其温度。表面材料的固有发射率也确实有影响,但是相对有限。

因此,与普通的光学视觉相比,对真实的热红外视觉进行建模将需要更加强调整体照明和动态变化的发射率值。根据您的设置,您也许可以在此处作弊:例如,对于静态场景,可以一次计算全局辐射热传递函数并将其烘焙为静态光照贴图,就像您要在其中伪造全局照明一样。可见光谱。

如果要在游戏中通过热像仪模拟视图,则建议至少使用以下方法:

  • 绘制和/或计算对象的特殊红外发射率和/或反射率纹理。要特别注意温暖物体(例如人或机器)的发射率,该发射率应与它们的表面温度相对应。反射率相对不太重要。

  • 您可能只想使用一个与总红外通量相对应的单个光谱通道(即以单色绘制所有内容)。您可以通过将生成的灰度值映射到虚假的颜色渐变中来对图像进行后处理,以模拟用于热图像的传统密度切片

  • 考虑显式跟踪您的表面温度,例如,即使一个人离开后,一个人躺在地面上的斑点仍会保持一段时间(并因此在红外光下发光)。您可以通过多种方式(例如,每个顶点的温度跟踪,为瞬时局部温度变化添加贴花等),在真实性和计算成本之间进行权衡取舍。你也许并不需要使它非常逼真,但即使有目前这个效果将是一个很好的接触。


+1真是个好答案!我特别喜欢您的最后一点,我根本没有考虑过这一点,我认为您是对的,这将带来非常不错的触感,甚至可以帮助转移用户的注意力,以免其他事物可能并不完全现实。
MikaelHögström2013年

两者都是很好且有用的答案,但您的解决方案通过将我指向红外光谱的不同波长并动态调整发射率值,从而对我有所帮助。但是,您到底怎么知道所有与游戏开发人员无关的事情呢?我在现实生活中IRVs工作,不知道这:)的一半
的MikaelHögström

维基百科。:)不,严重的是,我知道近红外与热红外并不相同,而且我对射线追踪和其他奇特的渲染技术很感兴趣,因此我知道它们可用于辐射热传递建模。其余大部分我只是抬头看。我认为,热敏烙印是我曾经看过的YouTube视频。
Ilmari Karonen

11

您通常从世界上看到的是物体反射的光的视觉部分。绿色对象仅反射绿色光,红色对象仅反射红色光,蓝色对象仅反射蓝色光。红外线可以被视为您的眼睛无法感知的第四种颜色。红外摄像机通过使用传感器感知红外光并将红外图像转换为您可以看到的波长,从而使您可以看到红外光。

就像某些材料在红色,绿色或蓝色中或多或少是明亮的一样,它们在IR中也有所不同。IR亮度可以但不一定必须对应于可见光的亮度。

这是可见光和IR中的场景。请注意,树木的叶子在红外光下比树干要亮得多,但是建筑物外墙不同部分的红外光在可见光和红外光下是相似的。

您可以做的是为所有纹理创建两个版本:用于可见光的RGB纹理和用于红外的替代单色纹理。在正常模式下,您使用RGB纹理,而在IR模式下,您使用IR纹理。

您可能还考虑在IR模式下使用不同的光源。太阳产生的红外光与可见光一样多。但是人造光源(例如卤素灯或发光二极管)几乎不产生或几乎不产生IR光,因此它们不会照亮红外线。另一方面,有些光源在红外光下要强得多(例如明火),或者在红外光下才可见(热的物体,它们的温度不足以发出红色的光,或者是人造红外光源。当您知道时,戴上红外线护目镜,您可以将电视遥控器用作手电筒吗?)。正常和红外光下的不同光照条件可能是有趣的游戏元素。


从未真正考虑过红外光源。我想你可以做与IRVs一些巧妙的影响复位在IR源直看的时候......
的MikaelHögström

上面的照片是紫外线,但仍然可以提供一些很酷的效果,使它们具有紫外线或红外夜视功能。这让我开始思考,因为我最近测试了一个看起来很酷的热像仪着色器。
SICGames2013

2
@ SICGames2013为什么您认为它是紫外线?我从德国维基百科上有关红外线的文章中得到的。图像描述说它显示700-1000 nm的波长。
菲利普

700-1000的范围是红外线,但由于紫色,上面的图像看起来是紫外线。诸如Sony或军用类型的红外摄像机要么是白色-灰色的对比度,要么是红外光谱更深,可以检测到人体的热量;通过调色板绘制出人的温度范围。使用Sony夜视仪时,它是灰色的,但是现在一天,他们给它们添加了绿色。军用夜视仪Google为用户提供了绿色的色调,使用户能够在电子撞击到电子管后端的磷屏后更好地观看图像。
SICGames2013 2013年

1
@ SICGames2013当您认真地认为它显示紫外线光谱是因为图像具有紫罗兰色时,您根本无法理解“红外线”或“超”的含义。
菲利普
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.