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

Houdini vex 语法第一篇(属性)

2023-06-10 23:30 作者:3d流浪者_lpg  | 我要投稿

前言:vex语法我们进阶houdini技术的必修课,up将自己的学习感悟写成文章,供大家参考,废话不多说让我们现在开始。

1.Houdini中数据的存储域:

1.1Points(点):数据存储在对象的几何点上,存储单位如图所示:

1.1Points图

1.2Vertices(顶点):数据存储在面的几何点上,与Points有区别仔细看图,存储单位如图所示:

1.2Vertices图(上下几何点被算了两次)

1.3Primitives(基本单元/原型(不必纠结翻译)):是houdini特有的存储单位,可以是面,线,几何体等,存储单位如图所示:

1.3.1线
1.3.2面
1.3.3几何体

1.4Detail(细节):将数据存储在几何对象上,存储单位如图所示:

1.4Detail图(几何整体)

2.Houdini中查看数据存储:

 2.1Houdini中查看数据存储的位置,如图:

2.1Houdini查看数据存储

2.2Houdini中数据存储面板介绍:

2.2.1Points如图所示:

2.2.1Points面板

说明:默认第一列为point的编号,从零开始自增,P[x],P[y],P[z]表示point的x,y,z坐标

2.2.2 Vertices如图所示:


2.2.2Vertices面板


说明:默认第一列为 面号:顶点编号,总体可以理解为顶点的全局唯一标识,这里都是三角面,如下图所示表示编号40面的0,1,2号顶点(0,1,2为三角面内唯一标识),蓝色字体为point编号,第二列为顶点对应的point的编号:

2.2.2.1Vertices第一列说明

2.2.2.2用point找到40号面内的0,1,2号顶点

2.2.3Primitives如图所示:

2.2.3Primitives面板

说明:默认只有一列,为primitive编号

2.2.4Detail如图所示:

2.2.4Detail面板

说明:默认啥也没有

3.Houdini中的数据类型:

3.1Houdini中有以下数据类型:

3.1Houdini数据类型

说明:第一列为数据类型,第二列为变量命名规范,没有编程基础的小伙伴可以逐个去了解,这个内容太多不再赘述

3.2Houdini保留字所对应的数据类型:


3.1Houdini保留字对应数据类型

说明:第一列为数据类型,第二列为对应的保留字属性名称,保留字具体内容可以点进去了解,链接在文末,这里只简单介绍常用的几个属性。

3.3常用保留字介绍:

3.3.1@P是一个向量,表示一个单位的坐标

3.3.2@Cd是一个向量,表示颜色属性,里面包含RGB值

3.3.3@ptnum是一个整形,表示point的编号,@primnum,@vtxnum同理

3.3.4除了以上保留字外,还有一些特殊的全局保留字:@Time浮点类型,表示当前时间轴播放到的时间,@Frame浮点类型,表示播放到的帧数,其余特殊关键字也可在文末链接找到。这里不在赘述。

4.Houdini中自定义变量并且给变量赋值:

4.1通过wrangle操作vex,如下图所示Houdini为我们提供了一下wrangle操作vex

4.1Houdini提供的wrangle

说明:这里我们只讨论point,primitive,vertex,attribute四个,而且四个中的前三个其实都是attributeWrangle,唯一的区别只有run over(也就是数据在哪个存储域运行)如下图:

4.1.1唯一区别

4.2自定义变量示例, 在四个级别上的展示,如下图:

4.2自定义变量
4.2.1Points存储
4.2.2Detail存储
4.2.3Primitives存储
4.2.4Vertices存储

5.Houdini中使用保留字(Houdini内置变量)的简单使用:

5.1保留字使用示例:

5.1保留字使用示例


说明:1.@P = rand(@P) 相当于 @P.x = rand(0, @P.x),@P.y = rand(0,@P.y),@P.z=rand(0,@P.z),@Cd同理

2.@P的值修改只对Points数据单元有意义,其他级别不存在@P的真实定义

5.2在Points下看以上变量的存储和对模型的影响,如下图:

5.2原本的球模型
5.2.1运行以上vex后的模型
5.2.2运行以上vex后的Points数据

说明:注意看@Frame和@Time的产生的值

补充:1.Houdini属性文档链接:https://www.sidefx.com/docs/houdini/vex/snippets.html

         2.示例节点结构:

       

示例节点结构

3.示例下载:

链接: https://pan.baidu.com/s/1UQ3lcupmXNSzHJbXp6WkWw 提取码: abcd 


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


下一篇:Houdini vex 语法第二篇(组):待续

Houdini vex 语法第一篇(属性)的评论 (共 条)

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