Unreal地形高级材质之根据斜率分配材质

news2025/7/20 13:17:03

目的:根据地形的斜率来混合地形材质,制作地形时,当地形有高度抬升时,被拉伸部位的贴图会出现拉伸,或者想要在拉伸区域使用其他类型种类的贴图时。如果使用笔刷对地形进行更改是耗费时间的,所以想要整体一次性更改,需要使用高度融合节点HeighLerp 及材质层融合节点 MatLayerBlend_Standard 实现。

HeighLerp节点,材质函数,可双击进入查看逻辑。可以理解为 高度的线性插值。可以控制地形在高度上拉伸时,控制填充其他类型贴图高度范围。

MatLayerBlend_Standard节点,材质函数,可双击进入查看逻辑。可理解为顶层和基础层的混合。地形在高度上拉伸时,想象成一个高度内拥有两端及中间区域,需要两端显示的材质链接TopMaterial节点,中间拉伸部位显示的材质链接BaseMaterial节点,Alpha:插值系数

 

TopMaterial节点一般链接地形现有层材质即可。

拉伸区域的材质需要自定义材质函数。

 2 创建岩石材质函数(拉伸区域的材质需要自定义材质函数)(希望在地形高度差的位置上表现的材质)

1 创建一个材质函数

2 创建岩石材质函数

worldalignedtextures_complex 节点:

 

备注:在模型拉伸使想要让贴图跟随物体拉伸,进行平铺使用WorldAlignedTextures节点即可实现效果. 

 

在地形高度融合中,根据高度区域大小实现贴图平铺,需要使用WorldAlignedTextures_Complex节点完成,此节点是一个材质函数,官网没有解释。可以理解为 官方提供了一个规则,让我们直接按照规则使用。

将材质蓝图中的贴图转换为纹理对象,不同类型的贴图与WorldAlignedTextures_Complex中对应节点链接。
 

注意:所有连接到WorldAlignedTextures_Complex节点的贴图输入项后边括号内标有(T2d)的都要转为2d纹理(选中贴图右键“转换为纹理对象”)

 使用worldAlignedTextures节点设置后无法直接进行输出,需要使用制作材质属性节点(MakeMaterialAttributes)来输出

如果需要再额外输出ao等信息需要新建output节点

注意这里处理UV贴图重复度的方式~  第三个参数TextureSize是UV重复度值,我们需要外部将此参数值传入,需要创建输入节点命名为 UV重复度,控制板搜索input选择FunctionInput。将节点类型更改为函数输入标量(实际上就是个一维)。x默认值设置成300。

 

 最后使用时候需要创建一个函数从这里输入tilling值,如果这里没有输入则使用节点上的默认值。

 

 最后岩石材质函数节点

3 然后创建普通地表贴图的材质函数:(草地之类的)

1创建材质函数:

2地表贴图的材质

4 地面材质蓝图公式:

创建一个材质球,将两个岩石材质函数拖入,创建一个一维参数节点(命名:小岩石贴图大小)连接到小岩石材质函数的Tiling(这里如果不输入参数的话贴图大小就默认制作材质函数时输入的x:800为默认参数);

      创建一个LinearInterpolate(简:Lerp 线性插值),三维常量和一维参数节点(小岩石法线混合值),将三维常量连接到Lerpde的A点并设B通道为1,将小岩石材质函数的Normal连接到B点,一维参数节点连入Alpha通道;
      创建一个Transform(空间转换,将线性空间转换代世界空间),选中Transform节点在细节面板的Source选项改为‘Tangent Space’,Destination选项改为‘World Space’;z再将Lerp连接到Transform 
      转换到世界空间后Transform的数值范围是无穷大的,所以需要一个归一化节点Normalize约束一下数值在一定范围内(0-1);
      创建一个DotProduct(简:Dot)将Normalize节点连接到A点,再把刚刚创建的三维常量节点连接B点,这样是世界空间与原始数据对比;
