虚幻UE 材质-进阶边界混合之运行时虚拟纹理

之前在学习空山新雨后时对于边缘虚化过渡处理有很多技术
今天又要介绍一个边缘过渡的方法:运行时虚拟纹理

文章目录

  • 前言
  • 一、运行时虚拟纹理
  • 二、使用步骤
  • 总结


前言

边缘过渡柔和的方式我们之前介绍了很多,但是效果也不是最好的。
像素偏移PDO和我们今天的前提是一致的
世界对齐纹理需要两个材质相同
基于距离场对像素偏移PDO只能是交界处阴影

本次使用 运行时虚拟纹理 可以达到两个材质不同
一个材质在另个材质上叠加

一、运行时虚拟纹理

运行时虚拟纹理(Runtime Virtual Texture)是一种在游戏或应用程序运行时动态生成的纹理。与传统的运行时纹理不同,运行时虚拟纹理使用GPU按需生成和缓存纹理数据,以实现更高效和灵活的纹理管理。
通过使用运行时虚拟纹理,开发者可以在运行时动态地生成和缓存纹理数据,从而避免了重复加载和卸载纹理的开销。这有助于提高游戏的渲染性能,减少加载时间和卡顿现象。

二、使用步骤

效果展示:(地面为草(Uv没调,所以地面不真实),柱子是土)
在这里插入图片描述
在这里插入图片描述

1、创建两个运行时虚拟材质
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
运行时虚拟材质:
1、需要蔓延的材质(V_M)
2、蔓延的长度的材质(VM_H)
注意:纹理大小越大效果越好,蔓延长度的记得更改纹理内容

2、把需要蔓延的材质设置给物体
在这里插入图片描述

3、在场景中增加运行时虚拟纹理体积
在这里插入图片描述
通过吸管吸取需要蔓延的物体所设置的虚拟纹理,然后设置边界
注意:如果这里不设置,会产生和基于距离场对像素偏移PDO的方式一样,边界是阴影过渡。

4、需要蔓延处的材质修改
在这里插入图片描述
使用材质属性是因为我们要截止需要他们处理需要蔓延的材质的世界中的高度

5、到被蔓延的材质内设置被蔓延部分的控制
在这里插入图片描述
我们可以看出是通过Lerp节点使蔓延材质和被蔓延材质的过度
1、新的蔓延材质
设置给RuntimeVirtualTextureSample,设置UV是因为让过渡更自然
在这里插入图片描述 2、被蔓延材质的基础颜色(不需要讲)
3、高度控制
在这里插入图片描述
获得被蔓延物体可以被蔓延的长度
在这里插入图片描述
控制蔓延的长度和蔓延的过度
在这里插入图片描述
最后把他们固定到0和1之间供Lerp使用
在这里插入图片描述

6、被蔓延材质生成材质实例赋给模型
在这里插入图片描述
在这里插入图片描述

总结

扩展了边界混合新方式
材质真难啊啊啊!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/630617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis提供了哪几种持久化方式?

Redis 提供了2个不同形式的持久化方式。 RDB (Redis DataBase) AOF (Append Of File) 一、RDB (Redis DataBase) 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快…

架构设计: 如何提供设计方案

面试时你是否常被问到这样的问题:“你之前是如何设计这个系统(或子系统/模块/功能)的?请介绍你的思路。” 很多研发同学在听到类似的面试题时,往往忽略“系统设计思路”关键词,而是陷入某个技术点细节里&a…

各省快递量数据, shp+excel,2001-2021年,已实现数据可视化

基本信息. 数据名称: 各省快递量数据 数据格式: shpexcel 数据时间:2001-2021年 数据几何类型: 面 数据坐标系: WGS84 数据来源:网络公开数据 数据字段: 序号字段名称字段说明1a_2001快递量/万件_2001年2a_2002快递量/万件_2002年3…

ceph数据分布式存储

单机存储的问题 存储处理能力不足 传统的IDE的IO值是100次/秒,SATA固态磁盘500次/秒,固态硬盘达到2000-4000次/秒。即使磁盘的IO能力再大数十倍,也不够抗住网站访问高峰期数十万、数百万甚至上亿用户的同时访问,这同时还要受到主机…

软件测试|使用Python轻松裁剪视频

简介 裁剪视频是在视频编辑和处理中常见的任务之一,Python提供了多种库和工具,可以用来裁剪视频。在本文中,我们将详细讨论如何使用Python来裁剪视频,并提供示例代码。 步骤1:环境准备 首先,我们要安装必…

Firefox 100 正式发布

