【UE5.1】程序化生成Nanite植被
目录
效果
步骤
一、下载Gaea软件和树林资产
二、使用Gaea生成贴图
三、 生成地形
四、生成草地
五、生成树林
六、生成湖泊
七、其它功能介绍
7.1 调整树林生成的面积
7.2 让植物随风飘动
7.3 玩家和植物互动
7.4 雪中树林
7.5 环境音效
效果
步骤
一、下载Gaea软件和树林资产
Gaea链接:https://pan.baidu.com/s/1ZOjHW20MUL10Mynx0rQNTQ?pwd=j8jw 提取码:j8jw
树林链接:https://pan.baidu.com/s/11XpHnS_zvZG4BupN3ahyRA?pwd=dr61 提取码:dr61
二、使用Gaea生成贴图
打开Gaea软件,选择一个地形“Stratifield Hill”
添加“Height”节点
右键点击“Shear”节点,选择“Pin as Underlay”
复制一份“Height”节点
点击“Inv”来选择反向颜色
添加一个“Growth”节点
更改一下参数“Spread”和“Wild Growth”的值
点击“Apply Changes”
添加“Combine”节点
重命名一下如下4个节点
选中如下5个节点然后点击“Mark for Export”
在右上角点击“Build”
导出格式全部选择png
分辨率选择1009
“Range”选择“Raw”,然后点击“Start Build”
导出的资源如下,复制一下导出的文件夹的路径
三、 生成地形
1. 在编辑器偏好设置中勾选“程序化植物”
2. 在项目设置中,动态全局光照选择“Lumen”
阴影贴图方法选择“虚拟阴影贴图”
取消勾选“允许静态光照”
重启项目。
3. 新建Basic关卡,删除场景中的静态网格体“Floor”
4. 将下载的树林资产复制到项目的Content文件夹
5. 在“内容-》MWBroadleafForest-》Meshes”文件夹中筛选出静态网格体
全选
点击为选定项启用Nanite
随便拖入一个静态网格体,然后点击“Nanite可视化-》三角形”
如果看到可以显示如下效果表示Nanite正常开启
6. 选择“地形模式”,然后点击“从文件导入”
点击选择高度图文件
选择Gaea制作高度图“Shear”
地形材质选择“MTL_BF_Landscape”
如下4个图层全部点击“权重混合层(法线)”
Forest图层选择“叶子”图片
Moss图层选择“草.png”,Stones图层选择“石头.png”,Dirt图层选择“泥土.png”
点击导入
生成地形如下
四、生成草地
1. 切换回选项模式
2. 为了方便移动地形,这里先选中地形,然后点击鼠标右键,选择“锚点-》在此处设置枢轴偏移(对齐)”
再点击“锚点-》设置为枢轴偏移”
3. 让地形沿着Z轴向上移动
此时如果我们将视角拉近,可以看到只生成了石头,没有草地
4. 双击打开材质实例“MTL_BF_Landscape”后,就可以看到场景自动构建草地了
五、生成树林
将“ProceduralFoliageVolume”拖入视口
更改一下“ProceduralFoliageVolume”的位置和缩放使其能恰好能覆盖整个地形
Ctrl+D复制5份“ProceduralFoliageVolume”
选中“ProceduralFoliageVolume1”,植物生成器选择“PFS_BF_Debris”
选中“ProceduralFoliageVolume2”,植物生成器选择“PFS_BF_Rocks”
选中“ProceduralFoliageVolume3”,植物生成器选择“PFS_BF_Stones”
选中“ProceduralFoliageVolume4”,植物生成器选择“PFS_BF_Trees”
选中“ProceduralFoliageVolume5”,植物生成器选择“PFS_BF_TreesMedium”
分别选中5个“ProceduralFoliageVolume”,然后在细节面板中点击“重新模拟”按钮
此时效果如下
六、生成湖泊
如果想生成水的话只需将蓝图“BP_MW_Water”拖入场景
改一下缩放
将“Dirt Material”选项设置为材质“MTL_BF_WaterDirt”
七、其它功能介绍
7.1 调整树林生成的面积
如果只想在山头上生成树林,我可以将5个“ProceduralFoliageVolume”的位置向上移动,使其覆盖范围只包含山头,然后再次点击“重新模拟”按钮,此时就可以看到只有山头上有树林了
7.2 让植物随风飘动
将蓝图“BP_MW_Wind”拖入场景
可以通过修改参数“Intensity”和“Speed”来修改风的强弱和速度
此时可以看到所有植物随风飘动:
7.3 玩家和植物互动
将蓝图“BP_MW_PlayerPosition”拖入场景
此时运行游戏可以看到玩家经过小植物时会有互动效果,经过大树则会被阻挡
7.4 雪中树林
将蓝图“BP_MW_Winter”拖入场景
运行游戏即可看到雪中的树林
如果想回到春季,可以将 “BP_MW_Winter”中的参数“Autumn Amount”设置为0,就可以将叶子改回绿色
然后将蓝图“BP_MW_Winter”删除即可去除雪景
7.5 环境音效
将蓝图“SND_MW_ForestAmbientBirds”拖入场景来模拟鸟鸣声。这里还提供了水流声和暴风雪的声音。
可以修改音量
参考视频:
https://www.bilibili.com/video/BV1M44y1o7pP/?spm_id_from=333.788&vd_source=36a3e35639c44bb339f59760641390a8
相关文章:

【UE5.1】程序化生成Nanite植被
目录 效果 步骤 一、下载Gaea软件和树林资产 二、使用Gaea生成贴图 三、 生成地形 四、生成草地 五、生成树林 六、生成湖泊 七、其它功能介绍 7.1 调整树林生成的面积 7.2 让植物随风飘动 7.3 玩家和植物互动 7.4 雪中树林 7.5 环境音效 效果 步骤 一、下载Ga…...

【软件工程】漫谈增量过程模型:软件开发的逐步之道
🍎个人博客:个人主页 🏆个人专栏: 软件工程 ⛳️ 功不唐捐,玉汝于成 目录 前言: 正文 增量过程模型(Incremental Process Model) 主要特点和阶段: 优点࿱…...

Android Camera
1. 相关的API Android有三套关于摄像头的API(库),分别是Camera、Camera2和CameraX,其中Camera已废弃,在Android5.0以后推荐使用Camera2和CameraX,Camera2推出是用来替换Camera的,它拥有丰富的API可以为复杂的用例提供…...
Python开发雷点总结
数值运算(加减乘除) 1. invalid value赋值 当变量本身具有数值属性(后续会参加数值运算),对invalid value设置应该为np.nan, 而非None;反之,容易抛出以下错误: TypeEr…...

Linux中磁盘管理与文件系统
目录 一.磁盘基础: 1.磁盘的结构: 2.硬盘的数据结构: 3.硬盘存储容量 : 4.硬盘接口类型: 二.MBR与磁盘分区: 1.MBR的概念: 2.硬盘的分区: 为什么分区: 2.表示&am…...

