UE4 材质学习笔记03(翻书(Flipbook)动画/环境混合)

news2024/11/30 18:51:08

一.FlipBook Animation

如果你想让游戏以每秒30帧的速度运行,所有内容都必须在33毫秒内渲染出来,

如果你想让游戏以每秒60帧的速度运行的话,必须在16毫秒内。

所以当一个效果需要很多细节的时候,往往会离线创建它,然后将这个效果的每一帧放到一张纹理上,之后通过shader回放每一帧

例如下面就是一个爆炸效果的每一帧

 材质编辑器里的FlipBook节点可以帮助我们播放每一帧,我们只需要连接时间节点以及行列数以及原来的UV,这个节点就可以给出我们合适的UV坐标来进行贴图采样。当我们将时间节点直接连接Animation phase的时候,默认每秒播放30帧,如果想要更改每秒播放的帧数,可以将时间节点乘上一个常数

但是接下来我们要不依靠FlipBook节点,自己来实现这个效果,这有利于我们了解FlipBook节点里面发生了什么,或者帮助我们改变效果或者做一些不同的东西。

要自己实现这个效果,首先就是缩小纹理,这个是使用乘法,这样就成功显示了第一帧的内容

接着要随时间增加变换UV坐标更换显示的图片。Floor函数可以将值向下取整。但是这样只有对角线上的图片

所以我们现在想让它按照每一行来播放,播放完一行就跳转到下一行。所以分别设置行数和列数,每当增加了六列以后行数就会加1,然后仍然将帧率设置成24

最终效果:

二.环境混合

在过去通常要给不同环境下的岩石都做一套纹理,然后就有了一堆不同的岩石资产,但是现在我们可以做的是我们可以创建一套岩石资产,然后根据岩石环境的不同来替换材质

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

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

相关文章

【Qt】控件概述(4)—— 输出类控件

输出类控件 1. QLineEdit——单行输入框2. QTextEdit——多行输入框3. QComboBox——下拉框4. QSpinBox——微调框5. QDateEdit && QTimeEdit && QDateTimeEdit6 QDial——旋钮7. QSlider——滑动条 1. QLineEdit——单行输入框 QLineEdit是一个单行的输入框&…

BUU刷题-Pwn-shanghai2018_baby_arm(ARM_ROP_csu_init,ARM架构入门)

