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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/543586.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

换手机了怎么重新设置Microsoft Authenticator验证?

进入到这个页面 https://mysignins.microsoft.com/security-info 选择安全信息

顺序表实战——基于顺序表的通讯录

前言&#xff1a;本篇文章主要是利用顺序表作为底层&#xff0c; 实现一个通讯录。偏向于应用&#xff0c; 对于已经学习过c的友友们可能没有难度了已经。没有学习过c的友友&#xff0c; 如果顺序表不会写&#xff0c; 或者说没有自己实现过&#xff0c; 请移步学习顺序表相关内…

手机数据恢复工具

下载地址&#xff1a;手机数据恢复工具.zip Android/HarmonyOS 文件误删是日常使用电子设备时经常遇到的问题&#xff0c;也许一不小心就就可能会误删。 俗话说&#xff1a;数据无价&#xff0c;一但想要找回一些被删除的文件&#xff0c;就需要耗费大量的精力和财力来恢复文…

【网站项目】面向企事业单位的项目申报小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

【电控笔记5】电流环速度环三环参数整定

旋转坐标系下的电压方程,由id和iq计算出ud和uq Lq:q轴电感 Ld:d轴电感 输入是电流,输出是电压? 内嵌式pmsm(ipmsm)模型建立: 其中: λf是转子磁场在定子绕组所产生的磁通链,为一常数,在psms中转子磁场非常稳定几乎不变。 ipmsm转矩方程式: 对永磁同步马达而言,使…

Niobe开发板OpenHarmony内核编程开发——定时器

本示例将演示如何在Niobe Wifi IoT开发板上使用cmsis 2.0 接口进行定时器开发 Timer API分析 osTimerNew() /// Create and Initialize a timer./// \param[in] func function pointer to callback function./// \param[in] type \ref osTimerOnce …

ELK日志分析系统+Filebeat

目录 一、Filebeat介绍 1、Filebeat简介 2、Filebeat的工作方式 3、filebeat工作流程 4、Filebeat的作用 5、filebeat的用途 1.为什么要用filebeat来收集日志&#xff1f;为什么不直接用logstash收集日志&#xff1f; 2.filebeat和logstash的区别 二、部署(ELFK)Fileb…

uniCloud联表查询方式举例

联查表&#xff1a; 1. 在shema中配置外键&#xff1a; 2.在前端使用&#xff1a; <unicloud-db v-slot:default"{data, loading, error, options}" :options"formData" collection"opendb-news-articles,uni-id-users" //这里这么写 fi…

八、Yocto 创建自定义的conf文件

文章目录 Yocto创建自定义的conf文件保存当前项目的配置文件使用自定义配置创建编译工作区 Yocto创建自定义的conf文件 本篇文章为基于raspberrypi 4B单板的yocto实战系列的第八篇文章&#xff1a; 一、yocto 编译raspberrypi 4B并启动 二、yocto 集成ros2(基于raspberrypi 4B…

本地web项目启起来后,无法在浏览器(chrome)看到源码,从而无法打断点;Framework Ignore list

问题描述 本地web项目启起来后&#xff0c;无法在浏览器(chrome)看到源码&#xff0c;从而无法打断点 其他浏览器没看&#xff0c;开发环境一致专注于chrome&#xff08;其余浏览器有测试同事提缺陷了&#xff0c;才会去看&#xff09;&#xff0c;其余浏览器有没有这个问题&…

Java代码基础算法练习-拆分一个三位数的个位、十位、百位-2024.04.14

任务描述&#xff1a;输入一个三位数&#xff0c;逆序输出这个三位数的个位、十位、百位对应的数字&#xff0c;用空格分开。 任务要求&#xff1a; 代码示例&#xff1a; package April_2024;import java.util.Scanner; public class a240414 {public static void main(Strin…

Leetcode - 周赛392

目录 一&#xff0c;3105. 最长的严格递增或递减子数组 二&#xff0c;3106. 满足距离约束且字典序最小的字符串 三&#xff0c;3107. 使数组中位数等于 K 的最少操作数 四&#xff0c;3108. 带权图里旅途的最小代价 一&#xff0c;3105. 最长的严格递增或递减子数组 本题求…

深度学习图像处理基础工具——opencv 实战2 文档扫描OCR

输入一个文档&#xff0c;怎么进行文档扫描&#xff0c;输出扫描后的图片呢&#xff1f; 今天学习了 opencv实战项目 文档扫描OCR 问题重构&#xff1a;输入图像 是一个含有文档的图像——> 目标是将其转化为 规则的扫描图片 那么怎么实现呢&#xff1f; 问题分解&#…

量子城域网系列(三):搭建一个点对点量子保密通信网络

各位小伙伴周末愉快呀&#xff0c;今天是4月14日世界量子日&#xff0c;至于为今天是世界量子日可以围观我之前的文章&#xff1a;关于世界量子日。 之前的文章中我们讨论了量子密钥在通信系统各层协议中的应用&#xff0c;那在实际工程中如何真正落地一个量子加密网络呢&a…

【Linux】序列化与反序列化{服客编程/守护进程/JSON}

文章目录 1.引入2. 静态成员函数3.TCP&#xff1a;传输控制协议4.守护进程4.0前台进程4.1介绍4.2认识4.3会话4.3ps axj4.4理解4.5/dev/null4.6守护进程和孤儿进程 5.JSON6.完整代码6.1Makefile6.2Socket.hpp6.3Protocol.hpp6.4Log.hpp6.5Daemon.hpp6.6TcpServer.hpp6.7Client.c…

2024年DTC的回顾与思考

刚结束了2024的数据库技术嘉年华 这是我从2017年开始就参加的技术大会。中途因为疫情的耽误。正常来说我是连续的。知道我的朋友都知道我习惯炫耀一下。 按照惯例&#xff0c;此时此刻群友都在写大会回顾。只是有几个不讲武德的人已经发送了。下面有主观和客观的分析。 主观上…

HTML图片

图片标签&#xff1a; ~img图片标签 ~是自结束标签 ~属性 ~src表示要引入图片的位置 ~src需要一个路径作为参数 ~alt是对图片的描述 ~帮助搜索引擎来识别图片 ~如果不写alt则搜索引擎不会收录图片 ~width与height只有一个时是同步改变的&#xff0c;但两者同时存在时则是两者按…

AI来了,Spring还会远吗?(Spring AI初体验)

目录 一、创建项目二、first demo1、application.properties2、ChatController3、结果 三、个人思考 一、创建项目 官方文档的Getting Started 最低要求&#xff1a;JDK17 阿里云的Server URL&#xff08;https://start.aliyun.com/&#xff09;搜不到Spring AI&#xff0c;…

秒杀优化-Redis完成秒杀资格判断

6.2 秒杀优化-Redis完成秒杀资格判断 需求&#xff1a; 新增秒杀优惠券的同时&#xff0c;将优惠券信息保存到Redis中 基于Lua脚本&#xff0c;判断秒杀库存、一人一单&#xff0c;决定用户是否抢购成功 如果抢购成功&#xff0c;将优惠券id和用户id封装后存入阻塞队列 开启…

五月收到返稿意见,提示语言太差,需要润色

五月收到返稿意见&#xff0c;提示语言太差&#xff0c;需要润色&#xff0c;于是向周围伙伴们打听了是给润色公司还是别的润色软件润色比较好。得出的结论是&#xff0c;如果需要稳妥一点&#xff0c;还是找专门的润色机构&#xff0c;在返稿的时候&#xff0c;附上润色证明&a…