Vue2+element-ui 实现select选择器结合Tree树形控件实现下拉树效果
效果: DOM部分 : // 设置el-option隐藏的下拉选项,选项显示的是汉字label,值是value // 如果不设置一个下拉选项,下面的树形组件将无法正常使用 <el-form-item label"报警区域" prop"monitorId"…...
LINUX 解决系统卡死:扩大内存交换分区
最近电脑总是卡住,让我很是苦恼。运行程序时发现可能是内存占满之后导致界面卡住。下面是在我16G内存的电脑上折腾的过程与结果: 查看当前的交换内存大小free -m(单位:-m选项表示以兆字节(MB)为单位显示内…...
Vue项目Nginx代理F5刷新出现404问题解决
一.背景 项目用户反馈,F5刷新后,浏览器出现404。最近公司加强网络管理,我记得之前可以刷新,有点怀疑是跟加强网络管理有关。具体原因没有时间去深度跟踪,先百度找到了解决方法,记录一下。 二.解决办法 主…...

关于MybatisPlus自动转化驼峰命名规则配置mapUnderscoreToCamelCase的个人测试和总结
关于MybatisPlus自动转化驼峰命名规则配置mapUnderscoreToCamelCase的个人测试和总结 测试一:没有添加 自动转化的配置,且domain中的属性名称和数据库的字段名称一致测试二:没有添加自动转化配置i,domain属性名userPassword和数据…...
css中的BFC
定义 BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。 涉及概念 box Box 是 CSS 布局的对象…...

音视频类App广告变现如何破局,最大化广告变现收益,让应用增收?
音视频App已然成为了我们日常获取、发布和交换信息的重要方式,在音视频行业不断的拓展中,用户的渗透率提升。 据数据显示,我国网络视听用户的规模已达9亿人次,网民使用率也突破了90%。庞大的市场规模和用户需求吸引了大批开发者和…...
基于llama-index对embedding模型进行微调
QA对话目前是大语言模型的一大应用场景,在QA对话中,由于大语言模型信息的滞后性以及不包含业务知识的特点,我们经常需要外挂知识库来协助大模型解决一些问题。在外挂知识库的过程中,embedding模型的召回效果直接影响到大模型的回答…...

如何本地搭建FastDFS文件服务器并实现远程访问【内网穿透】
文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…...
spring基于Xml管理bean---Ioc依赖注入:对象类型属性赋值(2)----内部bean的引入(bean和bean之间的引入)、(3)级联方式注入
bean创建对象类型赋值方式 第一:外部bean的引入 第二:内部bean的引入 第三:级联属性赋值 文章目录 bean创建对象类型赋值方式对象类型内部bean赋值代码分析总结 对象类型属性级联方式的赋值扩展知识 对象类型内部bean赋值 代码分析 <b…...

Python电能质量扰动信号分类(二)基于CNN模型的一维信号分类
目录 前言 1 电能质量数据集制作与加载 1.1 导入数据 1.2 制作数据集 2 CNN-2D分类模型和训练、评估 2.1 定义CNN-2d分类模型 2.2 定义模型参数 2.3 模型结构 2.4 模型训练 2.5 模型评估 3 CNN-1D分类模型和训练、评估 3.1 定义CNN-1d分类模型 3.2 定义模型参数 …...
如何解决报错:Another app is currently holding yum lock?
在运行yum 相关命令的时候,不知道怎么回事无法进行下载安装,报出 Another app is currently holding the yum lock; waiting for it to exit... 的错误提示。 Another app is currently holding the yum lock. 意思是另外一个应用正在锁住进程锁。 …...

electron使用electron-builder进行MacOS的 打包、签名、公证、上架、自动更新
一、前言 由于electron在macOS下的坑太多,本文不可能把所有的问题都列出来,也不可能把所有的解决方案贴出来;本文也不太会讲解每一个配置点为什么要这么设置的原因,因为有些点我也说不清,我尽可能会说明的。所以&…...

RAD Studio 12 安装激活说明及常见问题
目录 RAD Studio 安装说明 RAD Studio 最新的修补程序更新 RAD Studio 产品相关信息 Embarcadero 产品在线注册步骤 单机版授权产品注册注意事项 Embarcadero 产品离线注册步骤 Embarcadero 产品安装次数查询 Embarcadero 序号注册次数限制 EDN账号 - 查询授权序号、下…...
JavaScript实现视频共享
1.视频共享webrtc-master index.html <!DOCTYPE html> <html> <head><script typetext/javascript srchttps://cdn.scaledrone.com/scaledrone.min.js></script><meta charset"utf-8"><meta name"viewport" cont…...

uniapp框架——vue3+uniFilePicker+fastapi实现文件上传(搭建ai项目第二步)
文章目录 ⭐前言💖 小程序系列文章 ⭐uni-file-picker 组件💖 绑定事件💖 uploadFile api💖 自定义上传 ⭐后端fastapi定义上传接口⭐uniapp开启本地请求代理devServer⭐前后端联调⭐总结⭐结束 ⭐前言 大家好,我是ym…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...