🥰

Dolag Houdini Toolset 功能一览

本文档详细介绍了 Dolag Houdini Toolset 提供的所有 HDA 节点和通用功能,帮助您快速上手并充分利用其强大功能。


HDA 节点

插件包含海量SOP HDA,涵盖建模、虚幻引擎、体积、高度场等多个模块,专为程序化生成设计,同时又包含许多通用功能。节点专为提高开发效率而生,不包括任何特定的程序化生成效果。 所有节点均以 Dolag 为前缀,可在 Tab 菜单的 Dolag 分类下找到。

Important

所有节点均无外部依赖,可安全地通过Unlock/Embedding方式嵌入您的资产中。资产发布后使用方无需安装任何额外依赖。

多边形 (Polygon)

节点名称 功能描述
Add Curve Point 在曲线上的指定百分比位置添加点。
Boolean 对特定情况进行优化处理的布尔运算。
Boolean Fracture 对特定情况进行优化处理的带材质布尔切割。
Convert Line 带有连接曲线功能的 Convert Line 节点。
Convex Hull 2D 计算平面内的凸包。
Curve Expand 将曲线沿其“法线”方向进行扩展或收缩。
Curve Extrude 从曲线生成面片,适合用于创建河道等带状几何体。
Explosive Fuse 先执行 Explode 再执行 Fuse,避免因点过于接近而导致不连续的点被错误融合。
Extract Unshared Edge 获取模型未共享的边缘(即边界线)。
记得有个非常偏门的内置节点也支持这个功能,忘了叫啥了。
Extrude Wall (功能待补充)
Get CurveU 获取曲线上每个点的 curveu 属性(即沿曲线的百分比位置)。请使用内置的Resample节点。
Get Point Dist Along Curve 获取曲线上点的累计距离。请使用内置的Resample节点。
Get Prim Centroid 提取 Primitive 的中心点。
Mountain 支持沿非法线方向进行置换的 Mountain 节点。
PolyFill 考虑了多种特殊情况的 PolyFill 节点。
Reverse Abnormal 反转异常的法线。注意:已被 Normal Fixer 替代。
Simple Mesh Fill 考虑了多种情况的“补面”算法,主要用于将非实体对象填充为实体。
Simple Wrap 基于法线计算的收缩包裹算法。
Smooth Sharp Geo 提供多种方式平滑自相交的几何体。
Sort Line Points (已弃用)
Spherize Normal 简单的球面化法线。

实用工具 (Utils)

节点名称 功能描述
Abort 抛出错误并中断执行。请使用Houdini 已内置 Error 节点。
Array Color Array 属性在视窗中显示颜色。
Assert 根据输入条件判断是否报错。请使用Houdini 已内置 Error 节点。
Bake AO 烘焙带 LOD 模型的 AO 到 UV 贴图。
Boids 经典的鸟群(Boids)算法模拟。
Bound 计算最小包围盒,并确保点序稳定
Brick Wall Points 生成砖墙式排列的点。
Check Convex 检测输入几何体是否为凸包。
Divide Points By Weight 将输入的点根据权重属性进行分组。
Export Point Cloud 导出点云为 JSON 数据。
Get Object Orient 获取物体的三个主方向轴。
Helio Intergral 对高度场(HeightField)进行半球积分。
If Null Then Fallback 如果第一个输入为空,则使用第二个输入作为备用。
Import Multiple Fbx 导入多个 FBX 文件。
Import Multiple Fbx Enhanced 导入多个 FBX 文件,支持列表类型的文件路径参数。
Import Multiple FBX With Weight 根据权重导入不同数量的多个模型。
Join Detail 合并多个节点的 detail 属性。
K-Means K-Means 聚类算法,需预先指定聚类数量。(不建议使用)
Keep Biggest Pieces 提取或删除体积最大的几何体碎片。
Lerp 对属性进行线性插值。
Lerp by Attribute 根据属性 A,对属性 B(目前仅支持位置)进行线性插值。
Local Convex Hull 为物体的每个分离部分单独计算凸包。
Map Baker 支持多种插值模式的 Map Baker 节点。
Move Centroid To Origin 将物体的中心移动到世界坐标原点。
Normal Fixer 自动修正模型中方向相反的法线。
Parse Json Data To Geometry 读取 JSON 文件并生成点云。
Piece Count 计算 piece 的总数量。
Portal 双击即可跳转到指定网络路径的门户节点。
Put on Ground 将模型放置在 Y=0 的地面上。
Random Slide Curve Point 将曲线上的点沿曲线进行随机滑动。
Recook on Click 点击按钮时强制重新计算当前节点。
Remove Interior Pieces 移除位于模型内部的几何体碎片。
Scale to Specific Volume v2 将模型缩放到指定的体积大小。请使用自带的Match Size节点。
Smooth 根据不同属性控制平滑程度。

