阿赵UE学习笔记——11、地形系统

阿赵UE学习笔记目录

  大家好,我是阿赵。
  继续学习虚幻引擎的用法,这次来学习一下虚幻引擎的地形系统的用法。

一、创建地形

  在选项模式里面,选择地形:
在这里插入图片描述

  进入到地形界面之后,需要先创建一个地形:
在这里插入图片描述

  留意看看创建地形时候的参数,这个很重要:
在这里插入图片描述

  把默认的参数改到最低,可以帮助理解这个格子的概念:
在这里插入图片描述

  这里指的是,每一块面片里面有7x7个小格子,然后总共有1x1块格子。
  然后调大一点参数:
在这里插入图片描述

  这个时候,变成了15x15,在每个小格子大小没有变化的情况下,一个大格子里面包含了15x15个小格子。所以每个大格子的面积也就变大了。
  如果保持7x7不变,下面变成了2x2,现在还是只有一个面片,一个面片里面就包含了2个7x7的小格子。
在这里插入图片描述

  最后修改一下,上面的参数都是最低的,然后把组件数量变成2x2,这个时候,看起来好像和刚才差不多,但意义变得不一样,因为现在变成了有4个面片,也就是4个组件,然后每个组件是7x7的小格子。看最下面的总组件数,现在也变成了4。
在这里插入图片描述

  现在可以新建试试:
在这里插入图片描述

  创建出来的地形,每一个面片都是可以单独选择的,刚才我选择了2x2组件,所以实际上是4个组件。
在这里插入图片描述

二、雕刻地形

  接下来要让地形产生变形,选择雕刻页签。
在这里插入图片描述

  下面可以选择笔刷的各种参数
在这里插入图片描述

  然后就可以在地形上面刷出高度了
在这里插入图片描述

三、控制地形范围

  由于为了刷出更大范围的地形,我刚才创建的时候,选择了很多个组件,所以现在有很多个面片在地形里面
在这里插入图片描述

  但很多时候,我们刷完地形之后,发现有些面片已经不需要使用,在实际的范围以外,这个时候,可以选择这些面片:
在这里插入图片描述

  选择删除:
在这里插入图片描述

  这个时候,地形就只剩下我需要的面片,不需要的就删除掉了:
在这里插入图片描述

  如果发现地形范围不够,也是可以添加的:
在这里插入图片描述

  选择添加,然后在地形外点击,就会创建出新的面片组件。
在这里插入图片描述

四、绘制地形纹理

  之前介绍过Blender混合材质的用法,但这个混合材质在地形上是不能使用的。
  然后看看地形本身的绘制功能,选择绘制页签,会发现什么都没得选择,把刷子放到地形上拖动,也没有任何变化。
在这里插入图片描述

  这是因为,地形刷纹理功能,是依赖于地形本身的材质的。
  接下来创建一个可以刷2层地形纹理的材质,在内容浏览器新建一个材质,命名为TerrainMat2Layer:
在这里插入图片描述
在这里插入图片描述

  双击打开材质,把2种不同的纹理贴图包括法线贴图拖到材质里面:
在这里插入图片描述

  这个时候,不要直接把贴图拖到最终输出节点,而是创建2个材质属性节点,右键搜索makeMaterialAttributes:
在这里插入图片描述

  创建了2个材质属性节点之后,分别把刚才的2套贴图连上去:
在这里插入图片描述

  接下来再创建一个LandscapeLayerBlend地形层混合节点:
在这里插入图片描述
在这里插入图片描述

  创建了这个节点之后,选择节点,在节点属性的图层里面,添加2个图层:
在这里插入图片描述

  两个图层分别命名为tex1和tex2
在这里插入图片描述

  这个时候,会发现混合节点多了2个输入接口,这时候可以把刚才2套贴图的材质属性输入到这两个接口:
在这里插入图片描述

  选择最终输出节点,在属性里面,把使用材质属性的选项勾选上:
在这里插入图片描述

  这个时候,会发现最终输出节点的那些属性输入接口全部部件了,只剩下一个材质属性的接口,把图层混合节点的输出,连接到这个接口:
在这里插入图片描述

  材质已经做好了,接下来就把这个材质创建一个材质实例:
在这里插入图片描述

  并且赋给地形:
在这里插入图片描述

  这个时候,会看到地形是一片漆黑的:
