欢迎光临散文网 会员登陆 & 注册

Houdini vex 语法第三篇(参数)

2023-07-15 17:00 作者:3d流浪者_lpg  | 我要投稿

1.Houdini中参数的定义:

    1.1.如图,例如在sphere节点中:

1.1:Houdini中参数的定义

    补充说明:1.houdini中由参数名和参数值组成了参数

                    2.由此可见houdini所有的节点都有若干个预设参数

2.Houdini中自定义参数(parameter)

    2.1:如图,houdini中的参数类型:

2.1:houdini中的参数类型

    2.2:houdini中如何自定义参数:

        2.2.1:如图,houdini中自定义参数的节点:

2.2.1:houdini中自定义参数的节点

         补充说明:在houdini中我们通常使用一个空节点来自定义参数

    2.2.2:如图,houdini中打开定义参数面板:

2.2.2:houdini中打开定义参数面板

    2.2.3:如图,houdini中自定义参数面板:

2.2.3:houdini中自定义参数面板

2.3:houdini中定义参数面板介绍:

    2.3.1:如图,本文要介绍的参数类型:

2.3.1:本文要介绍的参数类型

        补充说明:本文主要是介绍参数及其使用,参数太多只介绍几个常用的,其他参数可以去文末链接里自行了解

    2.3.2:如图,定义参数通用设置介绍:

2.3.2:定义参数通用设置介绍

        补充说明:上图只是简介,详情见文末链接

    2.3.3.如图,浮点数类型定义参数设置介绍:

2.3.3:浮点数类型定义参数设置介绍

2.3.4.整型,同浮点型

2.3.5.如图,字符串类型定义参数设置介绍:

2.3.5:字符串类型定义参数设置介绍

        补充说明:上面只是简介,详细请看文末链接

    2.3.6.如图,文件类型定义参数设置介绍: 

2.3.6:文件类型定义参数设置介绍

    补充说明:上面只是简介,详细请看文末链接

    2.3.7:向量类型,同浮点型

    2.3.8:如图,颜色类型定义参数设置介绍: 

2.3.8:颜色类型定义参数设置介绍

    补充说明:上面只是简介,详细请看文末链接

    2.3.9:如图,颜色斜坡定义参数设置介绍: 

2.3.9:颜色斜坡定义参数设置介绍

    补充说明:上面只是简介,详细请看文末链接

    2.3.10:浮点斜坡,同颜色斜坡

    2.3.11:toggle类型,同浮点类型,比浮点少几个选项

    2.3.12:菜单类型,同浮点类型,不过要在menu面板中定义键值,如图:

2.3.12:menu面板中定义键值

    补充说明:上面只是简介,详细请看文末链接

3.在参数值中使用通道(channel)函数引用非斜坡(ramp)自定义参数(parameter)

    3.1:channel函数介绍: 

       3.1.1:channel函数是一个表达式函数,ch("参数路径")就可以实现参数的引用

       3.1.2:ch函数自己推测返回值类型

       3.1.3:ch函数是表达式函数不是vex函数,在houdini中这是两个模块,不过可以在vex函数中使用表达式函数,比如第4大点讲的chs表达式函数在vex中的使用,函数表达式和vex函数两个模块见文末链接

        3.1.4:尤其注意对于字符串参数,一般使用chs函数,这是houdini参数引用的默认方式,关于chs函数,见第4大点ch(x)函数介绍

        补充说明:以上只是简介,更详细内容见文末链接

    3.2:如图,houdini中如何在参数值中引用参数:

3.2:如何复制参数的通道表达式
3.2.1:如何粘贴通道表达式
3.2.2:粘贴后的效果

    3.3:如图,演示所用的非斜坡参数和演示介绍:

3.3:演示所用的非斜坡参数
3.3.1:演示的节点结构
3.3.2:演示的效果

    补充说明:

        1.球体引用向量参数控制球体的半径,引用浮点类型控制整体缩放,引用整型控制细分

        2.球体下面的创建了一个颜色属性引用颜色参数控制球体的颜色

        3.三个字体节点引用了字符串类型,文件类型,菜单类型

        4.字体的下面的transform节点引用了toggle类型控制了位置反转选项

        5.演示做的动画是为了趣味性,可以打开思路

        6.演示hip文件见文末百度网盘链接

