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

news2024/11/28 4:31:59

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

文章目录

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


前言

边缘过渡柔和的方式我们之前介绍了很多,但是效果也不是最好的。
像素偏移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.coloradmin.cn/o/1399336.html

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

相关文章

git22端口超时

笔记本换了个主板后,将内容用git上传到GitHub时发现22端口超时。 以为是网络啥的原因,但是用ssh -T gitgithub.com进行多次测试,发现不是网络问题。按照网上操作,在.ssh文件夹内将config文件进行修改,改成:…

【lettuce-排行榜】

背景&#xff1a; 这次游戏中台采用lettuce的zset完成游戏内的本服和跨服排行榜&#xff0c;因此写一下案例。 pom.xml <dependency><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId><version>6.2.4.RELEASE</ve…

MacBookPro怎么数据恢复? mac电脑数据恢复?

使用电脑的用户都知道&#xff0c;被删除的文件一般都会经过回收站&#xff0c;想要恢复它直接点击“还原”就可以恢复到原始位置。mac电脑同理也是这样&#xff0c;但是“回收站”在mac电脑显示为“废纸篓”。 如果电脑回收站&#xff0c;或者是废纸篓里面的数据被清空了&…

微信小程序(八)图片的设定

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 1.图片的三种常见缩放形式 2.图片全屏预览 源码&#xff1a; testImg.wxml <!-- 默认状态&#xff0c;不保证缩放比&#xff0c;完全拉伸填满容器 --> <image class"pic" mode"scaleToFill&qu…

六、MySQL---综合练习题(单表、多表、分组函数以及等级查询)

六、MySQL---综合练习题&#xff08;单表、多表、分组函数以及等级查询&#xff09; 1.素材简介2.创建dept表3.创建emp表4.创建salgrade表解答&#xff1a;一、单表查询二、多表查询三、分组函数查询四、等级查询 1.素材简介 数据库&#xff1a;dept_emp 1.dept表&#xff1a;…

推荐系统|2.1 协同过滤与矩阵分解简介 2.2 协同过滤

文章目录 显式特征和隐式特征协同过滤基于用户的协同过滤基于商品的协同过滤 显式特征和隐式特征 可以类比感性认识和理性认识。 显式特征是指可以直接获取&#xff0c;并且可以用作判断的依据。 而隐式特征是指需要进一步加工分析提炼&#xff0c;才能作为判断的依据。 比如说…

2024-01-16(SpringCloudMybati)

1.前后端分离&#xff1a;前后端分离开发的理解以及和前后端不分离的区别_前后端交互和前后端分离的区别-CSDN博客 2.resultMap是用于sql语句得到的结果集与实体类之间进行关系映射的。 要求&#xff1a;结果集中的列名和实体类的中属性名要一一对应&#xff0c;并且个数保持…

Java 内存模型深度解析

优质博文&#xff1a;IT-BLOG-CN 一、并发编程模型的两个关键问题 【1】并发中常见的两个问题&#xff1a;线程之间如何通信及线程之间如何同步。通信是指线程之间以何种机制来交换信息。在命令式编程中&#xff0c;线程之间的通信机制有两种&#xff1a;内存共享和消息传递&…

[晓理紫]每日论文分享(有中文摘要,源码或项目地址)--大模型、扩散模型、视觉导航

专属领域论文订阅 关注{晓理紫}&#xff0c;每日更新论文&#xff0c;如感兴趣&#xff0c;请转发给有需要的同学&#xff0c;谢谢支持 关注留下邮箱可每日定时收到论文更新服务 分类: 大语言模型LLM视觉模型VLM扩散模型视觉导航具身智能&#xff0c;机器人强化学习开放词汇&a…

大创项目推荐 深度学习验证码识别 - 机器视觉 python opencv

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x…

数据结构Java版(2)——栈Stack

