“热成像”风格的效果是怎么实现的?(内附源码)

未经作者(微信ID:Byte-Flow)允许,禁止转载
文章首发于公众号:字节流动

图片

之前转载过知乎上面的一篇文章:

作者:这是上帝的杰作
链接:https://zhuanlan.zhihu.com/p/344110917

文章详细讲解了 Shader 实现“热成像”效果的思路,但是并没有给出完整的实现代码,后台有读者多次催促,希望我能实现下并给出完整的代码,于是,今天晚上就花了一点时间简单实现了下这个效果。

按照那篇文章的思路,主要步骤是:模糊->发光->亮度分级->替换颜色 ,其中发光这一步不大重要。

图片

可以观察到“热成像”效果的颜色也就是蓝色(冷)和红色(热)组合的几种颜色,然后对颜色做一个排序,并根据亮度等级替换对应的颜色。

至于做模糊,其实就是为了增加层次感而已,可以对比下面的两幅图,左边的是没有做模糊的“热成像效果”。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要在Unity3D中实现红外热成像效果,可以按照以下步骤进行操作: 首先,需要获取红外热成像的图像数据。可以通过连接红外热成像设备并获取其输出数据来实现。根据设备的类型和数据接口,可能需要使用适当的库或插件来获取图像数据。 接下来,将获取到的图像数据传输到Unity3D中进行处理和渲染。在Unity3D中,可以将图像数据存储为纹理。可以使用Texture2D类创建一个纹理,并将图像数据加载到该纹理中。 一般情况下,红外热成像的图像数据是灰度图像,因此可以将纹理的格式设置为灰度纹理(Grayscale)。这样做可以更好地显示温度信息。 然后,可以利用该纹理进行后续的图像处理和渲染。可以创建一个材质(Material),将纹理赋值给该材质的主要纹理属性,并将该材质应用于一个平面或其他几何图形上。 如果想要添加一些特效,可以使用着色器(Shader)来实现着色器可以通过编写自定义的脚本来定义如何在纹理上进行渲染。可以使用着色器将特定的颜色映射到一定的温度范围,以便更好地显示成像效果。 最后,可以在场景中放置相机,并将其正对着渲染出的红外热成像图像。这样,就可以在Unity3D中实时观察到红外热成像效果了。 需要注意的是,要在Unity3D中实现红外热成像效果,还需要根据具体的需求和设备特性做出适当的调整和优化。这只是一个基本的实现思路,具体的实现方法可能会因设备和要求的不同而有所变化。 ### 回答2: 要实现Unity3D中的红外热成像效果,可以按照以下步骤进行: 1. 获取红外热成像数据:首先,需要从红外热成像设备中获取红外图像数据。可以通过连接红外相机或使用其他红外传感器来获取数据。可以使用硬件接口或网络连接与Unity3D进行通信,以获取实时的红外图像数据。 2. 处理红外图像数据:接下来,需要对获取的红外图像数据进行处理。这包括解码和转换红外图像,以便在Unity3D中使用。可以使用一些图像处理算法,如色彩映射算法,将红外数据转换为可见光图像。 3. 创建热成像材质:在Unity3D中创建一个专用的热成像材质来显示红外图像。可以使用计算着色器或编写自定义的渲染代码来实现热成像效果。该材质可以根据红外图像的像素值来调整颜色和亮度,以模拟热量分布。 4. 应用热成像材质:将热成像材质应用到场景中的物体上。可以使用在Unity3D中创建的模型或实体,或者直接将热成像效果应用于相机的渲染纹理,以实现全屏幕的红外热成像效果。 5. 交互和优化:可以在Unity3D中添加交互功能,如交互式热区标记或热图分析工具。还可以根据需要进行性能优化,如降低分辨率或使用级联着色器,以提高实时渲染的性能和帧率。 综上所述,要实现Unity3D中的红外热成像效果,需要获取红外图像数据,处理数据并创建热成像材质来模拟热量分布。然后将该材质应用于场景中的物体或相机,最后可以添加交互和优化功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

字节流动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值