This page has been translated automatically.
视频教程
界面
要领
高级
实用建议
基础
专业(SIM)
UnigineEditor
界面概述
资源工作流程
Version Control
设置和首选项
项目开发
调整节点参数
Setting Up Materials
设置属性
照明
Sandworm
使用编辑器工具执行特定任务
如何擴展編輯器功能
嵌入式节点类型
Nodes
Objects
Effects
Decals
光源
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
编程
基本原理
搭建开发环境
使用范例
C++
C#
UnigineScript
统一的Unigine着色器语言 UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
材质和着色器
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
创建内容
内容优化
材质
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials

Blackbody 示例

Blackbody 示例

这些材质图表示例演示了如何为物理上精确的发射材质实现黑体辐射模拟。包括两个材质图表。

blackbody_box 材质展示了基于盒子温度的颜色变化。

通过 x 获取的 UV 坐标的水平分量端口适配器Vertex UV 0 节点乘以 Slider 参数节点提供的 Temperature 值(以开尔文为单位)(使您能够调整 Parameters 面板中的最高温度)。因此,变化的温度值水平地映射在盒子的面上。

然后,我们只需将温度传递给 Blackbody 节点即可获得相应的颜色。

此外,[0; 1000] 范围内的源温度被重新映射(Rerange 节点)到 [0; 1] 范围并乘以 U 纹理坐标,颜色为倍增饱和的结果防止冷零件变红。

最后,生成的 sRGB 颜色将通过 SRGB Inverse 节点转换为 RGB 值并传递到材质的 Emissive 端口。

AlbedoSpecular 值直接使用 Float 节点指定。

blackbody_rifle 材质图包含一个现成的基于黑体发射的对象热部分的实现。

基于温度的着色的应用方式与上一个示例相同,但这次顶点位置在对象空间中用于定义热部分。 Vertex Position 节点的 y 分量通过 Contrast 节点进行调整,以沿 Y 轴进行更清晰的过渡。

所得掩码乘以 Temperature 参数用于实现黑体发射的熟悉网络。

Albedo, MetalnessRoughness 值是通过 Sample Texture 节点从相应的纹理中获得的,并乘以相应的强度参数。 Specular 值直接使用 Float 节点指定。

最新更新: 2024-08-16
Build: ()