一、概念 栈也是一种线性数据结构&#xff0c;最主要的特点是入栈顺序和出栈顺序是相反的&#xff0c;操作时只能从栈顶进行操作&#xff0c;在Java中给我们提供了一个泛型栈——Stack&#xff0c;其中最常用的方法有&#xff1a; void push(E):进栈E pop():退栈E peek():查看…

SpringBoot解决Slow HTTP慢速攻击漏洞

项目场景&#xff1a; 扫描到的漏洞截图&#xff1a; 攻击原理&#xff1a; Web应用在处理HTTP请求之前都要先接收完所有的HTTP头部&#xff0c;因为HTTP头部中包含了一些Web应用可能用到的重要的信息。攻击者利用这点&#xff0c;发起一个HTTP请求&#xff0c;一直不停的发送…

Divisibility Problem-codefordes

题目链接&#xff1a;Problem - A - Codeforces 解题思路&#xff1a; 如果 a 能被 b整除&#xff0c;就不需要进行改变&#xff0c;直接输出0&#xff0c;否则输出((a / b) 1) * b - a&#xff0c;找到最小的能被b整除的数。 下面是c代码&#xff1a; #include<iostrea…

数组、数组的删除添加、函数、返回值、匿名函数、回调函数

一、数组 概念&#xff1a;将多个元素按一定顺序排列放在一个集合中 创建数组&#xff08;两种&#xff09;&#xff1a; 字面量创建 构造函数创建 数组的长度&#xff08;length&#xff09;、类型 空数组 长度为0数组是object 引用类型 如何获取数组中单个元素 索引&…

【Linux】03 GCC编译器的使用

一、编译过程 在使用gcc编译程序时&#xff0c;编译过程可以简要划分为4个阶段&#xff1a; 预处理、编译、汇编、链接 1.1 预处理&#xff08;preprocessing&#xff09; 这个阶段主要处理源文件中的#indef、#include和#define预处理命令&#xff1b; 这里主要是把一些include…

c JPEG 1D DCT 优化二(AAN)

这两个图可能就是AAN 的数学模型 优化DCT就是用代码实现矩阵9,10 9和10已经把64个系数缩小到一半32个了。光从这两图可看出&#xff0c;优化后乘法少了64-32436个&#xff0c;加法少了64-32-824。估计优化时间可少百分之40左右。o[0]的4个cos系数都是1&#xff0c;可省4个乘法…

RS-485通讯

RS-485通讯协议简介 与CAN类似&#xff0c;RS-485是一种工业控制环境中常用的通讯协议&#xff0c;它具有抗干扰能力强、传输距离远的特点。RS-485通讯协议由RS-232协议改进而来&#xff0c;协议层不变&#xff0c;只是改进了物理层&#xff0c;因而保留了串口通讯协议应用简单…

预约上门按摩app开发需要具备哪些材料

开发上门按摩预约系统的功能模块&#xff0c;包括用户端、技师端和管理后台。 设计阶段&#xff1a;根据需求分析结果&#xff0c;进行界面设计和数据库设计&#xff0c;并编写相应的技术文档。 开发阶段&#xff1a;根据设计文档&#xff0c;进行上门按摩预约系统的开发工作&a…

spring boot shardingsphere mybatis-plus druid mysql 搭建mysql数据库读写分离架构

spring boot shardingsphere mybatis-plus druid mysql 搭建mysql数据库读写分离架构 ##关于window mysql主从搭建简单教程 传送门 window mysql5.7 搭建主从同步环境-CSDN博客 ##父pom.xml <?xml version"1.0" encoding"UTF-8"?> <project…

YOLOv8算法改进【NO.99】引入最新发布Deformable Convolution v4 (DCNv4)

前 言 YOLO算法改进系列出到这&#xff0c;很多朋友问改进如何选择是最佳的&#xff0c;下面我就根据个人多年的写作发文章以及指导发文章的经验来看&#xff0c;按照优先顺序进行排序讲解YOLO算法改进方法的顺序选择。具体有需求的同学可以私信我沟通&#xff1a; 第一…