UE4贴图自适应屏幕大小

news2024/9/23 19:57:47

游戏开发中,不同屏幕下的分辨率不同,模型/物品被拉伸之后贴图也会随之拉伸。
如果需要在不同屏幕下面实现贴图真实大小不变(以下简称为自适应),需要对UV进行缩放处理之后再取得对应贴图的颜色。
本文提供一种能够实现不同设备下面贴图的大小不变的方法,主要是借助于DDX/DDY接口实现。
具体效果如下:

效果

材质预览放大
在这里插入图片描述

材质预览缩小
在这里插入图片描述
可以发现枪的显示变小了,但是里面的感叹号图片标志大小没变

前置知识

DDX()和DDY()

对于指定的寄存器,求其值在临近像素上的变化率,可以传入不同类型的数据, 就可以得到对应的数据在指定的屏幕坐标下的变化率。
在这里插入图片描述

讲更简单一点
比如ddx(uv)就是屏幕x方向上,一像素跨度内uv变化了多少
ddx(rgb)就是屏幕x方向上,一像素跨度内rgb变化了多少(无需指定xy,类似这样)
在这里插入图片描述

如何自适应

那么根据ddx和ddy的含义。我们可以传入uv坐标,取得在不同设备下面两个像素uv差了多少(称之为deltUV),然后让uv去除以这个deltUV之后再取颜色即可。
举个例子
比如一个设备A是1080 * 640 ,另一个B是 108 * 64,那么同样大小的图片在A设备上占了10个像素,在B设备上面就会占1个像素,
那么A的deltUV就是0.1,B是1。
当我们传入UV取颜色的时候

  • A的 UV(0,0)- (1,1)就会取到 uv(0,0)到 uv(10,10)
  • 而b 的 UV(0,0)- (1,1)会取到像 uv(0,0)到 uv(1,1)

也就是上面枪里面的感叹号纹理被取了更多次,表现就是感叹号大小没有任何变化
需要理解,对于任意比例的屏幕来说,uv的u和v都只要缩放一样的系数,设备比例不同但是图片的比例自适应之后uv轴的比例并不会不同,所以对应的u都v只会缩放一样的比例,所以只需要对UV进行如下处理即可实现。Param越大感叹号在里面的尺寸就越小。
在这里插入图片描述

这里有几个注意的地方,一个是Divide节点,第二个参数是可以传数组的,这样就会和第一个关系逐个相除
所以下面和上面的实现方式是一样的,因为DDX和DDY大小是一样的。不信可以验证试试
在这里插入图片描述

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

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

相关文章

为什么国外程序员的创造力比中国程序员强?

1川口耕介是个日本程序员,他曾在Sun公司从事Java、XML和Solaris相关的开发。2004年,他用Java写了叫做一个Hudson的开源工具,专门做持续集成(CI)。Hudson安装、配置、使用都非常方便,并且支持用插件的形式扩…

有求必应 | 听说这个管线排布,横竖都行?

大家好,今天还是被 yi 情反复拿捏的建模助手。 拿捏归拿捏,企微客服还是很认真得在给大家答疑解惑记bug,刚好有求知若渴的盆友问到管线排布这个角度,是否能有小数点,比如1.2,或者0.8。 对待此类问题&#x…

无线传感器网络:排队论(Queueing Theory)模型

文章目录The arrival ProcessQueueing SystemThe M/M/1 queueThe M/M/1/N queueReferences排队理论已被用于评估通信网络的性能很多年了。早在1917年,丹麦数学家 Erlang 就将该理论用于电话交换机的设计,并开创了现在著名的 Erlang-B 和 Erlang-C 公式&a…

DevData Talks | 知乎艾辉:从工具建设到运营,千人团队研发提效最佳实践

在千人级别的组织层级提升研发效能,是一种什么体验?可以确定的是,千人级组织的效能提升,并不是百人级团队的等比放大。 在数十人乃至小百人的团队,统一规范研发工具与流程的门槛相对较低,参与方也比较简单…

07 索引

1.索引 概述 1. 简介 索引是一种帮助数据库高效获取数据的数据结构;通过索引可以快速获取到符合条件的数据的内存地址,避免全表扫描 2. 索引的优缺点 优点: 可以快速地检索数据,降低数据IO成本通过索引可以对数据进行排序&…

jenkins 共用宿主机中的docker自动化部署

