模型外形看着正常,贴图接缝却错位,或者法线调整后硬边突然变圆,这些问题有时与属性存放的位置有关。Houdini把几何数据分成点、顶点、图元和整体等层级,同名属性也可能出现在不同层级中。只看视口,很难判断某个节点到底改了什么。几何电子表格能够把属性值列出来,配合节点前后对照,可以查清数据来源。点与顶点的区别,则需要结合多边形共享位置的方式理解。
一、Houdini几何体属性在哪里查看
查看属性时,应先确定检查哪个几何节点,再选择属性层级。下面按英文界面说明,操作以对象内部的几何节点网络为例。
1、打开几何电子表格
几何电子表格适合查看属性的具体数值,节点参数面板则用于设置操作,两者承担的任务不同。
①在【Network Editor】中进入几何对象内部,选中需要检查的几何节点。
②右键单击该节点,选择【Spreadsheet】,打开对应的【Geometry Spreadsheet】。
③需要保留独立面板时,点击面板顶部的新建标签按钮,依次选择【New Pane Tab Type】→【Inspectors】→【Geometry Spreadsheet】。
④核对表格顶部的【Node】路径,确认正在查看目标节点的输出。
2、切换属性层级并排除筛选影响
①在【Geometry Spreadsheet】工具栏中切换【Points】、【Vertices】、【Primitives】和【Detail Attributes】,分别查看各层级。
②在【Points】中查找【P】,核对位置分量;查找已有的【Cd】、【N】或其他属性列。
③找不到目标数据时,检查【Group Filter】,关闭过滤或清除表达式,再查看完整记录。
④分别选中上游和下游节点,对照同名属性是否新增、消失或改变。
表格中的一行对应当前层级的一个元素,向量属性可能拆成多个分量列。点表里没有uv,并不能说明模型没有UV,它可能存放在顶点层级。几何节点也未必自动生成速度、法线等全部属性,缺少列时还要确认上游是否创建过它。
二、Houdini点属性与顶点属性有什么区别
点保存空间位置,顶点是图元引用点的连接记录。对多边形来说,可以把顶点理解为每个面的角,同一个点可以被多个面的角引用,而每个角能够保留自己的属性值。
1、用简单方盒观察数量差异
①在几何节点网络中按【Tab】,创建【Box】节点。
②将【Primitive Type】设为【Polygon】,关闭【Divisions】,启用【Consolidate Corner Points】。
③打开该节点的【Geometry Spreadsheet】,分别查看【Points】、【Vertices】和【Primitives】中的记录。
④核对这个六面方盒是否具有八个点、二十四个顶点和六个多边形。
每个方形面有四个角,六个面共有二十四个顶点;相邻面共享空间角点,所以点数可以只有八个。若关闭角点合并或改变拓扑,数量也会变化。坐标相同的两个点仍可能是独立元素,不能只凭位置重合判断它们已经连接。
2、点属性适合共享一份数值的数据
点属性为每个点保存一份数据。位置P属于点属性,速度v、缩放pscale和颜色Cd也经常存放在点上,具体用途取决于后续节点。
①在已有几何后添加【Attribute Wrangle】,将【Run Over】设为【Points】。
②在【VEXpression】中输入【v Cd={1,0,0};】,生成红色的点颜色属性。
③打开输出节点的【Geometry Spreadsheet】,切换到【Points】,检查【Cd】的三个分量。
④切换到【Vertices】,核对本次操作是否创建了顶点层级的【Cd】。
3、顶点属性能够保留接缝两侧的差异
①在方盒后连接【UV Unwrap】,打开输出的【Geometry Spreadsheet】。
②切换到【Vertices】,查找【uv】属性并比较接缝两侧的记录。
③添加【Normal】节点,将【Add Normals to】设为【Vertices】,把【Cusp Angle】设为【30】。
④检查顶点层级的【N】,对照方盒相邻面上的法线方向。
同一个空间点在UV接缝两侧,可能需要对应不同纹理位置,顶点属性可以保留这几份坐标。法线也类似,顶点法线能够在共享点处表达硬边。顶点属性同样可以保存连续的数据,并非只用于接缝或硬边。
三、Houdini属性层级选错后怎么检查
层级转换会改变属性的组织方式,部分转换还需要把多个值合成一个值。转换前留下原节点,才能判断问题来自原数据还是转换过程。
1、检查转换方向和合并方法
将点属性转到顶点时,可以让引用该点的顶点获得相应数值;反向转换时,一个点关联的多个顶点值可能发生冲突,需要选择合并规则。
①在带有顶点【uv】的节点后添加【Attribute Promote】,将【Original Name】设为【uv】。
②将【Original Class】设为【Vertex】,【New Class】设为【Point】,检查【Promotion Method】。
③需要保留原数据用于比较时,启用【Change New Name】,将【New Name】设为【uv_point_test】,关闭【Delete Original】。
④对比上游的顶点【uv】与下游的点【uv_point_test】,检查接缝位置的数据变化。
平均等合并方式可能改变接缝坐标,转换回顶点也不会自动恢复之前的差异。同名顶点属性转为点属性时,原属性在部分情况下仍会被删除,使用不同名称更便于保留对照。
2、核对节点处理的层级与实际效果
①属性写入后没有达到预期时,先在【Geometry Spreadsheet】各层级中检查属性名称和值。
②使用【Attribute Wrangle】时,核对【Run Over】是【Points】还是【Vertices】,并检查【Group】范围。
③修改法线后,在【Normal】中核对【Add Normals to】和【Cusp Angle】,对照输入、输出节点。
④保存工程后,检查后续节点是否重新生成、删除或转换了同名属性,再验证贴图和着色结果。
视口颜色、贴图和着色效果还会受到材质及显示设置影响。表格中存在正确数值,只说明数据已经写入对应层级,后续节点是否使用这份属性仍需核对。按节点顺序定位变化,比在末端反复重建属性更容易查清原因。
总结
几何电子表格把Houdini节点中的属性变成了可核对的数据,点与顶点的区别则解释了共享位置为什么还能保留不同的UV和法线。属性名称、存储层级与后续读取方式需要相互对应,层级转换也可能丢失原有差异。理解这些关系后,贴图接缝、硬边和属性缺失等问题会更容易定位。希望这些例子能帮助大家在查看节点时,既看见模型外形,也读清背后的数据。