属性 (Attribute)

节点名称 功能描述
Attribute Auto Remap 自动重新映射属性的范围。
Attribute from Map with Alpha 读取带 Alpha 通道的贴图颜色。
Attribute Transfer 可以使用位置以外的其他属性进行属性传递。
Auto Levels 自动将属性范围重新映射到 0-1
Auto Remap Attribute 功能同 Attribute Auto Remap
Centroid Transform 以物体的中心点进行transform。建议使用内置的 Transform From Centroid 节点。
Move to Centroid 将一个模型移动到另一个模型的中心点。
Piece Range Remap class 属性(碎片ID)重映射到 0-n 的连续范围。
Push Fbx Path 处理 FBX 的 path 属性,用于生成带层级信息的 FBX。
Re-Number Pieces 重新整理碎片的编号,使其连续。例如,1,3,7,11,90 -> 0,1,2,3,4
Variant Attribute 在随机范围内生成 variant 属性,常用于 Copy to Points 随机选择物体。
Spatial Connectivity 根据 piece之间的相交、距离等关系判断空间连通性。
Directional Blur 根据一个方向属性,将另一个属性进行模糊

高度场 (HeightField)

节点名称 功能描述
HeightFileld Analysis 为 HeightField 提供类似 Volume Analysis 的分析功能。
HeightField Creation 创建多层 HeightField。
HeightField Mirror 镜像 HeightField。
HeightField Extend 以镜像、重复、普通模式扩展 HeightField 的范围。
HeightField Mask Invert 反转 HeightField 的 mask 层。
HeightField Mask Transfer 拷贝 mask 层。
UV From HeightField 从 HeightField 创建 UV。

体积 (Volume)

节点名称 功能描述
Crop Volume 对 Volume 属性进行 clamp 操作。
Fog from SDF 从 SDF(有向距离场)生成 fog 体积。
SDF Noise 为 SDF 添加噪声。比内置的Volume Noise SDF效果更符合直觉、更快。
SDF Trim Around Polygon 使用多边形(Polygon)截断 SDF。
Shrink SDF 收缩或扩展 SDF。注意:建议使用内置的 VDB Reshape SDF 节点。
VDB from Polygon (功能待补充)
Volume Connectivity 获取 Volume 的连通性(慢)。
Volume Copy 拷贝 Volume。注意:建议使用内置的 Name 节点。
Volume Fade 输入 Volume 和 Polygon,返回在 Polygon 范围内带衰减的 Volume。
Volume Fit 将 Volume 属性的值重映射到新的范围。
Volume Get Minmax Average 获取 Volume 属性的最大、最小和平均值。
Volume in Bound 获取多边形(Polygon)范围内的 Volume。
Volume Normalize 对 Volume 属性进行归一化。
Volume Resample by Size 将 Volume 进行重采样。
Volume Transfer Volume 版本的 Attribute Transfer
Points From Voxels 从体素生成带属性的点。

分组 (Group)

节点名称 功能描述
Group Noise 使用噪声进行随机分组。

IO

节点名称 功能描述
Fbx Output 用于避免在某些情况下自带的 FBX 导出节点出错。
Save Node Parm as Json 将指定节点的参数保存为 JSON 文件。可配合右键菜单实现节点参数的加载。

UV

节点名称 功能描述
UV Transfer 从一个几何体拷贝 UV 到另一个几何体。

虚幻引擎 (Unreal)

节点名称 功能描述
Build Unreal Static Mesh LOD 生成带 LOD 的静态模型,用于虚幻引擎。
Unreal Mesh Importer 导入虚幻引擎中的模型资产。

游戏 (Game)

节点名称 功能描述
Labs Vertex Animation Textures (Wrapped) ROP 节点。支持参考帧、UV通道、自定义烘焙区域(组)、是否导出Bound Mesh等功能的 VAT 节点。

通用功能

快捷命令 (Ctrl+Space)

在网络编辑器中按下 Ctrl+Space,可以快速搜索并调用各种指令。

  • Node Count: 节点计数
  • Open Python Shell: 打开 Python 命令行
  • Open Performance Monitor: 打开性能监测窗口
  • Merge Selected: 将选中的节点进行merge
  • Switch Selected: 将选中的节点进行Switch
  • Layout Nodes: 整理节点
  • Compress Node Space: 垂直压缩节点空间
  • Organize Wires: 通过自动添加 dot 节点来整理节点连线。
  • Nodes Snap to Grid: 将节点对齐到网格
  • ...

快捷命令支持用户自定义任意指令,参考此篇文章:快速命令

右键菜单

为节点和参数的右键菜单添加了丰富的 “Dolag” 分类功能。