解题思路: 泄露或修改内存数据: 堆地址:无需栈地址:无需libc地址:无需BSS段地址:无需 劫持程序执行流程:ARM_ROP && mprotect函数(运行内存权限修改) && [[ARM_ROP_csu_init]…

【AI自然语言处理应用】通义晓蜜CCAI

通义晓蜜CCAI-对话分析AIO 对话分析AIO,即对话分析all-in-one API,是基于深度调优的对话大模型, 为营销服类产品提供智能化升级所需的生成式摘要总结、质检、分析等能力的官方应用。 面向对象:开发者、自研企业、传统呼叫中心采购…

02 nth_element 与第k小

题目&#xff1a; 方案一&#xff1a;sort排序 #include<bits/stdc.h> using namespace std;int main() {int n;int k;cin>>n>>k;int a[n]{0};for(int i0;i<n;i){cin>>a[i];}sort(a,an); cout<<a[k]<<endl;}方案二&#xff1a;…

【机器学习(十一)】糖尿病数据集分类预测案例分析—XGBoost分类算法—Sentosa_DSML社区版

文章目录 一、XGBoost算法二、Python代码和Sentosa_DSML社区版算法实现对比(一) 数据读入和统计分析(二)数据预处理(三)模型训练与评估(四)模型可视化 三、总结 一、XGBoost算法 关于集成学习中的XGBoost算法原理&#xff0c;已经进行了介绍与总结&#xff0c;相关内容可参考【…

leetcode面试题17.04:消失的数字(C语言版)

思路1 先排序&#xff0c;再依次查找&#xff0c;如果下一个值不等于前一个1&#xff0c;那么下一个值就是消失数字。 时间复杂度分析&#xff1a;冒泡排序的时间复杂度为O(N^2)&#xff0c;qsort排序时间复杂度为O(N*logN)。因此该思路不可行。 思路2 求和0到N&#xff0c;再减…

Python爬虫使用实例-mdrama

一个Python爬虫使用实例&#xff1a;主要用于下载指定的剧集音频。分别从网页和json文件中获取剧集的title和剧集中所存在音频的id&#xff0c;调用you-get&#xff0c;最后自动重命名下载文件夹为剧集名title。 目标网址&#xff1a; https://www.missevan.com/mdrama/其中为…

【C++】关键字+命名空间

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解C的命名空间&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 一. 关键字二. 命名空间2.1 命名空间的定义2.2 命名空间的使用a. 命名空间名称作用域限定…

R包的安装、加载以及如何查看帮助文档

0x01 如何安装R包 一、通过R 内置函数安装&#xff08;常用&#xff09; 1.安装CRAN的R包 install.packages()是一个用于安装 R 包的重要函数。 语法&#xff1a;install.packages(pkgs, repos getOption("repos"),...) 其中&#xff1a; pkgs&#xff1a;要安…

SpringCloud Alibaba - Eureka注册中心,Nacos配置中心

Eureka 1、创建服务端 server:port: 8761 # eureka 默认端口spring:application:name: eureka-server # 应用名称&#xff08;微服务中建议必须定义应用名称&#xff09; SpringBootApplication EnableEurekaServer // 开启eureka注册中心功能 public class EurekaServerAppli…

二分查找一>山脉数组的峰顶索引

1.题目&#xff1a; 2.解析&#xff1a; 代码&#xff1a; public int peakIndexInMountainArray(int[] arr) {int left 1, right arr.length-2;while(left < right) {int mid left (right-left1) / 2;if(arr[mid] > arr[mid-1]) left mid;else right mid-1;}ret…

【记录】Excel|Excel 打印成 PDF 页数太多怎么办

【记录】Excel&#xff5c;解决 Excel 打印成 PDF 页数过多的问题 文章目录 【记录】Excel&#xff5c;解决 Excel 打印成 PDF 页数过多的问题方法一&#xff1a;调整页边距WPS OfficeMicrosoft Excel 方法二&#xff1a;优化页面布局调整列宽和行高使用“页面布局”视图合并单…

Markdown实用语法汇总

说明&#xff1a; 本来只展示本人常用的、markdown特有优势的一些语法。表格输入markdown的弱项&#xff0c;不作介绍&#xff0c;借助软件创建即可。引用图片、音频、视频等&#xff0c;虽然很方便&#xff0c;但是内容集成度不高&#xff0c;需要上传发布的时候很不方便&…

[单master节点k8s部署]29.Istio流量管理(五)

测试istio熔断管理。 采用httpbin镜像和fortio镜像&#xff0c;其中httpbin作为服务端&#xff0c;fortio是请求端。这两个的配置yaml文件都在istio的samples/httpbin目录下&#xff0c;fortio的配置文件在samples-client目录下。 [rootmaster httpbin]# ls gateway-api ht…

七、Drf版本组件

七、版本组件 7.1基于GET请求 #url.py urlpatterns [ path(home/,views.HomeView.as_view(),namehome), ]#setting.py REST_FRAMEWORK {#定义版本号的名称&#xff0c;默认为versionVERSION_PARAM:version, #允许的版本号值&#xff0c;如果前端传递过来的版本号的值不在…

工具使用总结之(三) SecureCRT 设置日志自动保存

SecureCRT工具设置日志自动保存方法 1、双击打开SecureCRT工具 2、打开依次打开选项-》会话选项-》日志文件 3、按照如下截图方法进行配置&#xff0c;然后确定保存即可 [%Y%M%D_%h:%m:%s] [%Y%M%D_%h:%m:%s] [%h:%m:%s.%t]

统一 SASE 架构中的网络和安全融合

网络威胁情报技术的进步 传统的网络边界一片混乱&#xff0c;剩下的只是无人管理的设备、分散在私有云和公共云中的资产、无法读取的应用程序流量泛滥&#xff0c;混合工作结构正在给现有网络的功能带来压力。 更重要的是&#xff0c;这些问题早在生成式人工智能和大型语言模…

Nginx的核心架构和设计原理

Nginx 是一个免费的、开源的、高性能 Http 服务器和反向代理。Nginx 的架构设计是为了提供高性能、稳定性和可扩展性。 Nginx 的主要架构组件和工作原理&#xff1a; 1、Master 进程&#xff1a;Nginx 的运行始于一个 master 进程&#xff0c;它负责管理所有的工作进程。mast…

【C++差分数组】1526. 形成目标数组的子数组最少增加次数|1872

本文涉及知识点 C差分数组 LeetCode1526. 形成目标数组的子数组最少增加次数 给你一个整数数组 target 和一个数组 initial &#xff0c;initial 数组与 target 数组有同样的维度&#xff0c;且一开始全部为 0 。 请你返回从 initial 得到 target 的最少操作次数&#xff0c…

WSL2Linux 子系统(十二)

wsl 子系统安装 cuda 环境 《WSL2Linux 子系统(十一)》讲述 WSL 网络转为桥接模式的两种方法&#xff0c;WSL 网络桥接模式无论是静态 IP 还是动态分配 IP 均支持。本篇文章则是简单讲述 WSL 安装 cuda 环境。 作者&#xff1a;炭烤毛蛋 &#xff0c;点击博主了解更多。 提示…