分享

【翻译】学习houdini16之前你需要了解的知识

 cghunter 2021-04-16

——  微资讯 · 微课程  ——

利用零碎时间,走上超神之路!


英文名 Become A houdini Wizard 成为一个houdini魔术师

原文翻译《3Dworld》第二篇houdini文章(需要原版资料请查找前天分享内容)

小编导读

作者是富有经验的houdini用户和导师,这篇文章没有讲命令和步骤,而讲述了houdini最核心的概念:程序化,属性,网络和流程。这是houdini的核心和本质,如果你真的理解了这些概念,houdini学习就会顺畅很多,祝大学学习进步。

以前houdini一直被认为需要很深的学习曲线,特别你是从其他三维软件转过来的话。houdini不仅需要很好的3D动画基础知识,而且相对于传统三维软件来说需要一个全新的和不一样的思维方式。

理解这些差异,并且再了解一下额外一些概念,是揭开houdini工作流程神秘面纱的关键,并且能降低学习的难度。

在多年的时候houdini之后,并且给各个层次的houdini用户上课后,我想向大家分享一些关键点,这些可以帮助你了解houdini的绝大部分。

01程序化

houdini与其他三维软件最大的差别就是程序化(proceduralism)。

根据词典定义:一些列的小任务或者小步骤实现最终完成目标。

在其他大部分的三维软件中,场景是艺术家通过手动添加元素和优化物体手工实现的。这个和粘土制作很像-时间都花在雕刻一个漂亮的最终产品。这个方法的问题是当流程需要重复或者修改的时候。通常情况下艺术家需要完全重复一遍这个流程。

对于只是创建一个模型这个方法还可以,但是杜宇真实的需求需要大量的耗费时间的产品:比如对产品部分资产进行缩放或者对于修改需求快速执行。

在houdini的程序化方法中,场景是被描述为软件中的一个个小步骤,这个步骤通过正确的排序(链接)可以创建最终的产品。

在houdini中创建场景就像是通过描述整个流程中的每隔一小步骤来设计一个机器。当你计算全部或者部分进程就可以创建新的东西。这样做的优点是一旦你设计好这个流程,机器会自动重复并且自动创建多个物体。只需要简单地调整一下程序化的参数和变量可以自动生成有差异的模型。

在大部分的3D软件中,场景是先被设计然后在通过手工制作。在houdini中,整个系统别描述为创建场景的过程就是设计的过程,同时可以不断被重复执行。

理解程序化,设计和创建的同步流程是体会houdini强大和有趣的核心。

02节点和容器context

在houdini中,你会发现程序化被定义为一个个节点。节点带有参数,用来影响节点的效果/行为。节点可以被当做一个个迷你小程序可以处理通过这个节点的数据。节点是houdini强大程序化来的来源,理解每个节点特性是获得强大能力的基础。有一些节点几乎是所有houdini节点中都会用到的,比如copy,scatter和wrangle节点,还有一些特定用法的节点,比较少用。

houdini有不同的容器用来做不同的东西,比如建模,模拟和甚至是合成。每个都有它单独节点集合并且在不同的容器中数据可以非常简单地传输。

houdini用户会有他们特定的语言来只带这些容器,比如你会经常听到:"让我们在sops中做这个然后导入到dops中在回到sops中使用rops渲染。“

在网络中连接点然后在不同的容器中分享数据就是艺术家可以创建一个强大的程序化实现大量工作的原因。

现在我们理解了程序化概念,接下来我们要了解数据了。

03所有都是关于点上的数据

重要的,所有你在houdini做的事情最终都是要回归到控制和存储在点的数据上,这个数据(data)被称为属性。一个重要是属性"P"代表的是位置。没有这个属性,你就无法定义点在空间正的坐标。其他常用的属性"N"指代法线。更有用的是,你可以自定义属性。

当几何体连接到这个网络中的时候,节点就对这些数据进行处理。在节点上的参数或者变量可以让你控制节点的行为,这个最终就是影响属性。既然所有的点都有属性P(位置),你可以做的最简单的事情就是改变P属性值,其实就是让点运动。控制属性是在houdini中的绝大部分工作。

