当前位置: 首页 > news >正文

【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

相关文章:

  • 实战10 角色管理
  • redis 从0到1完整学习 (八):QuickList 数据结构
  • Android画布Canvas drawPath绘制跟随手指移动的圆,Kotlin
  • Springcloud Alibaba 使用Canal将MySql数据实时同步到Elasticsearch
  • Git三种方法从远程仓库拉取指定分支
  • Leetcode 2971. Find Polygon With the Largest Perimeter
  • C#实现串口通讯
  • Unity Shader 实现X光效果
  • 【Qt-Event-信号和槽】
  • go 语言程序设计第2章--程序结构
  • JS-图片预览
  • 图论 | 网络流的基本概念
  • elasticsearch系列四:集群常规运维
  • WEB 3D技术 three.js 色彩空间讲解
  • Vuex介绍2
  • const let
  • egg(89)--egg之redis的发布和订阅
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Java深入 - 深入理解Java集合
  • mysql 数据库四种事务隔离级别
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • 前端工程化(Gulp、Webpack)-webpack
  • 浅谈web中前端模板引擎的使用
  • 如何胜任知名企业的商业数据分析师?
  • 软件开发学习的5大技巧,你知道吗?
  • 线上 python http server profile 实践
  • 一些关于Rust在2019年的思考
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 如何在招聘中考核.NET架构师
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (12)目标检测_SSD基于pytorch搭建代码
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (九)信息融合方式简介
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (译)计算距离、方位和更多经纬度之间的点
  • (转) Face-Resources
  • (转)项目管理杂谈-我所期望的新人
  • .net 8 发布了,试下微软最近强推的MAUI
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .Net Core缓存组件(MemoryCache)源码解析
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET框架设计—常被忽视的C#设计技巧
  • [20180129]bash显示path环境变量.txt
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序
  • [C++]二叉搜索树