UE5 - UI Material Lab 学习笔记

news2024/11/13 9:42:02

1、学习资料收集

UI Material Lab : https://www.unrealengine.com/marketplace/zh-CN/product/ui-material-lab
视频1:https://www.bilibili.com/video/BV1Hm4y1t7Kn/?spm_id_from=333.337.search-card.all.click&vd_source=707ec8983cc32e6e065d5496a7f79ee6
视频2(1小时多):https://www.bilibili.com/video/BV1hh41177G2/?spm_id_from=333.337.search-card.all.click&vd_source=707ec8983cc32e6e065d5496a7f79ee6
官方教学:https://dev.epicgames.com/community/learning/tutorials/Wz8V/unreal-engine-intuitive-material-building-with-the-ui-material-lab-part-1 内容为视频2部分,有其他图文资料
其他视频:https://www.youtube.com/watch?v=eeedwACiTO4
其他视频:https://www.youtube.com/watch?v=8VwS8mBCUSk


2、UI Material Lab 介绍

https://www.bilibili.com/video/BV1Hm4y1t7Kn/?spm_id_from=333.337.search-card.all.click&vd_source=707ec8983cc32e6e065d5496a7f79ee6

  • Transforms:各类形变(动画、缩放、对称、旋转、填充)
    在这里插入图片描述

  • Gradients:曲线(线型、角度、射线、映射、方形切割)
    在这里插入图片描述

  • Time:时间(线性、Ease、时间效果)
    在这里插入图片描述

  • SDFs:距离力场(距离、布尔、形状、波纹、效果)
    在这里插入图片描述

  • Masks:遮罩(遮蔽、风扇、旋转、环、格子、射线)
    在这里插入图片描述

  • Patterns:图案(栅格、装饰线条、六角形、网格)
    在这里插入图片描述

  • Distortions:扭曲(倾斜、歪斜、极坐标、波浪、UV)
    在这里插入图片描述

  • Utilities:其他(随机、像素、阶梯、乒乓)
    在这里插入图片描述

  • Applications:应用
    在这里插入图片描述


3、UI Material Lab 技术说明

https://www.bilibili.com/video/BV1hh41177G2/?spm_id_from=333.337.search-card.all.click&vd_source=707ec8983cc32e6e065d5496a7f79ee6

3.1、基本介绍

  • UV:TexCoord、GetUserInterfaceUV
  • Material functions:把重复的节点做成函数,MF_UI_SDF_Circel与MF_UI_RemappableGradient等函数,有很多输入可以配置,完成一些效果
  • 材质与动画组合使用:使用Controls,结合Animations实现动画

3.2、节点基础介绍

  • 用MF_UI_SDF_Box,输入Size、Stroke thickness、KeepAspectRatio,输出Outline,形成一个正方形边框
    在这里插入图片描述
  • 使用CustomRotator、MF_UI_Scale,调整UV旋转和大小,形成菱形边框
    在这里插入图片描述
  • 使用MF_UI_SquareGradient,实现一个4格的效果;这里注意UVs变量的使用,不同与一些材质系统,这里不是完全连成一条线的
    在这里插入图片描述
  • 继续在下方UVs处理里,加入MF_UI_LinearTime、Step、progress mark(变量)等处理,形成动画
    在这里插入图片描述
  • 在Material输出前,加入progress mask+Min,形成菱形边框动画效果
    在这里插入图片描述
  • 继续细分,生成2个粗细不同的菱形边框,一个组合遮罩动画后,和另一个组合的效果
    在这里插入图片描述
  • 继续组合
    在这里插入图片描述
  • 使用Lerp,即透明度从0-1过渡,颜色从A-B过渡,的方式,给图像上色,之后再透明度遮罩后,出现效果
    在这里插入图片描述

这个例子展现了UI Material Lab的一些不同之处,一个是节点之间可以通过变量的形式进行跳转,有点像蓝图;一个是MF_开头的预设好的处理函数可以使用