目录 第一节 jenkins 共用宿主机中的docker自动化部署 1.docker命令安装启动jenkins 2.查询jenkins内是否可以执行宿主机中的docker 第二节.jenkins 配置自动化部署 1.界面配置 1.配置mave 2.配置gitee 第三节 创建springboot多模块项目 1.相关配置 1.pom 2.编写docke…

【面试题】作用域和闭包

1. 作用域 作用域是指变量的合法使用范围。 例如下图中,函数fn3内定义的变量a3,无法在函数fn3以外的区域使用。 作用域分为全局作用域,函数作用域,块级作用域(ES6新增) 全局作用域:变量没有受…

HTML+CSS+JS个人网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

MYSQL索引数据结构----B+树

索引数据结构的考量 我们在考虑数据结构的时候,应该首先要知道数据存放在哪里? 而MYSQL的数据是持久化的,所以其数据(数据记录索引)应该是保存在磁盘里面的。因此当我们要查询某条数据记录时,就会先从磁盘…

[附源码]计算机毕业设计JAVA某城市参军和退役军人信息管理系统

[附源码]计算机毕业设计JAVA某城市参军和退役军人信息管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&#xff…

一文理解Linux的基本指令(三分钟学会Linux基本指令)

前沿: 本文小马将把Linux一般比较常见的指令给大家一一列举出来,为了大家忘记某些指令后,可以方便查询记忆,再次小马建议,Linux指令并不需要去特别花时间专门记忆,只需要多进行操作实现就行! &a…

算法图解学习3 选择排序

random recording 随心记录 What seems to us as bitter trials are often blessings in disguise. 看起来对我们痛苦的试炼,常常是伪装起来的好运。 选择排序 内存工作原理 背景引入 假设你去看演出,需要将东西寄存。寄存处有一个柜子,柜子…

Go | 函数注意事项

细节汇总 函数的形参列表可以是多个,返回值列表也可以是多个形参列表和返回值列表的数据类型,可以是值类型、也可以是引用类型函数的命名遵循标识符命名规范,首字母不能是数字,首字母大写表示该函数可以被本包文件和其它文件使用…

在线就能设计电商主图的智能平台工具

商品要上新要如何设计新品主图?想设计简约分的主图素材在哪?下面小编教你使用这个在线工具乔拓云,工具内包含了设计主图用到的所有工具,还有海量的电商模板以及免扣素材,都是可以直接使用到主图设计中,不需…

Linux中线程的介绍

目录 一.线程概念 1.什么是线程 二.Linux进程与线程 三.pthread库 3.1线程创建 3.2线程等待 3.2线程终止 3.4分离线程 四.线程ID及进程地址空间布局 一.线程概念 1.什么是线程 1.在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是&…

2022亚太杯建模B题思路 : 高速列车的优化设计 小美赛数学建模 B题思路

1 B题:高速列车的优化设计 2022年4月12日,中国高铁复兴CR450多机组成功实现单列列车速度435 km/h,相对速度870 km/h,创造了高铁多机组列车穿越明线和隧道速度的世界纪录。新一代标准动车组“复兴”是中国自主研发的具有全知识产权…

外贸线上推广引流的技巧

外贸网站建成后,很多外贸企业通常会面临一个重要的问题。网站装修和产品布局都很漂亮,但是流量很小。由此可见,外贸网站的引流推广是非常重要的。接下来,米贸搜给大家分享一些外贸网站引流推广的技巧,让网站快速获得流…

浙里办微信小程序上架

一、概述 本指南旨在为“浙里办”单点登录组件提供接入指南,“浙里办”单点登陆组件,上架在IRS,为上架在IRS的应用,提供统一的单点登录解决方案,现阶段仅支持微信端的接入。 二、服务创建 IRS 应用管理员在 IRS 应用…

Kali系统MSF模块暴力破解MySQL弱口令漏洞

一、实验环境 1.攻击方: 攻击环境使用KALI系统(使用虚拟机搭建)的Metasploit模块,msfconsole是metasploit中的一个工具,它集成了很多漏洞的利用的脚本,并且使用起来很简单的网络安全工具。 这里要特别强…

代码随想录64——额外题目【哈希表、字符串】:205同构字符串、1002查找常用字符、925长键按入、844比较含退格的字符串

文章目录1.205同构字符串1.1.题目1.2.解答2.1002查找常用字符2.1.题目2.2.解答3.925长键按入3.1.题目3.2.解答4.844比较含退格的字符串4.1.题目4.2.解答4.2.1.使用栈4.2.2.从后往前双指针1.205同构字符串 参考:代码随想录,205同构字符串;力扣…