Houdini地形系统丨HDA制作丨导入UE4全流程制作讲解「新人必看」
liebian365 2024-10-25 15:47 23 浏览 0 评论
今天是2022年05月14日 星期六
正文共:5866字 135图 预计阅读时间15分
本期内容
01-新建项目工程
02-什么是HeightFleields以及地形中常用节点介绍
03-制作地表Mask区域
04-按区域散布我们岩石与植被
05-创建HDA
06-设置我们UE4工程及地表材质创建
07-添加草/替换我们实例
08-完善HDA暴露参数
09-添加后效雾完结
首先我们新建工程
然后选择一个位置保存
禁用
创建一个Geometry节点我们将其称为地形
我们开始创建第一个节点高度场
最重要的两个参数:控制地形分辨率的网格间距大小默认为1000米乘1000米这意味着我们有一个平方公里可以使用
Grid spacing:网格间距
我们在搜索栏输入Hn (快捷键Tab或者右键)
选择我们高度长噪波节点,根据噪声为高度场生成一些高度值,您有一个用于控制强度或生成的那些高度值的范围,我们有一个元素大小,这是您控制尺寸的一种方法
Amplitude:噪波强度
Element Size:噪波的大小
Noise Type:噪波类型-默认有些基础地形效果
在基础造型上制作,我们可以加快制作效率
Fractal:分形类型
如果我们不使用分型只会得到一层噪声:这里有三种模式
通常地形的目的往往是最有趣的我们获得更多参数来调节,通过粗糙度对比度来获得更多噪声【Ctrl+鼠标中键=恢复参数默认值】
第二个:高度场扭曲
通过改变参数制作满意效果
第三个:道路节点
它将包括水力侵蚀和热力侵蚀,它将使我们的高度场看起来更加真实,您会注意到您现在在地形上具有颜色
在我们参数最后一项需要我们重新计算下地形高度
检测出高度场最大值和最小值并重新应用颜色
现在我们没有施加任何侵蚀效果,道路节点的高度与时间有关,因此需要经过几帧在每个框架中,它将遍历侵蚀您不需要重复很多帧,但是一旦按下播放键,您就可以看到逐渐涨水
参数
Bank Angle 倾斜角度:默认值会有清晰水线,我们将数值改小会出现更大一些水域
Spread lteration:迭代次数(这有点像灯光反弹次数概念)
模拟:Reset Simulation 设定24针
土地侵蚀位置
Erosion Rate:这里侵蚀权重意味着多快控制腐蚀发生的速度,此默认值效果很好
Cut Angle:切角这意味着35度后进行热腐蚀将会停止
我们看下另外一个参数也就是我们地图中颜色的表示
如果我们返回到上面高度场字符段可以看见我们高度和mask信息
Ctrl+鼠标中键可以锁定此窗口
我们可以该表颜色信息并选择不同阶段的颜色标记
Water
接下来我们要使用另一个命令进一步雕刻我们的地形高度,坍落度基本上是模拟松散的材料向下倾斜
流动层
但实际上有一个用于计算流量的特定节点高度场流
Heightfiled_slump///Heightfiled_flowfield:这两种效果供我们选择(路径的细节不同)
我们还可以改变平滑模式
对于您的山峰,我认为这真的很有用,这两个节点搭配使用会有一个很好效果
高度场噪波
尽量不要超过1,我们可以调整叠加类型以及噪波大小和对比度
接下来是与高度有关的遮罩节点,让我们来看看高度场绘制遮罩顾名思义,这是一个允许您绘制遮罩的节点
所以我选择了节点我要将光标放在视口按Enter键,然后绘制一个区域它是蒙版的100绝对蒙版图形适应高度
我们可以绘制自己想要的形状,同时通过运算配合我们之前的遮罩层达到目的,还有遮罩模糊
创建一些模型来生成一个面具,但我认为这是更有趣,因为它更具程序性我们创建一个圆环当作我们的遮罩
同样我们可以模糊遮罩和通过改变我们模型造型来改变遮罩
接下来是我们与高度场相关的遮罩按功能遮罩
【这个遮罩已经分享,具体就不在这说了非常了不起???点击跳转
Houdini制作地形遮罩有几种方式?为散射模型和地表材质划分区域丨技术拆解03节】
梯田效果//悬崖效果//节点
基于我们之前的地形生成形状我们还可以重新计算下高度,那样整个地形都会是梯田形式,然后我们调节高度配合我们现有地形结构,当然也可以模糊下
我们已经展示了一些雕刻和一些遮罩节点,为了能够真正完成我们的地形,我们需要再介绍几个对我们来说真的非常非常有用和重要的实用程序节点,能够管理我们拥有的所有信息并实际生成其他信息层,然后我们可以使用用于散射或控制材料游戏引擎,要介绍的是复制层(也只是复制上层信息)
合并效果
接下来是高度场模糊,我们可以清楚地看到,在我们的案例中效果。将会很有用,这样我们就可以连接更多的平坦区域,创建更多的在我们的角色奔跑的平坦区域,同时也可以模糊我们的遮罩mask
高度场噪声
为我们制作好的mask区域增加细节,当然也可以为这个地形添加
输入我们地形高度场和mask这样噪波节点只影响我们mask区域
主要作用域上图mask区域,未合并前是光滑平坦的
岩石和土壤层
我们想将其清除为一个值现在,我们将在遮罩层上工作,因为它使可视化变得更容易,这就是我们要结合的方式一切都在一起,
所以让我们考虑这是我们的现在,我们所有的地形都被岩石覆盖了现在我们开始在我们的沙子上耕作土壤层,我将使用复制高度场复制到面具将成为我们沙子的基础为我们的土壤材料,这将是流动
重新映射遮罩范围,这是我们沙层一部分
土壤,另一个遮罩基于特征的单独遮罩,通过特征使用高度场蒙版并使用坡度,我们需要删除山峰上的线条我们复制一个基于特征遮罩,然后与上面相连更改叠加方式我们要清除山峰上的线
注意调整这里面的叠加方式以及下面参数
结合我们的高度场:Layer2模式:Maximum
我们有一个非常好的土层,我们的山层,我们的岩层,通过减去我们有山层
现在我们有了一个漂亮的沙层,我们可以使用该层生成生成草层,草层只能出现在我们有土壤的地方。我们可以使用重映射和模糊从模糊开始,所以模糊将确保我们有一种中间值,如您所见,应用模糊时会得到这些渐变在边缘,我们之前使用了相同的技术设置模糊值4
一旦有了这个梯度我们就可以使用重新映射,告诉您重新映射遮罩值因此,通过此重新映射,我们将确保输出从0到1,然后调整下面坡度图这样就可以缩小面积保持整体形状
我们要确保草与土壤没有重叠我要减去来自土壤层的草信息确保我们重新映射并确保这些值始终是1,从沙层到沙面罩,我们将减去草面罩这就是我们要做的
高度场拷贝图层现在所有这些层的土壤和草都有相同的信息
现在我们需要一个高度填充层,我们需要首先复制高度字段,然后复制在面具上到土壤层,我们对草也做同样的事情,我要按住alt单击并拖动并创建一个副本,在该副本中将信息屏蔽到草层。现在我可以将其转移到我的主要路径上通过此高度字段,我要替换的图层与这是土壤。现在我们只需要创建一个副本并确保我们正在复制草层并将草层替换为来自的信息,最后我们要清除遮罩
我们将创建一个可视化工具,向我们展示我们所做的结果,到处都是沙子或土壤,然后我们大部分是草
高度场散射节点
HenghtField Scatter:散射节点
Scatter Method:散射方法
By Coverage using Mask Layer:
*通过使用遮罩层的覆盖
给定一定的Coverage值和Variability值,此方法将分散点,以便它们覆盖高度场上绘制的蒙版上设置的Coverage量
By Density using Mask Layer:
*使用遮罩层按密度
给定特定的密度值,此方法将分散点,以便它们将密度作为高度场上绘制的蒙版上每平方米的点数
Total Point Count using Mask Layer:
*使用遮罩层的总点数
给定某个Total Point Count值,此方法将分散点,以便它们将精确地设置为它们在高度场上绘制的蒙版上的点数。
Per Point Count using Source Points:
*使用源点的每点计数
给定某个范围或精确值,此方法将在标记与Source Point Tag匹配的点周围散布点
官方文档:
https://www.sidefx.com/docs/houdini/nodes/sop/heightfield_scatter.html
分层分散首先,我们将分散树木在开始扫描树木之前,我们先创建一个简单模型代替
复制散布节点散步灌木丛形状很有趣,这是因为它们正在对齐自己斜坡
接下来我们就需要调整下放松相关参数修改下外半径,数量每棵树周围采样五个,相互之间的半径介于0和10如果我们改为2他们相互很密集
这些参数效果都是围绕每一课树进行的
outer radius:外半径
Range:范围
source inner Radius:源内半径
效果对比
Outer Radius:1于0.5对比
Range:范围0-5
Sourec inner Radius:源外半径0-2(与上图对比灌木之间距离)
设置下随机旋转
如果想扩大范围我们可以增加数量
减少之间的重叠同时增加迭代次数(具体效果根据需求自行调节)
现在让我们给我们一些蕨类植物,我将创建一个代理对于蕨类植物,我们也将从网格开始,继续复制一个散射节点重新命名并将我们植被模型链接到节点上,这样我们就有了大树、中等灌木、草。这造成了不同程度的复杂性(我们可以修改草:密度、随机大小旋转位置、重叠)
我们接下来散布碎石,然后我们将其连接到散射节点,我们用盒子代替
这里面做了两种大小分布丰富细节
接下来我们准备将资产导入ue4在此处创建一个Null这是最终的输出
创建我们的hda选中所有节点然后打包
快捷键:Shift+C
重命名我们资产然后右键
创建保存,选择保存位置
现在我们不需要配置我们的HDA直接应用即可
在进入ue4之前我们先准备个商城资产
我们来到ue4新建文件夹创建地形保存并打开
打开场景我们配置下场景
我们在功能或内容包,我们添加小白人
我们添加一个玩家开始进入我们的项目设置
如果没有可用的选项,则可以在此处进行项目设置,然后选择我们的地形
我们还有些其他设置(看个人需求)
禁用纹理流
生成网格距离场
配置好环境接下来我们将我们的HDA拖拽进场景等待烘焙,过一会我们就有了我们有我们的树木植被岩石等
让我们开始研究我们的材料,如果您还记得的话在Houdini,我们曾经拥有完全一样的东西除了我要开放我们的数字资产,以便我们可以看一下我们的材料层看起来如何所以我右键单击允许编辑内容,以便您实际上可以访问我们的hda的内容这就是这个,所以我们的第一步将是创建一种材料实际上复制了将要在虚幻中构建的外观
所以在虚幻中,我将在此处创建一个名为Materials的新文件夹,
使用几种纹理,我们将这3层设置草
创建材质暴露参数
设置好以后创建实例放入放入我们的地形
下一步我们可以添加一些草,也是在我们的材质表达式上
选择grass就会在左边出现添加我们植被选框
新建
双击打开添加我们植被
设置好以后我们添加到草节点内
这时候就会出现在我们地形上
接下来我们替换下我们场景中的实例部分,选择我们HDA在细节面板可以看到实例部分
我们将资产库模型替换到实例上就可以在场景中实时显示,其它实例也如此
最后我们回到H整理下HDA文件我们希望H中地表贴图和实例对象会自动查找文件,好我们配置下新建属性节点
我们在虚幻复制我们材质路径
注意:Name 名字
继续设置我们其它实例新建节点
@tag="boulder_big"引号内是我们上面图层名字
接下来按照格式输入我们要替换物体路径
意思:我们散布的石头等于我们路径中物体
我们想控制两者之间的比例变化非常容易,只是使用一个if那么我要生成一个根据每个点数从0到1的随机数,如果从0到1的随机数小于0.6大概有百分之六十的可能性那么我的属性和ue实例将是第一行,否则剩下的40%将具有其他实例第二行
接下来我们暴露一些参数然后点击应用并保存即可
我们可以先删除ue大纲中HDA重新拖拽,开始创建它,它将自动加载实例和材料给了它可能需要一段时间的时间,接下来我们可以测试一些其他参数例如修改地形大小噪波间隔幅度等
整体从Houdini到UE4地形制作流程大概就是如此,最好还是上手制作一次这样印象比较深刻后面我们还会继续深耕Houdini到UE4的相关流程
本期分享就到这里!更多精彩+++关注联系我们
下期见,学习不止,不止学习
相关推荐
- “版本末期”了?下周平衡补丁!国服最强5套牌!上分首选
-
明天,酒馆战棋就将迎来大更新,也聊了很多天战棋相关的内容了,趁此机会,给兄弟们穿插一篇构筑模式的卡组推荐!老规矩,我们先来看10职业胜率。目前10职业胜率排名与一周前基本类似,没有太多的变化。平衡补丁...
- VS2017 C++ 程序报错“error C2065:“M_PI”: 未声明的标识符"
-
首先,程序中头文件的选择,要选择头文件,在文件中是没有对M_PI的定义的。选择:项目——>”XXX属性"——>配置属性——>C/C++——>预处理器——>预处理器定义,...
- 东营交警实名曝光一批酒驾人员名单 88人受处罚
-
齐鲁网·闪电新闻5月24日讯酒后驾驶是对自己和他人生命安全极不负责的行为,为守护大家的平安出行路,东营交警一直将酒驾作为重点打击对象。5月23日,东营交警公布最新一批饮酒、醉酒名单。对以下驾驶人醉酒...
- Qt界面——搭配QCustomPlot(qt platform)
-
这是我第一个使用QCustomPlot控件的上位机,通过串口精确的5ms发送一次数据,再将读取的数据绘制到图表中。界面方面,尝试卡片式设计,外加QSS简单的配了个色。QCustomPlot官网:Qt...
- 大话西游2分享赢取种族坐骑手办!PK趣闻录由你书写
-
老友相聚,仗剑江湖!《大话西游2》2021全民PK季4月激燃打响,各PK玩法鏖战齐开,零门槛参与热情高涨。PK季期间,不仅各种玩法奖励丰厚,参与PK趣闻录活动,投稿自己在PK季遇到的趣事,还有机会带走...
- 测试谷歌VS Code AI 编程插件 Gemini Code Assist
-
用ClaudeSonnet3.7的天气测试编码,让谷歌VSCodeAI编程插件GeminiCodeAssist自动编程。生成的文件在浏览器中的效果如下:(附源代码)VSCode...
- 顾爷想知道第4.5期 国服便利性到底需优化啥?
-
前段时间DNF国服推出了名为“阿拉德B计划”的系列改版计划,截至目前我们已经看到了两项实装。不过关于便利性上,国服似乎还有很多路要走。自从顾爷回归DNF以来,几乎每天都在跟我抱怨关于DNF里面各种各样...
- 掌握Visual Studio项目配置【基础篇】
-
1.前言VisualStudio是Windows上最常用的C++集成开发环境之一,简称VS。VS功能十分强大,对应的,其配置系统较为复杂。不管是对于初学者还是有一定开发经验的开发者来说,捋清楚VS...
- 还嫌LED驱动设计套路深?那就来看看这篇文章吧
-
随着LED在各个领域的不同应用需求,LED驱动电路也在不断进步和发展。本文从LED的特性入手,推导出适合LED的电源驱动类型,再进一步介绍各类LED驱动设计。设计必读:LED四个关键特性特性一:非线...
- Visual Studio Community 2022(VS2022)安装图文方法
-
直接上步骤:1,首先可以下载安装一个VisualStudio安装器,叫做VisualStudioinstaller。这个安装文件很小,很快就安装完成了。2,打开VisualStudioins...
- Qt添加MSVC构建套件的方法(qt添加c++11)
-
前言有些时候,在Windows下因为某些需求需要使用MSVC编译器对程序进行编译,假设我们安装Qt的时候又只是安装了MingW构建套件,那么此时我们该如何给现有的Qt添加一个MSVC构建套件呢?本文以...
- Qt为什么站稳c++GUI的top1(qt c)
-
为什么现在QT越来越成为c++界面编程的第一选择,从事QT编程多年,在这之前做C++界面都是基于MFC。当时为什么会从MFC转到QT?主要原因是MFC开发界面想做得好看一些十分困难,引用第三方基于MF...
- qt开发IDE应该选择VS还是qt creator
-
如果一个公司选择了qt来开发自己的产品,在面临IDE的选择时会出现vs或者qtcreator,选择qt的IDE需要结合产品需求、部署平台、项目定位、程序猿本身和公司战略,因为大的软件产品需要明确IDE...
- Qt 5.14.2超详细安装教程,不会来打我
-
Qt简介Qt(官方发音[kju:t],音同cute)是一个跨平台的C++开库,主要用来开发图形用户界面(GraphicalUserInterface,GUI)程序。Qt是纯C++开...
- Cygwin配置与使用(四)——VI字体和颜色的配置
-
简介:VI的操作模式,基本上VI可以分为三种状态,分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode),各模式的功能区分如下:1)...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- “版本末期”了?下周平衡补丁!国服最强5套牌!上分首选
- VS2017 C++ 程序报错“error C2065:“M_PI”: 未声明的标识符"
- 东营交警实名曝光一批酒驾人员名单 88人受处罚
- Qt界面——搭配QCustomPlot(qt platform)
- 大话西游2分享赢取种族坐骑手办!PK趣闻录由你书写
- 测试谷歌VS Code AI 编程插件 Gemini Code Assist
- 顾爷想知道第4.5期 国服便利性到底需优化啥?
- 掌握Visual Studio项目配置【基础篇】
- 还嫌LED驱动设计套路深?那就来看看这篇文章吧
- Visual Studio Community 2022(VS2022)安装图文方法
- 标签列表
-
- wireshark怎么抓包 (75)
- qt sleep (64)
- cs1.6指令代码大全 (55)
- factory-method (60)
- sqlite3_bind_blob (52)
- hibernate update (63)
- c++ base64 (70)
- nc 命令 (52)
- wm_close (51)
- epollin (51)
- sqlca.sqlcode (57)
- lua ipairs (60)
- tv_usec (64)
- 命令行进入文件夹 (53)
- postgresql array (57)
- statfs函数 (57)
- .project文件 (54)
- lua require (56)
- for_each (67)
- c#工厂模式 (57)
- wxsqlite3 (66)
- dmesg -c (58)
- fopen参数 (53)
- tar -zxvf -c (55)
- 速递查询 (52)