Houdini Terrain 制作会用到哪些节点?都有哪些强大功能
Game艺视界原创文章原创 39975 1
实名

通过了实名认证的内容创造者

发布于 2023-4-28 15:20:45

您需要 登录 才可以下载或查看,没有账号?注册

x
本期笔记内容Houdini高度场专题
914d10be589a52c5c42b7bff24019ce7.png

01-Convertheightfield(地形转换为模型网格)将 2D 高度字段转换为 3D VDB 体积、多边形表面或多边形汤表面
①转换类型②四边形还是三角形网格③挤压④扁平底座


2689a88ad3db69424fe89f9019539893.png

④开启关闭效果



02-heightfield/地形制作核心节点
此节点生成两个2D体积基本体,并使用给定的分辨率和初始值,由其他地形节点修改。高度掩码●体积是一个二维值网格,表示地图上每个点的地形与地平面的距离(值可以为负值)
●该体积可以用作其他地形工具的“遮罩”输入。它指定地形节点的效果应应用于哪些区域:如果遮罩值为0,则节点没有效果;如果遮罩的值为1,则节点具有完全效果。地形节点允许您绘制遮罩或根据有关地形的信息生成遮罩(例如,阴影落下的位置或低于特定高度的区域)
注意
当你输入比例尺和初始高度时,你应该把胡迪尼单位看作米。高度场工具和胡迪尼动力学假设单位为米。
我们需要添加噪波节点配合使用默认平面





需要注意这两个值之间关系当我们设置Gind spacing为1时实际地形大小为,下面我们设置的1000


Gind spacing:设置为2


设置为:4【同时精度也在下降】



03-heightfield Blur:高度场模糊当我们添加了噪波节点后我们就可以使用高度场模糊Radius:调整强度



模糊下我们投射处的形状



04-Heightfield clip:剪裁【设置我们地形最高处和最低处,大多数我们需要最低处河面湖面】


05-HeightField Copy layer复制高度场层或者遮罩需要选择
原始信息(要拷贝mask或Height):source
目标层:要复制到的图层的名称✓Copy source data
[tr]将数据从源图层复制到目标图层。如果禁用此选项,则节点将创建目标层,但是[tr]从源复制值(创建新图层时,所有值都设置为0)[tr=rgb(196, 243, 191)][tr=rgb(196, 243, 191)]✓Replac Existng
将源数据复制到任何现有的目标数据上。如果禁用此选项且目标层已存在,则节点将不会复制数据。


06-裁切:Heightfield crop直接对当前地形任意位置进行裁切,边界之外的部分高度场被移除;大小/位置




我们可以选择一部分地形进行混合设置裁切大小与位置
注意:如果调整叠加方式不能出来想要效果可以调整Noise上下关系



07-heightfield_cutoutbyobject基于几何图形在地形上创建一个开口


08-heightfield_cutoutclear(清除几何模型)09-heightfield_distortbylayer用另一个字段替换高度字段,这个节点沿着一个向量场移动一个高度场,以一种可控的方式扭曲和变形特征。
10-heightfield_distort by Noise通过输入Mask区域,打破硬边,增加多样性


11-heightfield_drawmask(手绘制遮罩)
添加节点后我们按下Enter然后就可以在我们地图上绘制

12-高度场_侵蚀:heightfield_erode(这块比较复杂有机会详聊本期说下大概用法)


我们计算下高度范围





侵蚀是通过时间进行,我们点击时间轴播放按钮



我们可以在我们计算帧数内选择一帧满意效果
Freeze at Frame;✓输入目标帧如果想重新计算我们需要先取消✓,再点击Reset



Advanced:高级我们可以在高级中设置:01-模拟水流 | 02-侧面坡度 等设置01-

02-


我们有了这些颜色蒙版,那些图层是基于蒙版的,这一点很重要我们可以导出这些遮罩制作材质


两种不同的烘焙方式:几何(导入导出模型)与纹理(导入导出纹理)13/28-heightfield_file/heightfield_output
导入高度场位图:heightfield_file输出高度场位图:heightfield_output【Filename选择图片格式】

可以选择设置通道输出内容






然后导出存盘


导出模型与导入模型两个节点



14-Height Flow Field
根据输入高度层生成流动和流动方向层(实际也是在做遮罩)



