在UE5中使用视差贴图

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

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

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

1.视差贴图的类型

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

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

2.视差实现

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

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

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

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

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


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

相关推荐
豆沙沙包?4 小时前
5.学习笔记-SpringMVC(P61-P70)
数据库·笔记·学习
每次的天空6 小时前
Android学习总结之Room篇
android·学习·oracle
Java&Develop7 小时前
onloyoffice历史版本功能实现,版本恢复功能,编辑器功能实现 springboot+vue2
前端·spring boot·编辑器
Nuyoah.7 小时前
《Vue3学习手记5》
前端·javascript·学习
陶然同学10 小时前
RabbitMQ全栈实践手册:从零搭建消息中间件到SpringAMQP高阶玩法
java·分布式·学习·rabbitmq·mq
欧先生^_^11 小时前
学习 Apache Kafka
学习·kafka·apache
妙极矣12 小时前
JAVAEE初阶01
java·学习·java-ee
娃娃略12 小时前
【AI模型学习】双流网络——更强大的网络设计
网络·人工智能·pytorch·python·神经网络·学习
圆弧YH12 小时前
Ardunio学习
学习
我的golang之路果然有问题12 小时前
案例速成GO+redis 个人笔记
经验分享·redis·笔记·后端·学习·golang·go