将得出的对比数据连接到ConstantBiasScale节点(常量偏差比例);

创建一个Layer Blend节点将绘的材质函数连接起来,有几个残值函数添加几个混合层,每个混合层的混合模式改为高度混合(Blend Type: LB Height Blend),还要设置每个绘制层的混合权重(Preview Weight);

 

 

 

最后完整的材质节点图:

然后创建材质实例,赋予地形就OK~

enjoy~  地形坡度两层岩石地表混合方式完成~    

下面为简单的地形坡度地表混合节点图:

地表节点图

高度范围值逻辑

完整的材质节点图

 

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

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

相关文章

数据结构中的树和二叉树(0基础讲解+代码)

树和二叉树树的定义树的一些基本概念树的代码链接方式二叉树完全二叉树和满二叉树二叉树的性质链式二叉树前序遍历后序遍历中序遍历层序遍历二叉树的深度二叉树第k层的结点个数二叉树的叶子节点个数总结前言:前面我们所学习的数据结构比如链表,顺序表&am…

【博客542】k8s使用EndpointSlices扩展大规模service后端服务数量

k8s使用EndpointSlices扩展大规模service后端服务数量 EndpointSlices 端点切片(EndpointSlices) 提供了一种简单的方法来跟踪 Kubernetes 集群中的网络端点(network endpoints)。 它们为 Endpoints 提供了一种可扩缩和可拓展的替…

长时间序列模型DLinear(代码解析)

