在UE5中使用视差贴图

视差贴图是一项不用改动模型顶点,通过对相机向量进行计算、修改通过视差实现模型凹凸感的技术,通常运用于地面,配合法线贴图增强凹凸表现。

UE中封装了视差贴图节点ParallaxOcclusionMapping,可以很方便的制作出效果较好的视差效果。

(左 未开视差,右 开启POM视差)

1.视差贴图的类型

视差贴图实现及性能消耗方面从易到难,大致有几种类型:

  • 基本视差映射,对观察向量结合高度图,乘以一个系数进行拉伸,实现起来最简单,开销也最低。
  • 陡峭视差映射,通过多次循环迭代采样,可以实现遮蔽效果,但性能最差
  • 浮雕视差映射,多次循环迭代采样,但做了二分法优化,性能较差
  • POM视差遮蔽映射,UE中采用的方案,结合陡峭视差和浮雕视差,做了步进迭代优化,性能和画面适中的一种方案

2.视差实现

UE并没有将视差作为输出节点开放,而是通过计算视差的节点得到偏移后的UV等信息,节点如下:

简单起见,没有开启视差阴影。其中HeightRatio表示视差偏移量。MaxSteps设置较高会影响性能,一般设置32较合理。HeightmapTexture为传入高度图。

这里使用一张白色方块贴图,测试视差效果:

可见,是通过类似视觉偏移的方式,采样多次实现视差感。

最后,看一下视差节点得到的数值如何输出:


出处参考:https://www.bilibili.com/video/BV1Va4y1f7i5

相关推荐
崇山峻岭之间1 分钟前
Matlab学习笔记02
笔记·学习·matlab
Kiri霧41 分钟前
Range循环和切片
前端·后端·学习·golang
hssfscv2 小时前
Javaweb 学习笔记——html+css
前端·笔记·学习
Mr.Jessy2 小时前
JavaScript高级:深浅拷贝、异常处理、防抖及节流
开发语言·前端·javascript·学习
博客胡3 小时前
Python-fastAPI的学习与使用
学习·fastapi·ai编程
HyperAI超神经3 小时前
【Triton 教程】triton_language.load
人工智能·学习·大语言模型·cpu·gpu·编程语言·triton
知识分享小能手3 小时前
Ubuntu入门学习教程,从入门到精通,Linux操作系统概述(1)
linux·学习·ubuntu
yuhaiqun19894 小时前
Typora 技能进阶:从会写 Markdown 到玩转配置 + 插件高效学习笔记
经验分享·笔记·python·学习·学习方法·ai编程·markdown
我命由我123454 小时前
Python Flask 开发问题:ImportError: cannot import name ‘Markup‘ from ‘flask‘
开发语言·后端·python·学习·flask·学习方法·python3.11