Houdini笔记操作技巧_集锦

2024-04-10 03:04

本文主要是介绍Houdini笔记操作技巧_集锦,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

个人记录下,谨防遗忘。同时丰富下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)打包-->右键:Creat Digital Asset-->命名,一般使用默认保存路径,保存-->编辑节点参数(需要的参数拖进来及进行关联,方便调节)
修改节点及参数:节点修改完-->资产节点右键-->Type Properties...-->(修改参数)-->点击Apply-->最后右键点击Match Current Definition

11、Foreach节点迭代常用写法
① 如获取迭代值,detail("../foreach_end1/", "iteration", 0)
② detail(-1, "iteration", 0) // -1:如下图,是指在 被操作(carve1)节点 内创建的的通道(参数拖进来就好)(可与 反引号 `` 结合使用)

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

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

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是一个选择通道)

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实现模型对齐地面(这忘了)

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);
}

这篇关于Houdini笔记操作技巧_集锦的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/889910

相关文章

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

Java 枚举的常用技巧汇总

《Java枚举的常用技巧汇总》在Java中,枚举类型是一种特殊的数据类型,允许定义一组固定的常量,默认情况下,toString方法返回枚举常量的名称,本文提供了一个完整的代码示例,展示了如何在Jav... 目录一、枚举的基本概念1. 什么是枚举?2. 基本枚举示例3. 枚举的优势二、枚举的高级用法1. 枚举

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

JavaScript DOM操作与事件处理方法

《JavaScriptDOM操作与事件处理方法》本文通过一系列代码片段,详细介绍了如何使用JavaScript进行DOM操作、事件处理、属性操作、内容操作、尺寸和位置获取,以及实现简单的动画效果,涵... 目录前言1. 类名操作代码片段代码解析2. 属性操作代码片段代码解析3. 内容操作代码片段代码解析4.

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

Python使用asyncio实现异步操作的示例

《Python使用asyncio实现异步操作的示例》本文主要介绍了Python使用asyncio实现异步操作的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录1. 基础概念2. 实现异步 I/O 的步骤2.1 定义异步函数2.2 使用 await 等待异

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表