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

2024-01-18 11:52

本文主要是介绍阿赵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的地形系统要高级很多的。

这篇关于阿赵UE学习笔记——11、地形系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/618900

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