节点右键菜单

常用操作
  • Copy Node Path: 拷贝节点路径,结合变量右键菜单的Paste (Relative) Node Path功能使用。
  • Dependency Viewer: 显示节点的引用与被引用关系,也可以选中节点后按Ctrl+R键快捷打开。 引用查看器.png
  • Find Unlocked Nodes: 查找所有解锁的节点。 解锁节点查看器.png
  • Duplicate Node as Reference: 以引用形式复制节点。
  • Copy/Paste Node Parms Reference: 拷贝粘贴节点参数的引用。
  • Delete Expression and Keys: 删除节点所有变量的表达式和关键帧。
  • Unlock Nodes Recursively: 递归解锁当前节点内的所有非官方节点。用于解除节点依赖,便于将HDA或HIP资产进行分发交付。
  • Copy/Paste Node Metadata Json to Clipboard: 将节点以 JSON 格式复制到剪贴板;从剪贴板中的JSON文本解析并赋予到节点上。
  • Copy/Paste Parameter Value as Json to Clipboard: 将节点所有参数以JSON格式复制到剪贴板;从剪贴板中的JSON文本解析并赋予到节点参数上。可将节点的参数拷贝到另一个节点上
整理节点
  • Compress Node Space: 收缩节点垂直间距。
  • Compress Node Space Downward: 向下收缩节点垂直间距。
  • Layout Nodes: 整理节点。能够保证逻辑上的上游节点一定在下游节点之上。
  • Layout Nodes Downward: 向下整理节点。
  • Organize Wire: 通过自动添加 dot 节点来整理节点连线。
节点样式
  • Copy Node Shape: 拷贝节点形状。
  • Copy Node Color: 拷贝节点颜色。
  • Copy Node Style: 拷贝节点颜色和形状。
  • Preset Style: 应用预设的几种节点样式,用于标识不同功能的节点。

参数右键菜单

参数菜单会在不同类型的参数处显示不同的内容。

常规参数
  • Paste (Relative) Node Path: 拷贝绝对/相对节点路径。配合节点右键菜单的Copy Node Path使用。
Ramp 参数
  • Subdivide Divide * n: 将 Ramp 细分 n 倍。
  • Randomize Ramp * n: 将 Ramp 的点值进行随机。
  • Randomize Interval * n: 将 Ramp 点的间距进行随机。
  • Smooth Ramp * n: 将 Ramp 进行平滑处理。
  • Set Ramp Interpolation: 批量设置 Ramp 所有点的插值方式。
  • Mirror Ramp: 镜像 Ramp。
代码参数 (VEX/Python)
  • Edit in VSCode: 在 VSCode 中打开并编辑代码(注意:不会实时写回 Houdini)。
  • Save Snippet: 保存 VEX/Python 代码片段。
  • Import Snippet: 导入已保存的代码片段。
按钮参数
  • Copy/Paste Button: 拷贝/粘贴按钮的点击事件脚本。
全局随机种子
  • Copy/Paste Global Seed: 拷贝/粘贴随机种子。(会破坏参数引用关系,不建议使用)

主菜单

Dolag菜单下

  • Visit Github: 在浏览器中打开项目 Github 页面。
  • Edit Configure Json: 编辑插件的 JSON 配置文件。
  • Open Plugin Folder: 打开插件所在的目录。
  • Open Doc: 在 Houdini 中打开此文档。
  • Open Doc Online: 在浏览器中打开在线文档。
  • Houdini Master AI: 内置的 ChatGPT,需要提供 API Key。
  • Install Pip: 为 Houdini 内置的 Python 安装 pip。
  • Pip Install: 使用 pip 安装 Python 模块。
  • Add Tuna Mirror: 添加清华镜像源以加速 pip 下载。
  • Clear Python Cache: 清空插件的 Python 缓存(开发用)。

Assets菜单下

  • Save Copy Unlock Asset: 将选中的HDA进行递归解锁后储存为新HDA,默认后缀为_Unlock。其作用在于,递归解锁后的节点可以无依赖地交付给其他人使用,意味着使用者无需安装如SideFx LabsDolag Houdini ToolSet等插件也能正常运行。

File菜单下

  • Save Incrementally: 增量保存,自动为文件增加后缀。

其他功能

  • Node Exchanger: 按住 Ctrl+AltShift+Ctrl 拖动节点连接线,可以移动或复制它们。可在菜单栏>Dolag>Preference中开启或关闭。
  • Drag Snap to Grid: 按住Alt然后鼠标中键拖动节点时,节点会吸附到网格上。可在菜单栏>Dolag>Preference中设置网格大小。
  • Dependency Viewer: 选中节点后按Ctrl+R键快捷打开引用查看面板。
  • Emoji Sticker: (功能待补充)