在这里插入图片描述

  选择绘制页签,找到最下面的层,会发现刚才在材质里面创建的2个layer,tex1和tex2在里面:
在这里插入图片描述

  不过这个时候还不能刷效果,要先给层加上权重数据:
在这里插入图片描述

  引擎会提示选择保存路径:
在这里插入图片描述

  保存好之后,会发现地形不再是一片漆黑了,而是有了第一层tex1里面的贴图纹理效果:
在这里插入图片描述

  然后选择第二个层,就可以在地图上面绘制纹理了。
在这里插入图片描述

  笔刷的大小,可以在绘制面板里面调节。调节笔刷大小的快捷键依然是中括号。
在这里插入图片描述

  从这个刷地形纹理的过程,可以感觉到,UE的地形纹理刷,似乎并没有Unity那么方便,Unity是不需要额外写Shader,直接拖几张贴图进去,就可以开始刷了。但从另外一个角度可以看出,实际上UE地形纹理的效果是可以更复杂多变,只要编写材质,就可以实现更多的效果。这一点,感觉是比Unity的地形系统要高级很多的。

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

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

相关文章

TensorRT部署-Windows环境配置

系列文章目录 文章目录 系列文章目录前言一、安装Visual Studio (2019)二、下载和安装nvidia显卡驱动三、下载CUDA四、下载安装cuDNN五、安装Anaconda六、TensorRT安装七、安装Opencv八、Cmake 配置总结 前言 TensorRT部署-Windows环境配置 一、安装Vis…

nginx+lua配置,一个域名配置https,docker集群使用

没安装kua的先安装lua 没有resty.http模块的,许配置 nginxlua配置,一个域名配置https,docker集群使用,一个域名配置https管理整个集群 lua做转发(方向代理) 1、ad_load.lua文件 ngx.header.content_typ…

C++中的预处理

一.预定义符号 1.__FILE__进行编译的源文件 2.__LINE__文件当前的行号 3.__DATE__文件被编译的日期 4.__TIME文件被编译的时间 5.__STDC__如果编译器遵循ANSIC,其值为1,否则未定义 二.#define 基本语法:#define 名字 内容 eg.define M 1 经#define定义的常量时不经过…

Servlet系列两种创建方式

一、使用web.xml的方式配置(Servlet2.5之前使用) 在早期版本的Java EE中,可以使用XML配置文件来定义Servlet。在web.xml文件中,可以定义Servlet的名称、类名、初始化参数等。然后,在Java代码中实现Servlet接口&#x…

基于NLP的恶意网页识别

基于NLP的恶意网页识别 基于NLP的恶意网页识别引言项目目录回顾优化HTML标签提取结果使用预训练模型Fine-tune数据处理和模型训练模型训练与评估模型导出部署与预测总结 基于NLP的恶意网页识别 引言 欢迎阅读《 基于NLP的恶意网页识别》,在前三篇中,我…

VS+QT编译环境中字符乱码问题详解

字符乱码问题详解 1 编码字符集与字符编码方式2 字符乱码原因3 字符乱码解决方案 在解释字符乱码问题之前,我们需要先理清一些基本概念 1 编码字符集与字符编码方式 编码字符集 编码字符集是所有字符以及对应代码值的集合。编码字符集中的每个字符都对应一个唯一的…

npm换源

检查现在的源地址 npm config get registry 使用淘宝镜像 npm config set registry https://registry.npm.taobao.org 使用官方镜像 npm config set registry https://registry.npmjs.org/

jeecgboot 前端bug or 后端 看图

无法显示文本 只能显示value 很恶心 如果用 varchar 就可以 不知道有没有别的方式 用int 解决 ,可能是我没有发现好的方法

渗透测试之如何部署和使用Supershell

环境: Supershell v2.0.0 Centos 7.6 docker v. 21 问题描述: 如何部署和使用Supershell 解决方案: 1、下载最新release源码,解压后进入项目目录 wget https://github.com/tdragon6/Supershell/releases/latest/download/Supershell.tar.gz如果在线下很慢,用浏览…

Day36 贪心算法 part05 435. 无重叠区间 763. 划分字母区间 56. 合并区间