五月三日,Firefox发布了它的第100个版本,来回顾一下Firefox是如何走到今天这一步的,以及在第100个版本中发布了哪些功能。 回顾 2004年,《纽约时报》上宣布了Firefox 1.0的发布,这个广告列出了为第一版做出贡献的每一…

MySQL运维实战(4.4) SQL_MODE之STRICT_TRANS_TABLES和STRICT_ALL_TABLES

作者:俊达 1 STRICT MODE 在MySQL中,STRICT模式主要用于控制数据库的行为,有助于保持数据的一致性和完整性,特别是在涉及到数据写入、更新和其他操作时的约束。 如果设置STRICT模式,MySQL会更加严格地执行数据写入和…

C语言——小细节和小知识12

一、倒置句子 将句子中的单词位置倒置,标点不用倒置,例如i love you.倒置结果是:you. love i。 1、两步翻转法 采用两步翻转法来实现单词位置的倒置。首先,它整体翻转整个字符串,然后再逐个翻转每个单词内的字符。 …

redis安装-Linux为例

可以下载一个Shell或者MobaXterm工具,便于操作 在redis官网下载压缩包 开始安装 安装依赖 yum install -y gcc tcl切换目录 切换目录后直接把redis安装包拖到/user/local/src/下 cd /user/local/src/解压然后安装 #解压 tar -zxvf redis-7.2.4.tar.gz #安装 …

day13

1.多态的向上转型和向下转型向上转型: 父类的引用指向子类的对象Person person new Man();向下转型: 将父类的引用强转为子类的对象Man man (Man) person; 2.instanceof关键字的用法引用 intanceof 运行类型 3.抽象类声明方式abstract class Person {} 4.接…

后端开发笔记20240117

文章目录 1.lambda表达式学习1.1 从list中找到符合条件的对象并且返回1.2 groupby的用法 2.时间做差取秒 1.lambda表达式学习 1.1 从list中找到符合条件的对象并且返回 这种案例在java中的应用很多,适用于轻度过滤,如果能sql直接查询出符合规定的那肯定…

python数字图像处理基础(六)——模板匹配、直方图

目录 模板匹配概念单对象模板匹配多对象模板匹配 直方图1.查找直方图2.绘制直方图3.掩膜的应用 模板匹配 概念 模板匹配和卷积原理很像,模板在原图像上从原点开始滑动,计算模板与图像被模板覆盖的地方的差别程度,这个差别程度的计算方法在o…

openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_DSA_paramvalidate.c

文章目录 openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_DSA_paramvalidate.c概述笔记END openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_DSA_paramvalidate.c 概述 OPENSSL_hexstr2buf_ex 将16禁止字符串填充到16进制buffer BIO_new_mem_buf 有用, 可以内存的内容转为bio, 不…

如何安装“Nextcloud 客户端”win10系统?

1、 下载 Nextcloud的官网 Download and install Nextcloud 2、安装 3、 Nextcloud登录

组件v-model(.sync)记录使用(vue3)

示例(演示地址) 以下是Vue3中使用v-model实现组件的双向数据绑定的示例代码: 首先,让我们来了解一下Vue3中v-model的用法。在Vue3中,v-model 指令可以用于自定义组件上,用于实现组件的双向数据绑定。与Vue2…

python元类模型和class语句协议

1 python元类模型和class语句协议 学习python的类型模型和class语句协议。class语句末尾自动调用type()创建类对象并且赋值给类名称。 1.1 类是类型的实例 python3.x中,用户定义的类对象是名为type的对象的实例,type本身是一个类; python…

【温故而知新】HTML5存储localStorage/sessionStorage

文章目录 一、概念二、存储localStorage三、存储sessionStorage四、区别及优缺点1. 区别:2. 优缺点: 一、概念 HTML5是HTML的最新版本,它引入了许多新的元素和功能,以适应现代网页开发的需求。以下是HTML5的一些主要特点&#xf…

Alinx ZYNQ 7020 LED调试--in RAM

设置拨码开关为JTAG方式 烧写LED bit stream a. 点击“Program device”烧录程序到FPGA中(重新上电程序就丢失了) b. /01_led/led.runs/impl_1/led.bit 程序烧录到Flash中 ZYNQ与以往的直接烧录Flash不同,首先必须PS,然后烧…

python实例100第23例:打印菱形图案

题目:打印出如下图案(菱形): ********* ****************程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列…

golang中make与new有什么区别?

前言 记录下go语言中函数new与make的使用和区别,关于go语言中new和make是内建的两个函数,主要用来创建分配类型内存。 目录 前言make介绍用法:1. 创建切片(slice):2. 创建映射(map)…