虚幻UE 材质-进阶边界混合之WAT世界对齐纹理

边界混合前篇:虚幻UE 材质-边界混合之PDO像素深度偏移量
上一篇主要讲材质相似或者不同的两个物体之间的边界混合
这一篇主要讲自建材质且相同的两个物体之间的边界混合

文章目录

  • 一、世界对齐纹理
  • 二、世界对齐纹理实验
    • 1、制作材质
  • 三、进一步优化


一、世界对齐纹理

世界对齐纹理(WAT,World Aligned Texture)是一种特殊的纹理处理方式,用于将纹理贴图与实际物体表面对齐,使得纹理在渲染时能够正确地贴在物体表面上,实现更加真实和逼真的虚拟场景。
不依赖于物体UV坐标,直接使用世界坐标
方便做“背景”混合
其实现原理为:将贴图生成在一个统一的世界立方体之中,然后映射或者投影在物体表面。
举一个例子:
在这里插入图片描述
雪地里的井盖,按常理来说井盖被雪覆盖了薄薄的一层,且应该在指定位置有脚印。

通过这样描述,我们可以对井盖和地面使用同一样的材质,然后设置世界对齐纹理,这样井盖和地面的贴图生成在统一的世界立方体中,最后整体朝某个方向映射到物体表面。

最终效果简版效果:
在这里插入图片描述
移动井盖后:(井盖的材质没有固定,而是跟随环境的变化而变化)
在这里插入图片描述

二、世界对齐纹理实验

1、制作材质

首先我们指定我们需要做一个与背景地面相关的材质,所以我们创建一个材质:
在这里插入图片描述
材质文件创建好了,我们得对井盖进行分析,需要设置为背景雪地一样的材质,所以基础颜色需要设置为雪地纹理,且进行世界对其。
在这里插入图片描述
并把它赋给雪地和井盖,赋给雪地的原因是程序需要知道是哪些物体进行世界对其
在这里插入图片描述
但是发现贴图大小不对,调整贴图大小
在这里插入图片描述
这里有几个参数可以讲解一下:

输入1:
Texture Object:这里之所以使用这个节点是因为把贴图转化成一个对象传入,
相当于一个容器,输入的是一个贴图对象,
而不仅仅是Texture Sample里面的颜色,
并且世界对其贴图的节点也是希望你传一个贴图对象。输入2:
Texture Size:这里是用一个矢量RGB来作为对应X、Y、Z轴,
默认矢量RGB为1、1、1,单位向量,这样控制起来很方便。输出:
XY / Z / XYZ Texture:这里是说明世界对齐的轴向选择,
如果为XY Texture:
下图展示,从z轴投影就是错误的贴图。

XY Texture对齐
纹理大小调整后效果:
在这里插入图片描述


三、进一步优化

做到这里我们还可以对其进行优化,我们现在只是对基础颜色进行了世界对齐
我们还可以对粗糙度、法线进行世界对其,这样效果更加好了
在这里插入图片描述

注意:法线对应的是世界对齐法线节点
由于雪地贴图没有粗糙度纹理,所以这里可以不用连接,
这里只是举例如果有粗糙度纹理的情况下的做法

最后效果:
在这里插入图片描述

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

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

相关文章

堆排序(C语言版)

一.堆排序 堆排序即利用堆的思想来进行排序,总共分为两个步骤: 1. 建堆 升序:建大堆 降序:建小堆 2. 利用堆删除思想来进行排序 1.1.利用上下调整法实现堆排序 第一步:建堆 好了,每次建堆都要问自己…

基于ssm的教师上课系统+vue论文

目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 2 系统开发环境 3 2.1 vue技术 3 2.2 JAVA技术 3 2.3 MYSQL数据库 3 2.4 B/S结构 4 2.5 SSM框架技术 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2 操作可行性 5 3…

mxxWechatBot微信机器人主动给机器人发送消息

大家伙,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 先看这里 前言接口地址一、获取token二、主动发送消息三、获取群、好友以及公众号列表 前言 注意: 免责声明:该工具仅供学习使用,禁止使用该工具从事…

栅极驱动 IC 自举电路的设计与应用

硬件工程师应该都用过buck,一些buck芯片会有类似下面的自举电容,有时还会串联一个电阻。 那么你是否对这个自举电路有深入的了解呢?比如,这个电容的容值大小该怎么选?大了或者小了会影响什么?耐压要求是怎么…

Prometheus+Grafana(详细讲解)

Prometheus(普罗米修斯)监控系统 1、Prometheus概述 1.1 任务背景 某公司由于业务快速发展,公司要求对现有机器进行业务监控,责成运维部门来实施这个任务。任务要求如下: 部署监控服务器,实现7x24实时监控 针对公司…

达梦数据库报错 执行失败(语句1) -2111: 第1 行附近出现错误: 无效的列名[system]

[TOC](达梦数据库报错 执行失败(语句1) -2111: 第1 行附近出现错误: 无效的列名[system]) 1、报错现象 执行下列sql语句 UPDATE "TEST"."TEST_1" SET "TEST_1"."SALT"123456 where "TEST_1"."ID""system&…

c++_STL容器总结

STL容器总结 1.STL的基本概念1.2STL的六大组件 2.string类2.1string的基本概念2.2string容器常用操作 3.vector容器3.1vector容器基本概述 4.deque容器4.1deque容器的基本概念4.2deque容器的实现原理4.3deque常用API 5. stack容器5.2stack常用API 6.queue容器6.1 queue 容器基本…

OSCHINA Gitee 联合呈现,《2023 中国开源开发者报告》正式发布,总结分非常帮,可以免费看的报告!

《2023 中国开源开发者报告》 详细地址: https://talk.gitee.com/report/china-open-source-2023-annual-report.pdf 不需要收费下载!! 其中大模型的部分总结的非常棒 gietee 也支持 AI 模型托管了 如何在 Gitee 上托管 AI 模型 https://…

【LLM+RS】LLM在推荐系统的实践应用(华为诺亚)

note LLM用于推荐主要还是解决推荐系统加入open domain 的知识。可以基于具体推荐场景数据做SFT。学习华为诺亚-技术分享-LLM在推荐系统的实践应用。 文章目录 note一、背景和问题二、推荐系统中哪里使用LLM1. 特征工程2. 特征编码3. 打分排序 三、推荐系统中如何使用LLM四、挑…

Python爬虫---selenium基本使用(支持无界面浏览器PhantomJS和Chrome handless)

为什么使用selenium? 使用urllib.request.urlopen()模拟浏览器有时候获取不到数据,所以使用selenium (1) selenium是一个用于web应用程序测试的工具 (2) selenium 测试直接运行在浏览器中,就像真正的用户在操作一样 (3) 支持通过各种driver (FirfoxDri…

java:5-2switch基本语法

文章目录 1. switch1.1 基本语法1.2 流程图1.3 快速入门1.4 switch使用细节1.5 练习1.6 switch和if的比较 1. switch 1.1 基本语法 【6点注意】 switch 关键字,表示swtich分支表达式(一定会有个值返回)case 常量1:当表达式的值等于常量1&am…

kafka使用zookeeper完成集群搭建

本次搭建使用的是Kafka3.6.1,zookeeper3.9.1。 1、zookeeper集群安装 zookeeper下载:Apache Download Mirrors 1.1、zookeeper解压修改配置文件名 # 1、解压到指定目录 tar -zxvf apache-zookeeper-3.9.1-bin.tar.gz -C /opt/software # 2、需改配置…