当前位置: 首页 > web >正文

UE5的BumpOffset节点

BumpOffset 节点的基本概念

本质上,BumpOffset 节点通过扭曲或偏移纹理坐标来创造深度错觉。它基于视角方向和高度信息动态地调整纹理采样位置,使平面表面看起来具有凹凸感。这是一种称为视差映射(Parallax Mapping)的技术的实现。

当你从不同角度观察使用了BumpOffset的表面时,纹理会略微移动,模拟出材质表面有实际深度的视觉效果。这比简单的法线贴图提供了更强的深度感知,但比位移贴图(Displacement Mapping)计算成本低得多。

BumpOffset 节点的输入参数

BumpOffset 节点有几个关键输入参数,每个参数都对最终效果有重要影响:

  1. Coordinate (坐标) - 这是将被偏移的纹理坐标。通常连接到TexCoord节点或其他已经处理过的UV坐标。
  2. Height (高度) - 这个输入决定了表面的高度变化。通常来自灰度高度图,其中白色表示高点,黑色表示低点。这个输入本质上告诉系统"哪些部分应该看起来凸起,哪些部分应该看起来凹陷"。
  3. HeightRatio (高度比率) - 这是一个乘数,控制整体效果的强度或"深度"。较高的值会产生更明显的视差效果,但设置过高可能导致视觉伪影。通常需要微调找到平衡点。
  4. ReferencePlane (参考平面) - 这个参数决定了效果中的"零点"—表面既不凸起也不凹陷的高度。默认值是0.5,意味着灰色(128,128,128)表示中性平面。调整这个值可以改变整体效果的偏移方向。

BumpOffset 节点的工作原理

当材质被渲染时,BumpOffset 节点执行以下操作:

  1. 获取当前像素的视角方向(从相机到表面的向量)
  2. 根据提供的高度图和参数计算每个点的相对高度
  3. 计算纹理坐标应该向视角相反方向偏移多少
  4. 返回调整后的纹理坐标

这个过程使得当你从不同角度查看表面时,凸起部分会轻微"遮挡"它们后面的区域,就像真实的凸起表面一样。

 

http://www.xdnf.cn/news/565.html

相关文章:

  • C++选择排序原理及实现
  • Python带有else子句的循环语句
  • 动态内存管理
  • [dp20_完全背包] 介绍 | 零钱兑换
  • PSN港服跳过生日找回密码(需要英语对话,需要注册的id)
  • 超大文件处理——文件强制切割:突破存储传输限制,提升数据处理效能—星辰大文化术——未来之窗超算中心
  • 小样本学习和元学习
  • STM32学习笔记汇总
  • 图 - 最短路径算法 -- Dijkstra -- Bellman-Ford -- Floyd-Warshall
  • 每日OJ_牛客_最小差值_排序_C++_Java
  • 链表面试题
  • element-plus样式失效的原因总结
  • Linux 桌面环境 LXQt 2.2 发布
  • 放松大脑的方法
  • dev_set_drvdata、dev_get_drvdata使用详解
  • 加密与解密完全指南,使用Java实现
  • 图 - 最小生成树算法 - Kruskal - Prim
  • 基于有效样本数的类别平衡损失 (Class-Balanced Loss, CVPR 2019)
  • AOSP的Doze模式-LightIdle初识
  • 企业级RAG选择难题:数据方案的关键博弈
  • Mysql从入门到上手(一)-Mysql安装和Navicat安装及使用.
  • 【Python标准库】数学相关的9个标准库
  • 基于模态关系理解的无人机视觉语言导航模型
  • 解决Ubuntu图形化界面操作适配问题
  • CRT(阴极射线管)终端控制器
  • rebase和merge的区别
  • 【FreeRTOS进阶】优先级翻转现象详解及解决方案
  • MLLMs for TSAD ?
  • 代码审计入门 原生态sql注入篇
  • 如何对docker镜像存在的gosu安全漏洞进行修复——筑梦之路