贪心算法 part05 435. 无重叠区间 763. 划分字母区间 56. 合并区间 435. 无重叠区间 class Solution { private:bool static Compare(const vector<int>& a, const vector<int>& b){return a[0] <b[0];} public:int eraseOverlapIntervals(vector<…

测试驱动开发:基于Jenkins+GoTest+HTML的持续化集成

目录 前言 一、项目框架 1.项目迭代 2.项目时序图 3.项目测试执行 二、项目具体实现 1.创建流水线 2.拉取代码 3.执行测试代码 4.生成测试报告 5.报告内容解读 6.数据统计 7.邮件通知 8.企业微信通知 三、项目遇到的问题 1.go test -args 2.go test生…

【Qt】Qt配置

需要云服务器等云产品来学习Linux的同学可以移步/-->腾讯云<--/-->阿里云<--/-->华为云<--/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;新用户首次下单享超低折扣。 目录 一、Qt SDK下载 二、配置环境变量 三、新建工程(QWidget) 四、QWidg…

Redis需要掌握的知识点总结,包括Redis适用场景、持久化、集群、分区、哨兵、缓存穿透

什么是redis&#xff1f; Redis 本质上是一个 Key-Value 类型的内存数据库&#xff0c; 整个数据库加载在内存当中进行操作&#xff0c; 定期通过异步操作把数据库数据 flush 到硬盘上进行保存。 因为是纯内存操作&#xff0c; Redis 的性能非常出色&#xff0c; 每秒可以处理…

Kafka-消费者-KafkaConsumer分析-SubscriptionState

KafkaConsumer从Kafka拉取消息时发送的请求是FetchRequest(具体格式后面介绍),在其中需要指定消费者希望拉取的起始消息的offset。 为了消费者快速获取这个值&#xff0c;KafkaConsumer使用SubscriptionState来追踪TopicPartition与offset对应关系。 图展示了SubscriptionSta…

物联网与智慧城市的无界未来:如何打破传统束缚,开启智能生活新篇章

目录 一、物联网&#xff1a;连接万物的技术革命 1、物联网的发展历程 2、物联网的核心技术 二、智慧城市&#xff1a;未来城市的蓝图与挑战 1、智慧城市的蓝图 2、智慧城市建设面临的挑战 3、应对挑战的措施 三、物联网与智慧城市的融合&#xff1a;打破传统束缚&…

Android Matrix绘制PaintDrawable设置BitmapShader,手指触点为圆心scale放大原图,Kotlin

Android Matrix绘制PaintDrawable设置BitmapShader&#xff0c;手指触点为圆心scale放大原图&#xff0c;Kotlin 在 Android基于Matrix绘制PaintDrawable设置BitmapShader&#xff0c;以手指触点为中心显示原图的圆切图&#xff0c;Kotlin&#xff08;4&#xff09;-CSDN博客 的…

使用 Neo4j 和 LangChain 集成非结构化知识图增强 QA

目前基于大模型的信息检索有两种方法&#xff0c;一种是基于微调的方法&#xff0c;一种是基于 RAG 的方法。 信息检索和知识提取是一个不断发展的领域&#xff0c;随着大型语言模型&#xff08;LLM&#xff09;和知识图的出现&#xff0c;这一领域发生了显着的变化&#xff0…

SQL两表/多表关联查询--JOIN语句

一、基础概念 SQL中的关联是通过JOIN关键字实现的&#xff0c;JOIN关键字有几种类型&#xff0c;包括INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN等。 二、INNER JOIN详解 INNER JOIN是最常用的关联方式之一&#xff0c;它返回 两个表中共同存在的数据行。 其语法…

全球移动通信市场,正在经历哪些新变化?

2023年已经结束了。回顾这一年的全球移动通信市场&#xff0c;如果让我用一个词来总结&#xff0c;那就是——“厚积薄发”。 从表面上来看&#xff0c;似乎并没有什么大事情发生。但实际上&#xff0c;平静的湖面之下&#xff0c;却是一片波涛汹涌、风云激荡。 无论是消费互联…

第十一部分 隐含规则(三)

目录 一、定义模式规则 1、模式规则介绍 2、模式规则示例 3、自动化变量 4、模式的匹配 5、重载内建隐含规则 一、定义模式规则 你可以使用模式规则来定义一个隐含规则。一个模式规则就好像一个一般的规则&#xff0c;只是 在规则中&#xff0c;目标的定义需要有"%&…