个人记录下,谨防遗忘。同时丰富下Hou的中文搜素环境。

1、自定义启动界面
① 设置完界面后,保存自定义界面(Save Current Desktop As...)
② Edit-->Preferences-->General UIInterface-->Startup in Desktop:自行选择
Scene窗口底部的底部 ‘帮助提示文字’ 挪个位置:
Edit-->Preference-->Notifications : Help Tip Area-->Status bar
④ 字体设置:
Edit-->Preference-->General User Interface-->Global UI Scale : 1.2(不建议设置过大)
⑤ Scence窗口按D键有更多设置
⑥ 记得保存布局:Build-->Save Current Desktop

2、项目设置
① 点击 new project:命名+路径+勾选需要创建的文件夹
② 保存 hip工程 文件:可保存到上面的项目文件夹内
③ hip工程访问项目内的资源文件:可使用file节点
(④ $HIP == 项目路径)
⑤ 可直接打包整个项目文件给同事/他人
⑥ 更改项目工程路径/名:
Edit-->Aliases and Variables-->Variables : 改

3、摄像机
Houdini单位:1网格=1m(Maya单位1网格=1cm)
② 景深设置:
Sampling-->Focus Distance(景深);
选中相机后,Scene窗口按Z键。
③ Shiter Time快门设置:看文档。

4、给节点注释:节点的 i :Node info里面写

5、变换坐标更改(以法线为坐标、以世界为坐标....)
选中点/线/面后,scene窗口变换坐标原点右键-->Align Handle:自行选择

6、对象枢轴设置
选中点/线/面后,scene窗口变换坐标原点右键-->Align Handle-->Start Orienttation Picking:自行选择
(可选择其它对象上,也可以与吸附功能相结合使用)

7、两个面的最短路径上的面:选择面后,按A键。

8、Select的更多操作
① 选择相同间隔的面:先选2个有间隔的面,右键-->(SELECT(S to overlay))-->Pattern Selection-->Set Pattern(快捷键Shift+P)-->Shift+箭头(逐个加选间隔面)
② 对于上一步的快捷键操作:先选2个有间隔的面-->Shift+P-->Shift+箭头:逐个加选间隔面(Ctr+Shift+箭头:选择一圈间隔面)
③ 右键有更多选择操作:反选、扩选、面选转点选、选择三/四/五边面、……

9、帧移动/选择
shift+左键:可在时间轴上框选帧
鼠标中键:移动帧

10、自定义节点/创建数字资产
        选中需要的多个节点,点右上角(subnet)打包-->右键:Digital Asset—>Creat New…-->命名,一般使用默认保存路径,保存-->编辑节点参数(需要的参数拖进来或创建参数进行关联,方便调节)
        修改资产节点:资产节点右键-->Allow Editing of Contents,即可修改资产节点;修改完后可以增加为新的版本:Digital Asset—>Increase Major/Minor Version-->…………
        修改资产节点参数:资产节点右键-->Type Properties...-->(即可修改参数)-->点击Apply-->最后资产节点右键点击Match Current Definition。
        导入资产:一般放在此路径-->C:\Users\_用户名_\Documents\houdini19.5\otls

11、Foreach节点迭代常用写法
① 如获取迭代值,
detail("../foreach_end1/", "iteration", 0) 
detail("../foreach_begin2_metadata1/", "iteration", 0)
detail("../Iteration/", "iteration", 0)
② detail(-1, "iteration", 0) //   如下图,foreach_begin2_metadata1节点拖到carve1节点创建的通道中去(可与 反引号 `` 结合使用)(这个通道创建方式:节点参数面板_点击小齿轮_Add Spare Input)

12、Compiled Block节点,与Foreach节点结合,并勾选Foreach和Compiled的多线程,能大大缩减编译时间。(带齿轮的节点,不能使用Compiled Block节点)

13、导入序列图文件的几种使用技巧
可以使用 padzero 函数进行补位 (函数参数第一个的意思是数字有多少位,下图导入的序列图是从 0002.jpg 到 0192.jpg)

其它:导出文件的命名方式,可以参考fileCache节点的那几种命名方式。

