好几个月前我问了前同事一个问题:那条线代表什么?
同事在玩houdini
我:那条线代表什么?
他:嗯?
我:从那个节点到这个节点的那条线
他:...,不知道
我:maya里可以是int,float,double之类的
他:(好像明白我的意思了)...,代表数据流
下面的场景我已经不记得了。
后来没过多久我就需要去研究houdini了,一开始是一个星期,后来(因为没事干)又加了一个星期。
之后过了一段时间我想起了上面的问题,并对那一个星期的研究进行归纳,我得出了对houdini的运作方式。
在一个星期里我做的事情:
- 搜索我们可能感兴趣的资料(其实当时的我一点都不感兴趣)
- 使用节点来创建sierpinski triangle,2D和3D的版本
- 使用python来编写一个节点来创建sierpinski triangle 2D
- 剩下的两天,没什么所获
回到我们的话题:那条线代表什么?
同事的回答是正确的,不管是maya还是houdini那条线可以代表数据从一个节点流向另一个节点,但是“数据流”是一段数据的总称,我希望能知道都是些什么数据。
在maya中不同的属性连接会得到不同颜色的线,其实就是不同的数据类型,而且它们不叫数据流,而是数据块。API里的
MDataBlock就是了,当一个节点把它的数据传递给另一个节点的时候数据就保存在MDataBlock的实例中,而节点就会从这个实例中获取对应的数据。
houdini是很隐蔽的,你根本不知道是些什么数据,对于不同类型的节点也会不同,这里我以SOP为例,SOP是只对模型操作的节点,它们的工作方式大概是这样的。
1. 复制模型数据:如果这个有输入节点,就是有一个节点的输出连接到了这个节点的输入,houdini会自动帮你复制上面节点的模型数据;
新的模型:如果没有输入节点,houdini会自动给你创建一个空白的模型数据。
所以不管是有输入节点,还是没有,你要获取节点里的模型都是通过这个函数
geo = hou.pwd().geometry()
2. 运行你的代码
3. 不知道又做了什么事情,我猜测缓存是其中的一件事(不然你中键节点的时候就不会出现一些相关的信息了)
这也是houdini自定义节点的结构:
1. houdini生产的代码(二进制)
2. 你的代码
3. houdini生产的代码(二进制)
我刚看了下HDK(c++)的范例,它的做法就多样了,可以跟上面都一样,也可以像maya一样的写法。
分享到:
相关推荐
如果两条线的斜率相同(或者非常接近,考虑到计算误差),那么它们很可能是平行的。可以设定一个阈值来判断两条线是否平行。 4. **计算距离**: - **法线向量**:对于每一条线,可以计算其法线向量,这与线的方向...
"进一步解释了我们要实现的功能:不仅要在一张图上绘制多条线,还要确保每条线都有清晰的颜色标识,并通过图例来说明各自代表的含义。 接下来,我们分析标签: 1. **大气科学** - 这是我们研究的领域,涉及到气象学...
对于多条线的绘制,可以创建多个`AMap.Polyline`对象,每个对象对应一条线。如果线之间有顺序关系,可以通过调整标记的方向来展示方向性。例如,如果你有一组路线数据,可以遍历这些数据并依次创建线条。 在提供的...
在许多场景下,圆形图表可以用于表示比例、周期或者完整度。Teechart支持圆形和弧形的绘制,可以设置半径、角度范围以及填充样式。此外,结合动态画线功能,还可以实现动态旋转的效果,如进度条或者仪表盘,这在可视...
在C# WinForm开发中,有时我们可能需要创建具有特殊视觉效果的控件,比如将一个TextBox控件显示为仅有一条线的简洁样式。这样的设计可以使得界面更加清爽,减少不必要的视觉干扰。标题“C# WinForm控件TextBox扩展...
在常规设置下,RSI值在70以上代表超买,30以下代表超卖,而80和20这两条线则为用户自定义的超买和超卖界限,用于更精细化的市场判断。 文档中提供的源码首先定义了四个变量VAR1至VAR8,分别对应开盘、收盘、最高和...
标题中的“MAPINFO线形编辑器做好的几条线”指的是使用MAPINFO软件中的LINEEDIT工具创建和编辑的地理信息图形。MAPINFO是一款强大的桌面地理信息系统(GIS),它允许用户处理地图数据,进行空间分析,并可视化地理...
两条离散曲线求差,采用拟合的方式得到两条曲线的差值。程序中画了离散程度不同的曲线求差;两条离散曲线求差,采用拟合的方式得到两条曲线的差值。程序中画了离散程度不同的曲线求差
在“高德地图画线”的场景中,"单条线"是指在地图上绘制一条从一个点到另一个点的路径,而"多条线"则是指同时绘制多条路径,这通常用于展示复杂的路线网络,比如多段导航路线或者公交线路。"带方向示例"则意味着在...
每条线代表一个独立的数据集,而这些数据集可能来自CSV、JSON或其他数据格式的文件。 为了加载和解析数据,Processing提供了`PApplet.loadTable()`方法,它可以读取表格数据,然后通过`table.getRowCount()`和`...
标题"一条横向的时间线"和描述"一条横向的时间线"均指向了这种常见的数据表示形式。 时间线的基本构成包括时间轴、标记和事件。在横向时间线中,时间轴通常从左到右展开,代表时间的流逝,可以是年份、月份、日期...
在实际工程中,利用B样条曲线对渐开线进行拟合,可以更精确地表示和控制齿轮的几何特性,同时也能方便地进行优化和修改。 B样条曲线拟合的过程通常包括以下几个步骤: 1. 数据准备:收集或生成渐开线的离散数据点。...
【标题】:“简简单单两条线源码通达信指标公式源码.doc”是指一个用于通达信(TongDaXin,一种流行的股票分析软件)的自定义技术指标公式。这个公式通过两条移动平均线(MA120和MA250)以及一些附加的图形元素(如...
这条线始终是连续的;如果需要绘制两条或更多完全独立的线,则应使用多个游戏对象,每个游戏对象都要有自己的线渲染器 (Line Renderer)。 线渲染器 (Line Renderer) 不渲染宽度以像素为单位的线。它会渲染宽度以...
AV线通常包括三条线:一条红色线代表右声道音频,一条白色线代表左声道音频,一条黄色线则传输复合视频信号。这些线缆的设计目的是减少外部电磁干扰,确保信号能够清晰无损地传输。 在购买AV线时,应注意以下几点以...
这些特征点是曲线拟合的关键,因为它们能够代表截面线的基本形状和特征。 实验结果表明,通过上述方法构造出的B样条曲线能够有效地剔除噪声,并且更好地保留了原截面线的特征。这说明所提出的方法不仅能够对截面线...
这两条线应根据车辆的宽度和高度动态调整,以反映实际的倒车视野。通常,线的位置可以通过计算窗口的中心点和线的长度来确定。 4. **虚线效果**:为了创建虚线效果,可以使用QPen的`setDashPattern()`函数设置线条...
1. **创建数据对象**:在使用OpenFlashChart绘制多条线时,首先需要创建多个数据对象,每个对象代表一条线的数据点。这些数据点可以是简单的数组,也可以是包含颜色、标签等信息的对象。 2. **设置线样式**:每条线...
本示例“android 生成折线图(四条线)”就是利用`AChartEngine`来实现的,它可以展示四条不同颜色的折线,每条线代表一个独立的数据系列,且每个系列都有其专属的Y轴,使得数据对比更加清晰。 首先,我们需要理解`...
这条线的颜色是黄色,表示该线是获利线。该线的计算公式是基于指数移动平均线(EMA)的三重计算,高价(HIGH)为基础,先计算五期的指数移动平均线,然后计算五期的指数移动平均线,最后计算四期的指数移动平均线,...