15-HeightField Isolate Layer
高度字段可视化”节点对可视化掩码层有更好的控制

Houdini 支持高度字段的默认可视化,它将高度字段显示为3D 表面,将掩码字段显示为表面上的红色调
这个节点只是简单地将一个给定的图层复制到掩码层或高度层,让您使用默认的可视化来可视化另一个图层(例如,Heightfield 剪辑创建的台面掩码层)

警告⚠
该节点的输出是在视口中看到的高度场和遮罩。这意味着它会更改遮罩层,如果启用“覆盖高度”,则会将高度字段归零
如果使用此节点来可视化层,则应将其从网络中分支出来,而不使用其输出
如果您只想将另一个层复制到高度场或遮罩中,理论上可以使用该节点的输出,但您可能应该使用适当的专用节点(高度场复制层),以使网络更容易理解



16-heightfield_layer
将两个高度场合成在一起此节点将第一个(“基础”)输入中的高度字段层与第二个(“层”)输入的层合成。第三个输入采用可选掩码
节点将正确组合未对齐轴的体积(它将使用基本输入的网格)。因此,可以在合成之前在3D空间中定位和旋转合成体积



选择不同的模式叠加两曾噪波达到我们想要效果


17-heightfield_layerclear(清除层)清除高度场层-高度或遮罩Mask



18-heightfield_layerproperty高度场层属性每个高度场层都有一个属性,控制操作应如何影响体积边缘的体素。此节点用于设置给定层的属性

当将高度场平铺到更大的高度场贴图中,或将较小的高度场合并到较大的高度场中时,这一点非常重要【个人理解:就是在模糊边缘】



19-heightfield_maskblur模糊高度场/模糊遮罩

20-高度场_遮罩掩码:heightfield_maskbyfeature【配合Noise使用】之前有一篇笔记专门写了这个节点应用

21-heightfield_maskbyobject
创建基于其他几何形状的掩码


22-heightfield_maskbyocclusion(通过AO制作遮罩)该节点计算测量遮挡作为“有多少球体的中心点是可见的从给定的点。”它从每个点向不同的方向发射射线,并测量在达到最大距离之前击中地形的次数


23-heightfield_maskclear(清除遮罩/有时候我们需要看原始地形效果时用到)24-heightfield_maskexpand:遮罩或高度扩充


这是一个可以扩充遮罩Mask节点当我们做好遮罩时候感觉面积不够大可以使用此节点阔扩充我们先切换高度观察效果,有几种模式选择





25-heightfield_masknoise默认是通过噪波修改我们的地形高度场;我们也可以修改为遮罩





26-heightfield_maskshrink模糊我们高度场被遮罩位置//输入高度 | 输入Mask


27-heightfield_noise将垂直噪音添加到高度字段,创建峰值和谷值另请参阅高度场扭曲,它在整个网格中添加了移动/旋涡地形特征我们添加噪波节点,可以看到我们有一个非常好的随机噪声并生成了一些造型和山



接下来我们看下参数菜单



首先我们看到噪波的图层:Noise Layer【Height、mask】修改为mask就可以给其命名了叠加方式:Combine Method【叠加模式与PS和SD一样】



振幅:Amplitude


等比例缩放大小:Element Size


‍Scale:单轴缩放
Offset:位移



噪波设置
首先是噪波类型



根据需求选择适合的噪波
同时还可以将多个噪波叠加噪波设置:Noise  Settings



Lacunarity



‍Roughness:噪波粗糙度【感觉是噪波黑白对比】

‍
接下来是后处理:大家可以自行尝试看下效果



Distortion:扭曲



渐变扭曲:gradient warp


29-heightfield_paint绘画遮罩允许您使用笔画将值绘制到高度字段或掩码字段中【对计算的遮罩不满意可以手动修复精确位置】
30-HeightField Patch(移动当前遮罩位置在高度场中)从一个高度域到另一个高度场修补特征
31-HeightField Pattern以斜坡、台阶、条纹、Voronoi单元或其他图案的形式添加置换此节点可用于创建坡道、步骤和填充背景,以创建更多的视觉兴趣