4、利用UI Material Lab 做L屏幕软透视效果

L屏幕的透视,是把下面的屏幕做一个倒金字塔(梯形)内缩,当站在L屏前看时,就有了透视效果,效果大致如下
在这里插入图片描述

  • 需要在项目的相机里加入SceneCaptureComponent2D,并新增一个Render Target,绑定
    在这里插入图片描述

在这里插入图片描述

  • 建立2个Material,top负责上面部分(遮盖),dowm负责下面部分(倒梯形)
    在这里插入图片描述
  • 顶部Material,建立一个Box,设置大小与位置,遮罩住的显示
    在这里插入图片描述
  • 底部Material
  • Scale数值是根据Skew数值与屏幕中线比例数值共同决定的,0.5这个数值是Skew透视变量,需要不断调整,以达到透视效果
  • 目前不了解Skew的具体算法,但是可以通过调整Skew amount参数来决定透视度,调整MF_UI_Scale的Scale参数,来达到画面衔接问题
    在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/bc5dc473ba3e4069be1cc8880b5fe0bb.png在这里插入图片描述

  • 最后就是把这2个Shader放到UMG里面
    在这里插入图片描述

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

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

相关文章

FDTD自定义材料

官方原文档链接 该文档内容摘自原文档及相关链接 从txt导入材料数据 各项同性材料的3Dmaterials数据 txt文件中应包含以下三列。第一列为波长或频率;第二列为折射率或介电常数实部;第三列为折射率或介电常数虚部。 420 5.08894 0.237724 440 4.78…

性能测试场景的设计方法

作者|李文,自如-质量中心 来源|自如技术公众号 背景 引用:根据2008年Aberdeen Group的研究报告,对于Web网站,1秒的页面加载延迟相当于少了11%的PV(page view),相当于降低…

Unity--互动组件(Toggle Group)||Unity--互动组件(Slider)

Toggle Group 属于同一组的切换开关受到限制,因此一次只能打开其中一个开关,按下其中一个开关时,其他的开关将会自动关闭; Allow Switch Off:(允许关闭) 如果禁用此设置,则按下当前…

Hadoop的概述

1、Hadoop的发展史: Google首先发布三篇文章:GFS(Google File System)、Mapreduce(计算引擎)、Bigtable ,随着时间的推移: hadoop1.0与2.0 的区别是在2.0的版本中出现了yarn,主要是负责资源的调…

【轨道机器人】实现Windows与下位机串口通信(未完成)

方案一:QT,编写类似串口调试助手的APP,连接上硬件,qt有个好像是串口缓存函数,可以防止占用CPU。(缺点qt估计要时间学) 方案二:利用vscode、C,编写一个可执行exe文件&…

面向对象和原型/原型链学习

##构造函数执行的机制 函数的其中一个作用,就是构造函数. ###new关键字 1.创建一个对象; 2.这个对象的原型,可以看到这个Function 3.该对象,实现了这个构造函数的方法. 4.根据一些特定情况,返回: (1)如果没有返回值,就返回一个对象; (2)如果返回一个基本类型,则还是返回…

利用Vue+Echarts完成可视化任务

文章目录 任务一:用柱状图展示消费额最高的省份(一)提出任务(二)准备工作1、利用postman访问接口数据2、安装node.js3、输入更换镜像源为淘宝源4、清除npm缓存5、安装vue脚手架 任务一:用柱状图展示消费额最…

2023.11.15-hivesql之炸裂函数explode练习

把一个容器的多个数据炸裂出单独展示: explode(容器) 需求:将NBA总冠军球队数据使用explode进行拆分&#xff0c;并且根据夺冠年份进行倒序排序。 1.建表 --step1:建表 create table the_nba_championship(team_name string,champion_year array<string> ) row format…

手摸手入门Springboot2.7集成Swagger2.9.2

环境介绍 技术栈 springbootmybatis-plusmysqloracleSwagger 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 1.8 Spring Boot 2.7.13 mybatis-plus 3.5.3.2 REST软件架构风格 REST即表述性状态传递&#xff08;英文&#xff1a;Representational State T…