前言 今年时间序列SOTA,DLinear模型,论文下载链接,也可以看我写的论文解析当然最好是读原文。Dlinear,NLinear模型Github项目地址,下载项目文件这里提供我写过注释的项目文件,下载地址 参数设定模块(run_…

图神经网络之预训练大模型结合:ERNIESage在链接预测任务应用

1.ERNIESage运行实例介绍(1.8x版本) 本项目原链接:https://aistudio.baidu.com/aistudio/projectdetail/5097085?contributionType1 本项目主要是为了直接提供一个可以运行ERNIESage模型的环境, https://github.com/PaddlePaddle/PGL/blob/develop/e…

笔记redis

redis特点: 1.这些数据类型都支持 push/pop. add/remove 及取交集并集和差集及更丰富的操作 2.Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件中进行持久化 3.单线路IO多路复用 4.redis操作是原子性操作 redis 单线程模型: Redis 内…

chrome插件开发(manifest_version版本V3 + Ant Design Vue)

1.什么是 Chrome 插件 谷歌浏览器插件是一种小型的定制浏览器体验的程序,通过插件可以自定义浏览器的一些行为来适合个人的需求,例如上面的查看服务器状态插件。 在应用商店中下载下来的插件基本上都是以.crx 为文件后缀,该文件其实就是一个…

Word2Vec

Word2Vec 在自然语言发展的早期阶段,词的表示经历了不断地发展和改进,直到后来有一种word vector的思想被提出以及后续的实现,才极大地促进了NLP的发展。 word vector的核心思想: 为每个单词构建一个密集向量,选择后…

傻白入门芯片设计,先进封装技术(五)

集成电路芯片与封装之间是不可分割的整体。没有一个芯片可以不用封装就能正常工作,封装对芯片来说是必不可少的,随着IC生产技术的进步,封装技术也不断更新换代,每一代IC都与新一代的IC封装技术紧密相连。 一、什么是封装&#xf…

什么蓝牙耳机颜值高音质好?颜值高音质好的蓝牙耳机推荐

朋友让我推荐蓝牙耳机的时候,总是喜欢问哪款蓝牙耳机的性能更强,想要直接入手那款性能更强的蓝牙耳机,以此节省对比的时间。但是用户自行进行对比的步骤,显然是不能省的,所以今天我给四款蓝牙耳机做了横向对比&#xf…

C语言tips-NULL指针和void指针

0.写在最前 最近因为工作需要开始重新学c语言,越学越发现c语言深不可测,当初用python轻轻松松处理的一些数据,但是c语言写起来却异常的复杂,这个板块就记录一下我的c语言复习之路 1. void指针 1.1 解释 void 用在函数定义中可以表…

身份安全风险分析

摘要 从勒索软件到 APT,身份风险是重要的攻击向量。 管理 Active Directory 的复杂性,导致所有组织都存在1/6的可利用的特权身份风险。 这些身份风险包括使用过时密码的本地管理员、具有不必要权限的错误配置用户、在终端上暴露的缓存凭据等。 当攻击者…

让学前端不再害怕英语单词(四)

|| 欢迎关注csdn前端领域博主: 前端小王hs || email: 337674757qq.com || 前端交流群: 598778642前三章直通车↓↓↓ 让学前端不再害怕英语单词(一) 让学前端不再害怕英语单词(二) 让学前端不再害怕英语单词&#xff0…

单目标应用:最有价值球员算法(Most Valuable Player Algorithm,MVPA)求解旅行商问题TSP

一、最有价值球员算法 最有价值球员算法(Most Valuable Player Algorithm,MVPA)由Bouchekara 等人于2017年提出,该算法受到体育比赛的启发,球员们为了赢得冠军而组成队伍进行队伍竞争,他们也为了赢得最有价…

使用VMware安装系统Window、Linux操作系统

使用VMware安装系统Window、Linux操作系统 下载镜像文件打开VMware 下载镜像文件地址或链接: Windows全家桶镜像文件下载网站:msdn.itellyou.cnWindows 10 种子文件 ed2k://|file|cn_windows_10_business_editions_version_1803_updated_aug_2019_x64_dv…

Js逆向教程-14反调试

Js逆向教程-14反调试 一、检测是否在调试 键盘监听(F12)检测浏览器的高度插值检测开发者人员工具变量是否为true利用console.log调用次数利用代码运行的时间差利用toString检测非浏览器 二、显性 2.1 debugger: function xx() {debugger;…

盘点re:Invent历年重磅创新:今年亚马逊云科技又将有哪些重磅发布?

“云计算春晚”re:Invent即将开幕,这一次亚马逊云科技会带来哪些重磅发布? 一年一度的亚马逊云科技re:Invent大会即将在下周开幕。作为云计算行业的顶级盛事,亚马逊云科技re:Invent大会看出云计算领域创新的风向标,也…

QQ小程序——无法正常创建项目与uniapp联动问题

目录 一、使用QQ小程序开发者工具无法创建项目 情境引入 检查原因 解决方法 总结: 二、QQ小程序开发者工具无法与uniapp联动 情境导入 问题排错 解决方法 三、QQ小程序开发者工具无法正常上传 情境导入 错误分析 解决方法 心得分享 分清工作和学习的区别…

运动耳机什么牌子的好,推荐几款排行靠前的耳机

骨传导耳机近些年在耳机界迅速燃起,其设计原理是由贝多芬含棍棒发声所启发,而佩戴骨传导耳机主要是为了防止细菌在耳道内的滋生,除此之外骨传导耳机的佩戴方式也是直接将耳机套在头骨处即可完成佩戴,不用进入耳道,能够…

【torch-sparse及pytorch-geometric 安装】

torch-sparse及pytorch-geometric 安装 pip安装完pytorch-geometric之后,报错No module named torch_sparse 然后安装pip安装torch-sparse,结果报错,百度一下怎么安装,无果,转战官方文档,成功! …

实验讲解-线程池停止执行任务 Executor.execute shutdown awaitTermination shutdownNow()

1 Executor.execute public interface Executor { 在将来的某个时间执行给定的可运行的任务。该可运行的任务可以在新线程、池线程或调用线程中执行,由Executor实现决定。 参数: command–可运行的任务 投掷: RejectedExecutionException–…