【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…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx
“Reactive Stream Processing in Industrial IoT using DDS and Rx” 是指在工业物联网(IIoT)场景中,结合 DDS(Data Distribution Service) 和 Rx(Reactive Extensions) 技术,实现 …...
统计按位或能得到最大值的子集数目
我们先来看题目描述: 给你一个整数数组 nums ,请你找出 nums 子集 按位或 可能得到的 最大值 ,并返回按位或能得到最大值的 不同非空子集的数目 。 如果数组 a 可以由数组 b 删除一些元素(或不删除)得到,…...
Vuex:Vue.js 应用程序的状态管理模式
什么是Vuex? Vuex 是专门为 Vue.js 应用程序开发的状态管理模式 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 在大型单页应用中,当多个组件共享状态时,简单的单向数据流…...