4.在vex中使用通道(channel)函数使用非斜坡(ramp)自定义参数(parameter):

    4.1:ch(x)函数介绍:

        4.1.1:ch(x)是指带有具体返回值的函数,例如chs,chi等

        4.1.2:一般在参数值中使用通道引用参数,ch和chs最常用,注意这里所说的这两个是表达式函数,还有更多ch(x)相关的表达式函数见文末链接

        4.2.2:ch(x)还有vex函数,这里我们使用vex函数里面的ch(x)函数来演示与参数值引用参数同样的效果

    4.2:如图,vex中使用ch(x)函数引用参数演示:

4.2:vex中使用ch(x)函数节点展示
4.2.1:vex中使用ch(x)函数效果展示

            

4.2.2:vex中使用ch(x)函数代码展示

补充说明:

             1. 在vex中使用@P先和向量型参数相乘实现缩放半径的效果,而后和浮点类型相乘实现整体缩放的效果

              2.在vex中直接创建颜色属性并将颜色类型赋值给属性

              3.其他几种类型都以点属性的形式保存0号点,然后到相应的节点进行属性读取

              4.读取属性的节点,节点展示的地方已经备注清楚,注意参数值中读取属性使用的是表达式函数,详情根据演示文件使用自行查阅文末链接

              5.  toggle类型是一个很神奇的变量,当用chi读取时,结果是0和1,用chs读取时结果是on和off,不过参数值中读取属性只认0和1

              6.如图,参数值没有输入框,比如transform的位置反转,如何读取属性:

4.2.3:没有参数输入框如何读取属性
4.2.4:没有参数输入框读取属性

        7.这个演示是第一节属性和这节参数的融汇贯通,希望给大家带来一些启发

        8.如图,在vex代码中使用表达式函数:

4.2.5:在vex代码中使用表达式函数


5.告别硬编码,灵活控制参数(parameter)使用:

        5.1:硬编码是在代码里写死的字符串,不能跟随变化而变化

        5.2:如图,vex通过通道引用参数的硬编码问题:

5.2:改变参数名
5.2.1:参数失效

        5.3:如图,通过在wrangle节点参数再引用的方式解决硬编码问题:

5.2.2:解决硬编码的方式

        5.4:如图,节点及效果展示:

5.4:节点展示
5.4.1:效果展示

        补充说明:除了解决硬编码问题,和之间vex硬编码一摸一样

6.斜坡(ramp)参数(parameter)的使用:

    6.1:chramp参数介绍:

        6.1.1:chramp("参数路径","横坐标"),返回值为纵坐标值

        6.2.2:注意此函数为vex函数,并且有重载函数,详情见文末链接(不知道什么叫函数重载可以回去看看第二章或者自行百度)

    6.2:如图,斜坡参数控件参数介绍:

6.2:斜坡控件参数介绍

    6.3:如图,复制斜坡参数通道表达式:

6.3:复制斜坡参数通道表达式

   补充说明:一般把斜坡参数作为整体复制,如果想复制单个控件参数,可以和一般的参数一样

 6.4:如图,演示节点及效果展示:

6.4:节点展示
6.4.1:效果展示

            补充说明:

                            1.用颜色斜坡控制球体的颜色,用浮点斜坡控制球体整体缩放

                            2.如图,自定义斜坡参数在vex中的使用方法:

6.4.2:自定义斜坡参数在vex中的使用方法


7.补充说明:

 1.houdini参数介绍链接:https://www.sidefx.com/docs/houdini/ref/windows/optype.html

 2.vex函数文档链接:https://www.sidefx.com/docs/houdini/vex/functions/index.html

 3.houdini表达式链接:https://www.sidefx.com/docs/houdini/expressions/index.html

 4.演示文件百度网盘链接:https://pan.baidu.com/s/1TtulbJTScy2gWYOHKcmyyg 提取码:   abcd

 5.学习了参数,大家肯定会有些思考,比如把一个庞大节点树使用到的参数放在一起管理,就不用去树里面找了,或者采用面向对象的方式去管理节点和参数等

ps:如有错误留下评论,up改正,一起进步

上一篇:Houdini vex 语法第二篇(组)

下一篇:Houdini vex 语法第四篇(变量和操作符):待续

Houdini vex 语法第三篇(参数)的评论 (共 条)

分享到微博请遵守国家法律