你可以通过geometry spreadsheet面板或者在节点右击选择geometry spreadsheet对物体属性进行查看。


04网络布局和执行

理解节点网络是如何执行对于设计高效的流程和修复问题非常重要。节点的蓝色显示标签是你开始的地方。houdini从上到下给予左边的数据传输。一旦在最开端,这就是第一个需要被执行的节点。houdini会自动执行树状结构节点和相互依存的关系。如果houdini碰到一个分支在它往下执行个途中,那么他会在下一个左边的分支从头开始执行,如此类推(比如下图中又是三个分支,从第一个分支执行到merge,然后第二分支执行到merge,第三分支执行到merge,最后面再执行到out)一旦到了结尾,那么houdini会显示这些节点的执行结果。需要一直记住的是后,houdini永远都是从做到右的执行顺序。

05访问数据

houdini类似于windows系统中的文件和文件夹一样来组织数据和节点。

要看这个文件系统,可以切换到technical desktop技术布局来查看tree view列表。这个tree view树状图是最好的导航和理解其他人的节点网络。这些节点可以认为是文件夹和其他容器中的数据。你可以在network 面板最上面查看到节点路径

在表达式中,你可以使用这种文件路径访问节点数据和通道。

比如,你想访问默认box节点中的size x参数,使用ch()表达式,你可以使用路径

/obj/box_object1/sizeX。这个路径可以描述为 到节点的路径/参数。

如果你想查看参数的表达式名字,那么可以把鼠标停留在这个参数上面,会弹出一个下拉窗口显示这个参数的表达式名字和参数解释。

对于其他表达式,你使用文件路径,节点才知道你要操作与哪些节点。

houdini会自动补充你的文件路径,当你写这些表达式的时候,这个和linux系统是一样的。

06使用wrangle节点添加快速强大的控制

不是节点自身可以处理或者改变数据。VEX是一个高效率的表达式语言,并且允许你直接编写控制属性。Wrangle节点是一个快速简单的方式来书写一些易读写的代码来从空属性。wrangle节点在houdini各个容器中都可以找到。

在wrangle节点,在文本输入框右边有一个小的三角形下拉按钮。点击这个按钮可以展示一个菜单包含了很多有用的vex 代码的案例和预制,你可以直接使用。更多的案例可以在帮助文档中找到。

07实际工作

一个好的实际工作习惯是你选择一个固定颜色主题来赋予主要的节点,这样做可以让你和其他人快速在庞大的网络节点中定位到它们。比如我经常把数据输入节点标识为绿色和数据输出为红色。在面板中快捷键C可以激活颜色面板,这个可以让你给节点上颜色。选择节点,然后在调试面板中选择一个颜色,然后你的节点就带有新颜色了。

在最新的houdini版本(houdini16)中你还可以改变节点的形状。有X形态,圆圈形态甚至是骨头形态。

不管你选择什么样的颜色或者形态,但是要注意的是连贯性,否则当你最后打开你的场景,感觉什么都不对头了。

节点网络可能会很复杂并且对于他人比较难理解,甚至是你自己如果太久没有打开这个网络都比较难识别。所以你应该经常清晰标准你的节点并且利用houdini的标签系统来记录关键注释,可以让你的网络节点更加清晰。

最后

总结,houdini不过是在一个文件系统中一系列通过节点定义的程序化功能可以控制点的属性。

这就是houdini最重要的地方-一旦你掌握了刚才我总结的概念,那么一切都非常简单。houdini强大和有趣的地方就是艺术家可以依据自己的想象构建复制的网络。在帮助文档中可以查到到各种优秀的 网络连接。按F1快捷键可以查看这些案例章节。你可以搜索特定的节点并且查看他们各种各样的案例。这些案例都是sidefx团队中的精英创建,又有谁可以比自己创建的工具更了解的呢?

如果你把鼠标停留在工具架命名点击F1的时候,你可以直接调整到这个界面页面。这个对于某些旧的节点也是一样的。

真正开始学习houdini的地方是当你使用它,并且从别人的工程文件网络和技巧中学习。

所以在你开始下个一项目之前,考虑一下使用houini。真正的问题不是houdini是否能做,而是你自己是否能用houdini做。

祝你好运,更重要的是,玩得开心!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章