您还可以使用这个带有掩码层的节点,例如,使用斜坡模式制作渐变掩码
32-heightfield_project【左-地形,右-模型】
将3D 几何图形投影到高度字段中第一个输入是要投影到的高度字段,第二个输入是要投影到的几何图形


我们可以添加几何图形来改变我们的地形




几何类型的文件导入添加文件:File我们还可以导入外部模型改变地形结构


33-HeightField Quick Shade应用一种材质,让您插入纹理的不同层
34-heightfield_remap重映射(因为我们在多次噪波相互计算使得一些节点计算不准确所有要重新映射下地形高低)重新映射高度字段或掩码层中的值这对于改变地形中的海拔范围和/或使用坡道来平滑海拔变化非常有用


有些时候我们使用多个图层叠加后需要重新映射下【数值和坡度曲线模式】



35-HeightField Resample更改高度字段的分辨率


36-heightfield_scatter【核心必用】
在高度场的表面上散布点,点击下方文章详解散射节点Houdini 这功能必须要学会!丨WC高度图如何设置才能正确显示在Houdini丨技术拆解02节
散射节点:Heightfield_scatter
输入地形 | 遮罩mask | 要散射的模型



高度场转换模型网格并调整精细度:convertheightfield




37-heightfield_slump模拟松散材料沿斜坡下滑并在底部堆积坍塌是一种质量损耗的形式,当松散的固结材料或岩石层向斜坡下移动一小段距离时,就会发生质量损耗。坍塌是当一个不稳定的碎石桩沉降到一个更稳定的配置,往往有界的角度休息‍


38-heightfield_terrace从地形的斜坡创建阶梯平原


39-heightfield_tilesplice
将高度字段平铺拼接在一起此节点处理由“高度字段平铺分割”创建的平铺
40-heightfield_tilesplit将高度字段体积拆分为行和列此节点的通常工作流程是设置“平铺编号”参数的动画,以提取每个单独的平铺,例如在for each循环中,将每个平铺保存到单独的文件中。这对于并行处理平铺,或者将巨大的区域分割为游戏引擎的块都很有用
您可以向平铺添加填充,以便它们在分割后重叠。这有助于避免显示开裂,如果需要在单独修改瓷砖后将其重新混合在一起,也会有所帮助
使用“高度场平铺拼接”将分割的平铺拼接在一起

41-heightfield_xform高度字段特定的比例和偏移提示
可以使用常规“变换”节点移动、缩放或旋转高度字段。如果尝试将具有不同旋转或偏移网格的两个高度场合成在一起,则“高度场层”节点会做正确的事情。
缩放区域中的控件用于体积栅格间距和/或高度值,以执行特定于高度的缩放



我们可以添加修改命令通过视图操作杆移动旋转变换



42-heightfield_visualize使用自定义渐变材质可视化立面,并使用着色颜色遮罩层。

OpenGL着色
这将更改默认着色,使您可以使用自定义颜色渐变将零个或一个遮罩层可视化为着色。如果要可视化多个层,则需要改用“材质”控件。


材质
这将在输入上指定自定义可视化材质。这是获得立面渐变的唯一方法,它还允许您使用不同的颜色可视化多个层。如果渲染所需的只是一个简单的颜色渐变,那么它甚至可能就是您所需要的。唯一的缺点是它会替换任何先前指定的材质。
重新计算高低/设置图层名称也可以选择我们设置的




43-heightfield_vop
在一组体积基本体上运行CVEX。卷VOP操作在一组卷基本体上运行CVEX。CVEX着色器可以定义为.vfl文件、Shop或通过在此节点内构建CVEX VOP网络。最后一种是最直接的方法
44-heightfield_wrangle运行VEX片段以修改体积中的体素值。这是一个非常强大的低级节点,可以让熟悉VEX的专家使用代码调整体素值
此节点对应于卷VOP SOP,但使用文本VEX片段而不是VOP网络

好!本期笔记分享就到这里,我们下期见!

评分

参与人数 3元素币 +10 活跃度 +7 展开 理由
拷给你 + 3 + 3 楼主终于出手了
guangjingw... + 5 + 2 口水
jinshan + 2 + 2 我甚至有一点平静

查看全部评分

微信公众号:Game艺视界
使用道具 <
丙丙  发表于 2024-8-19 15:56:37  
2#
66666666666666666666666666666666666
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表