What & How & Why

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
vfx:houdini:miscs:tips [2022/12/21 04:33] – [拷贝物体(随机旋转)] codingharevfx:houdini:miscs:tips [2023/02/23 08:28] (当前版本) – [Houdini TIPS] codinghare
行 1: 行 1:
-======Houdini TIPS====== +======Houdini TIPS======  
-Ver.18.0\\  +//Houdini 使用相关 Tips//\\  
-Houdini 使用相关 Tips+//Ver 19.5//
 ---- ----
 ====UI==== ====UI====
行 23: 行 23:
 ch('ty') * 0.5 //copy this channel to size of Y ch('ty') * 0.5 //copy this channel to size of Y
 </code> </code>
 +<WRAP center round box 100%> 
 +新版本 houdini 中可以使用 ''match size'' 达到同样的效果。 
 +</WRAP> 
 +===反选 Group 中的元素=== 
 +**问题描述**:选择不属于 group 中的元素。 
 +\\ 
 +\\ 
 +//How to Fix//: 
 +  * 使用 ''blast'' 节点删除 group 中的元素 
 +  * 使用 ''split'' 节点分离 group 中的元素
 ===将一组属性 Remap 到 [0,1]=== ===将一组属性 Remap 到 [0,1]===
 **问题描述**:如何将一组属性 Remap 到 $[0,1]$? **问题描述**:如何将一组属性 Remap 到 $[0,1]$?
行 77: 行 86:
 点拷贝的过程中,几何体的旋转方向由两个因素决定: 点拷贝的过程中,几何体的旋转方向由两个因素决定:
   * 方向的确定:由 ''up'' 向量与 ''normal'' 向量决定   * 方向的确定:由 ''up'' 向量与 ''normal'' 向量决定
-  * 方向的指向: ''+z'' 代表了正上方,而不是 ''+y''+  * 方向的指向: ''copy to point'' 会使用法线 ''@N'' 方向匹配之前模型 ''+z'' 使用 ''@up'' 向量的方向匹配之前 ''+y'' 的方向。
 </WRAP> </WRAP>
 +<WRAP center round tip 100%>
 +以 houdini 自带的猪头为例子。默认情况下,猪头的鼻子是朝着 ''+z'' 方向的。如果将其拷贝到一个 grid 上,默认情况下 grid 上的点法线是朝上的,也就是 ''(0,1,0)''。此时如果进行拷贝,那么 gird 上的 ''N'' 会以猪头模型的 ''+z'' 方向为准进行拷贝,因此得到的拷贝结果猪鼻子都会朝上,也就是所谓的 N 对应 ''+z''。\\ \\ 
 +如果此时需要指定旋转,那么必须加入 ''@up'' 向量。''N'' 已经定义了 ''+z'',''up'' 向量会定义 ''+y'',因此猪头的旋转就固定下来了。
 +</WRAP>
 +
 //How to Fix//: //How to Fix//:
 通常情况下有两种解决方案: 通常情况下有两种解决方案:
行 84: 行 98:
   * 如果只需要旋转随机,那么使用 ''@orient''   * 如果只需要旋转随机,那么使用 ''@orient''
 <WRAP center round box 100%> <WRAP center round box 100%>
-''@orient'' 是四元数,因此 ''attribute randomize'' 需要设定为四维向量。同时,distribution 中的 Direction or Orientation 的选项可以更好的配合 ''orient'' 使用。+''@orient'' 是四元数,因此 ''attribute randomize'' 需要设定为四维向量。同时,distribution 中的 Direction or Orientation 的选项可以更好的配合 ''@orient'' 使用。
 </WRAP> </WRAP>
- +Ref:[[https://www.sidefx.com/docs/houdini/copy/instanceattrs.html|Copying and instancing point attributes ]] 
 +===改变多边形的面数=== 
 +**问题描述**:如何改变几何体的面数?\\ \\  
 +//How to Fix//: 
 +==将临近的点合并== 
 +使用 ''fuse'' 的 ''Snap Distance'' 选项可以合并相邻的点,从而达到减少几何体面数的目的。 
 +==按照百分比减少几何体的面数== 
 +使用 ''poly reduce'' 节点中的 ''percent to keep'' 选项即可;有几种方式可以选择。 
 +==重建几何体面数== 
 +使用 ''remash'' 节点即可。 
 +  * 如果希望在不改变几何体形状的前提下提升细节,选择 ''Edge-length: Adaptive''  
 +  * 多个几何体同时存在的情况下,可以使用体积的方式重建几何体,使用 ''remesh to grid'' 节点即可。该节点与之前的 VDB 工作流程类似。 
 +==筛选复杂几何体中的指定部分== 
 +  * 可以使用 ''measure'' 计算指定几何体的特性(比如面积)筛选出不需要的部分,再删除掉。(需要选择 ''pre piece'' 来选择分离的几何体)
 ====Vop / VEX==== ====Vop / VEX====
 ===如何利用 ptnum 生成圆=== ===如何利用 ptnum 生成圆===
行 93: 行 119:
 \\ \\
 \\ \\
-原理就是利用极坐标系中坐标的定义($(cos(\theta), sin(\theta))$, 假设这里是单位圆)。+原理就是利用的定义($(cos(\theta), sin(\theta))$, 假设这里是单位圆)。
 \\ \\
 \\ \\