【informer】 时间序列的预测学习 2021 AAAI best paper

文章目录 前言1.引入2.数据集训练 前言 数据集 https://github.com/zhouhaoyi/ETDataset/blob/main/README_CN.md 代码&#xff1a;https://github.com/zhouhaoyi/Informer2020#reproducibility 21年的paper:https://arxiv.org/pdf/2012.07436.pdf 论文在代码上有连接&#xf…

Promise 重写 (第一部分)

学习关键语句&#xff1a; promise 重写 写在前面 重新学习了怎么重写 promise &#xff0c; 我觉得最重要的就是要有思路&#xff0c;不然有些 A 规范是完全想不到的 开始 重写函数的过程中, 最重要的是有思路 我们从哪里获取重写思路? 从正常的代码中 我们先看正常的代码…

C语言判断水仙花数(ZZULIOJ1027:判断水仙花数)

题目描述 春天是鲜花的季节&#xff0c;水仙花就是其中最迷人的代表&#xff0c;数学上有个水仙花数&#xff0c;他是这样定义的&#xff1a;“水仙花数”是指一个三位数&#xff0c;它的各位数字的立方和等于其本身&#xff0c;比如153135333。 现在要求输入一个三位数&#…

delete 与 truncate 命令的区别

直接去看原文 原文链接:【SQL】delete 与 truncate 命令的区别_truncate和delete的区别-CSDN博客 -------------------------------------------------------------------------------------------------------------------------------- 1. 相同点 二者都能删除表中的数据…

不敢信,30+岁的项目经理会是这样

大家好&#xff0c;我是老原。 你们知道&#xff0c;每个阶段的项目经理都是什么样的吗&#xff1f; 20多岁时&#xff0c;刚踏入项目管理的你可能是个什么都不懂的职场小白&#xff0c;或者只能在旁边打打下手&#xff1b; 到了30岁&#xff0c;经历了项目的人情冷暖&#…

QT中的鼠标事件

鼠标追踪打开后进去一动就显示

我把微信群聊机器人项目开源

▍PART 序 开源项目地址》InsCode - 让你的灵感立刻落地 目前支持的回复 ["抽签", "天气", "讲笑话", "讲情话", "梦到", "解第", "动漫图", "去水印-", "历史今天", "星座-…

Linux控制---进程程序替换

前言&#xff1a;前面我们学洗了Linux进程退出的相关知识&#xff0c;了解了什么是进程退出&#xff0c;已经进程等待的相关话题&#xff0c;今天&#xff0c;我们来学习Linux中的进程程序替换&#xff0c;进程程序替换在Linux中可以用于实现新程序的启动、程序升级、多进程程序…

k8s-集群升级 2

在每个集群节点都安装部署cir-docker 配置cri-docker 升级master节点 导入镜像到本地并将其上传到仓库 修改节点套接字 升级kubelet 注&#xff1a;先腾空后进行升级&#xff0c;顺序不能搞反&#xff0c;否则会导致严重问题 配置kubelet使用cri-docker 解除节点保护 升级wor…

传统企业如何利用软文营销突破重围

数字经济的发展让企业有了更多发展的可能&#xff0c;通过线下线上齐发展能够助力企业推广品牌&#xff0c;获得不错的销量。传统的线下门店销售在数字化时代下还是有一定的局限性&#xff0c;转型只是时间问题&#xff0c;然而有些企业在面对网络营销的时候却束手无策&#xf…

11.15 知识总结(模板层、模型层)

一、 模板层 1.1 过滤器 1.什么是过滤器&#xff1f; 过滤器类似于python的内置函数&#xff0c;用来把变量值加以修饰后再显示。 2. 语法 1、 {{ 变量名|过滤器名 }} 2、链式调用&#xff1a;上一个过滤器的结果继续被下一个过滤器处理 {{ 变量名|过滤器1|过滤器2 }} 3、有的过…