14、通道参数使用的point()表达式,与VEX里面的函数用法略有不同,根据提示去写就好。
(Mix:第一个0表示点序号,第二个0表示数据类型(int、float…)

15、简单螺旋线
float r = chf('r');
float c = chf('c');
@P.x = r*cos(@P.y*c);
@P.z = r*sin(@P.y*c);

16、 for(int pt:pts) 与 foreach(int pt;pts) 功能相同,区别是一个用冒号,一个用分号。

17、一元操作符:a++、a--、++a、--a运算
a++、a--:先赋值,再运算
++a、--a:先运算,再赋值

18、撒点可以使用scatter、add,还可以用pointsfromvolume

19、时间控制:如在解算器内,使某行为20帧运行一次

20、通道隐藏表达式写法(Method是一个选择通道)。看不懂的,可以参考Hou自带的一些节点资产写法。

21、通道设置面板,Separator是分割线的意思。

22、Clamp函数:ratio = clamp(ratio, 0, 1); // 限制数值范围,ratio小于0时,ratio=0; ratio大于1时,ratio=1

23、sample_direction_cone ※ 在给定0到1之间的均匀数的向量2的情况下,在中心的最大角度内生成统一的单位向量

24、carve节点可以控制Line线UV的插值

25、enumerate:将所选point或primitive的属性设置为顺序数字或字符串。(相当于设置个id)

26、比如使一个模型的面打断后,进行打包Pack
以下两种方法均可,第一种更快

27、Ctr+Shift+Alt复制节点,可以把参数引用等一起复制过来

28、动画与输出缓存(如,水滴落到模型上)
1)导出:模型与水滴动画一起导出,使用rop_alembic节点直接导出(占内存较大)
      导入:使用alembic节点导入,一般还需要解

2)导出:仅导出水滴动画,把不要的属性删除(占内存较小)
3)导出:仅导出水滴动画,使用rop_geometry节点导出,注意命名,可以参考这个来命名,(bgeo是Houdini的格式,sc表示进行一定的压缩,占内存比方法2再小)
      导入:使用file节点导入
4)导出导入:filecache节点(相当于rop_geometry+file节点)

29、Ocean Foam 海洋泡沫。※ 产生基于颗粒的泡沫,一般用贴图更方便好看。

30、oceanevaluate节点的Export to Texture功能
输出选择推荐使用Tif格式。如果输出选择的是PNG格式,只能选择16bit,若选择32bit还是会被压成16bit。
导出后,可使用这些Tif图做置换贴图 ,把海洋复现出来,具体为:grid节点(需细分)—>attribFromMap节点(选择贴图)—>pointWrangle(@P+=@Cd)—>attribDelete(删@Cd属性)

31、资产安装(一般放在安装文件夹内)
资产:otls文件夹
脚本:scripts文件夹
工具架(.shelf格式):toolbar文件夹。(之后在Houdini的工具架那,点击New Shelf...—>……等等)

32、Mantral渲染设置基础
① 一般选择基于物理渲染
mantral-->Rendering-->Rendering Engine:Physical Based Rendering
② 采样值Sampling越高,越清晰,渲的也慢
③ 可以选择是否使用所有CPU核心进行渲染
Render-->Use Max Processors:自行选择
④ Objects设置选项:可以选择渲染部分/指定对象
⑤ 渲染低质量效果来预览:Override Camera Resolution
⑥ 分层渲染
Extra Image Planes:看需勾选(可选折射、粗糙、高光……等等)
⑦ 记得选择保存路径

33、亮度的计算公式:亮度= 0.299×R + 0.587×G + 0.114×B

34、灯光
仅需要灯光照射某一对象
方法一:节点窗口-->“+”-->New Pane Tab Tybe-->Mantra Rendering-->light Linker:自行设置
方法二:Geo设置-->Render-->Light Mesh:自行设置
② 环境光Environment Light
需要渲染Hdr贴图:可勾选 Light-->Render Light Geometry

35、RS渲染器?的凹凸和置换:凹凸仅在视觉上,置换会真的有凹凸。

36、RS渲染通道及合成一般公式

37、VEX实现模型对齐地面(直接用match size节点也行)

int npoint = npoints(0);
vector minHeight = point(0, 'P', 0);
for(int i=0; i<npoint; i++){
    vector currentNumPos = point(0, 'P', i);
    if(currentNumPos.y < minHeight.y){
        minHeight = currentNumPos;
    }
}
for(int i=0; i<npoint; i++){
    vector pointPos = point(0, 'P', i);
    pointPos.y -= minHeight.y;
    setpointattrib(0, 'P', i, pointPos);
}
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