- 💾 第一部分 General_Node 常用节点
- 📢 01_Bitmap 位图节点
- 📢 02_BoundingBox 边界框节点
- 📢 03_Collision 碰撞节点
- 📢 04_Color Temperature 色温节点
- 📢 05_FlipFlop 触发器节点
- 📢 06_Freeze 冻结节点
- 📢 07_LinkList 链接列表
- 📢 08_Memory 记忆节点
- 📢 09_MonoFlop 单点触发节点
- 📢 010_Noise 噪波节点
- 📢 011_Object 对象节点
- 📢 012_Point 点节点
- 📢 013_Polygon 多边形节点
- 📢 014_Random 随机节点
- 📢 015_Ray Collision 射线碰撞节点
- 📢 016_Reference 参考节点
- 📢 017_Remark 标记节点
- 📢 018_Result 结果节点
- 📢 019_Sound 声音节点
- 📢 020_Spline 样条节点
- 📢 021_Spy 简化节点
- 📢 022_Time 时间节点
- 📢 023_Track 轨迹节点
- 📢 024_Vertex Map 顶点贴图节点
- 第二部分 Adapter_Node 适配节点
💾 第一部分 General_Node 常用节点
📢 01_Bitmap 位图节点
Bitmap:该节点可以读取图片的颜色以及尺寸
- 如图所示,添加Bitmap节点,调出输入端口和输出端口的属性,然后选择Bitmap 节点,在Filename属性中加载一张带有颜色的图片即可。
- x/y:指图片的坐标轴,且该数据类型为整数。以图片的左下角为坐标轴原点开始计算。
- Color:可以读取图片的颜色属性,拾取颜色的位置通过输入端口中的x/y来决定。该属性可以连接给任何带有颜色属性的物体(比如材质的颜色或者灯光的颜色等),上图将颜色连接到材质的颜色中,将材质赋予球体,就可以通过图片来控制球体的颜色啦。
- Height/Width:该属性用于输出图片的尺寸,可以使用Result的节点进行查询结果(注意将Result的数据类型改为整数)。该属性可以输出到任何一个带有高度和宽度的对象上来进行控制,比如平面的长宽属性等。
📢 02_BoundingBox 边界框节点
BoundingBox:该节点用于计算多边形边界框的最大最小值、尺寸大小以及边界框每个顶点的。(注意输入的对象必须是塌陷的多边形物体,而不是带有参数的原始物体)
如何显示边界框:如下图所示,按Shift+V 进入视图设置属性,选择Display栏,取消Outlines的勾选,勾选Sel:BoundingBox即可查看多边形物体的边界框。
- Object:连接需要读取的多边形物体
- Box Minimum/Maximum:读取该多边形物体的最大/最小坐标值。该数值的数据类型为矢量数值,注意连接Result节点并切换为矢量数据类型进行查看。
- Box Size:用于输出边界框的x/y/z三个方向的的大小,同样使用Result节点并切换为矢量数据类型进行查看。
- Box Point:有8个Box Point属性,用于输出边界框8个顶点的坐标值,同样可以接Result节点并切换为矢量数据类型进行查看或者连接给其他的物体属性。
📢 03_Collision 碰撞节点
Collision:该节点用于计算两个塌陷的多边形之间的碰撞,并进行反馈。
- Collision:用于计算两个对象之间是否进行碰撞,通过Result的节点并将数据类型改为Boole进行判断。
- Distance:在碰撞类型为Distance下,计算两个对象之间的距离。
- Point 1/2:仅当“碰撞类型”设置为“远距离”时,此端口才有效,并且将返回最近对象(输入端口:对象1)的点的位置向量。 物体不应相互碰撞!
- Polygon Index1/2:Index1指如果检测到碰撞,则此端口输出首先碰撞的对象1中的多边形的索引号(提供的“碰撞类型”设置为“对象”或“距离”);Index2指如果检测到碰撞,则此端口输出首先碰撞的对象2中的多边形的索引号(提供的“碰撞类型”设置为“对象”或“距离”)。
- Collision Type:用于计算两个物体之间是否碰撞,碰撞的方式有以下几种类型。
- BoundingBox:当两个对象的边界框碰撞的时候,结果为True,反之为False。
- Sphere:该类型也是一种边界框,只不过是球形的边界框,看不见,和上面一样。
- Object:只有当两个对象的点线面真正碰在一起的时候才会为True,反之False。
- Distance:该类型用于计算两个对象之间的距离,可以通过Result节点输出Distance的属性进行查看。
- Tolerance:该类型需要界定一个容差值,选择Collision节点,在Tolerance中输入一个数值,当两个对象之间的距离小于这个数值时,结果为True,反之为False。
- Use Deformed Points:启用该选项,当对象使用变形器后,如修正变形器。将对象的点拉长,那么这种状态下碰撞后显示的结果为True,反之False。
- Martrix Mode:Global指以在世界坐标轴下的坐标值进行计算,Local指以自身坐标轴下的坐标值进行计算(该模式下不管物体碰撞还是不碰撞,结果都是为True,因为物体自身的坐标值没有发生改变;若需要改变,则需要移动物体自身的坐标轴才可以)。
- Include Children:勾选该选项,则包含子集在内的碰撞也会被计算。
- Selection Tag:添加选集,当选集的区域进行碰撞时才会进行计算。
📢 04_Color Temperature 色温节点
Color Temperature:该节点通过色温数值来输出颜色。色温的变化数值如下图所示,值越低,颜色呈暖色调,数值越高,颜色呈冷色调。
如图所示,调出该节点的输入和输出属性
- Temperature:可以直接选择该节点调节色温的数值,也可以使用常量节点调节数值。
- Color:该属性的颜色根据色温的数值改变而改变,可以将该属性连接到任何一个物体的颜色属性上,从而通过色温控制其颜色。
📢 05_FlipFlop 触发器节点
FlipFlop:触发节点,该节点用于输出真假或者开关等逻辑操作。可以将其输出到某个对象的Enable属性上。
- On:On表示开或者真,添加一个常量节点,将该节点的数据类型改为Boole模式,那么点击常量节点的Value则会输出为真;或者将常量节点的数据类型改为整数,1表示为真,但是继续增加数值不会发生变化,需要Off端口改变数值来覆盖真的结果。
- Off:和真On一样,Off表示关或者假,添加一个常量节点,将该节点的数据类型改为Boole模式,那么点击常量节点的Value则会输出为假;或者将常量节点的数据类型改为整数,1表示为假,但是继续增加数值不会发生变化,需要On端口改变数值来覆盖假的结果。
- Switch:切换,在真假或者开关之间进行切换,也可以使用常量节点进行控制。
📢 06_Freeze 冻结节点
Freeze:该节点可以用来冻结数值。比如物体的分段数值、PSR等可以用来打关键帧的属性。
如图所示,我们通过Constant节点对圆盘的旋转分段打上关键帧,0~50帧旋转分段从0到50段。在播放动画时,通过Freeze的Switch端口,可以随时冻结当前时间的分段数。
- Value:用于输入数值的端口,控制输出端口对象的属性值。
- Switch:用于控制数值是否冻结
- Output:将输入端口的数值输出给某个对象属性。
📢 07_LinkList 链接列表
LinkList:该节点可以视为一个容器,用于存储不同的物体作为其他需要链接的对象。
如图所示,比如克隆一个球体到不同的物体上面,可以使用该节点存储不同的物体,通过该节点可以方便进行切换克隆对象。
- Index:指链接列表中索引号,从0开始
- Link:用于输出到需要链接的对象属性中,比如克隆的对象。
- Count:用于计算列表中物体的数量。
📢 08_Memory 记忆节点
Memory:该节点可以存储之前的动作,创造延迟的效果。
如图所示,对Platonic的x轴k一段动画,通过Memory节点使得Platonic的x轴数值驱动Sphere的X轴数值,调节历史级别和深度数值,从而创建延迟的效果。
- History Depth:历史深度,表示记忆节点要存储的深度。
- History Level:历史级别,表示需要读取的历史深度的级别,数值越大,延迟效果越强,注意不能超过历史深度。
📢 09_MonoFlop 单点触发节点
MonoFlop:MonoFlop节点是具有内置时间延迟的布尔开关。 触发后,节点将递减指定数量的帧。 节点向下计数时,输出的Boole值为True。
- 模式:在属性管理器中,选择所需的倒数模式:
- 正常:一旦触发器端口的值从1变为0,倒数即存在。换句话说,启用节点后什么也没有发生。 只有禁用节点后,时钟才会开始计时
- OneShot:一旦值1到达触发端口,该节点便开始递减计数。
- 对于这两种模式,以下情况均适用:如果在倒计时中间触发节点,则倒数将从头开始。
- 触发
- 时间:例如,使用此端口可以将“时间”节点连接到MonoFlop。 然后可以使用“时间”节点来控制倒数的速度。
- 持续时间:控制倒计时的持续时间。 如果在属性管理器中设置此值,请以帧为单位输入持续时间。 但是,如果将“常量”节点连接到此端口,则该值将定义持续时间(以秒为单位)。
- 出:如果正在进行倒计时,则输出Boole值为1。 否则,端口输出值为0。
- 计数:输出已触发节点的总次数。 您可以通过将0值传递给Reset输入端口来重置此计数器。
- 状态:如果节点当前正在递减计数,则此端口将输出一个介于0.0和1.0之间的十进制值,该值指示递减计数的进度。 例如,如果倒数是倒数的30%,则此端口将输出值0.3。 另一方面,如果禁用节点,则端口输出值0。
📢 010_Noise 噪波节点
Noise:该节点可以对物体的PSR产生随机的变化,类似于震动标签的随机变化。也可用在其他的属性上,比如灯光强度等等。
- Noise Type:噪波类型,不同的噪波类型的计算方式是不一样的,但都是产生随机的变化。
- Positive Only:只在正半轴上产生随机的变化效果。
- Octaves:复杂性,数值越大,噪波的变化越复杂。
- Scale:缩放,数值越大,噪波的复杂性越小。
- Frequency:频率,数值越大,波噪变动的频率越强。
- Amplitude:振幅,数值越大,变化的幅度越大。
- Seed:随机种子。
📢 011_Object 对象节点
Object:该节点可以引用视窗中的任何对象。添加之后默认为当前添加Xpresso标签的对象。Xpresso标签可以添加在任何对象上面,比如空物体、几何体、灯光等。
参考模式:Absolute Ref 绝对参考
该参考模式可以指定对象面板中任何一个对象作为绝对参考。可以将对象直接拖拽进入Reference或者使用后面的箭头指定即可。
Relative Ref:相关参考
该参考模式需要通过在路径Path中输入指令才能切换参考对象。可以输入的指令有:
- U:U表示父级,对象节点会读取当前添加标签的对象的上一个父级,UU表示上面第二个父级,以此类推。
- D:D表示子级,对象节点会读取当前添加标签的对象的下一个子级,DD表下二个子级,以此类推。
- N:N表示标签对象后面的同级,对象节点会读取当前添加标签的对象的下面的同级,NN表示后面第二个同级,以此类推。
- P:P表示添加标签对象前面第一个同级,对象节点会读取当前添加标签的对象的前面的同级,PP表前面第二个同级,以此类推。
Use Star Position:使用起始位置
该模式下,可以通过更改起始位置切换不同的对象。
- This Object:当前添加标签的对象。
- Up in Hierarchy:当前对象的父级,如果有多个父级,可以通过更改Star Distance来切换。
- Down in Hierarchy:当前对象的子集,如果有多个子集,可以通过更改Star Distance来切换。
- Successor On This Level:当前对象后面的同级,如果有多个同级,就可以通过Star Distance来切换。
- Predecessor On This Level:当前对象前面的同级,如果有多个同级,可以通过Star Distance来切换。
- First On This Level:当前同级的第一个。
- Last On This Level:当前同级的最后一个。
- First In Project:当前工程中的第一个对象。
- Last In Project:当前工程中的最后一个对象。
History Depth:和之前的Memory节点中的一样,可以存储对象之前的动作和变化。通过History Level来创建延迟的效果。
📢 012_Point 点节点
Point:该节点可以计算多边形对象点的数量和位置,可以使用点的位置控制物体的位置,也可以使用物体来控制点的位置。
如图所示,可以通过点的位置控制空物体的位置。更改点的索引,可以切换空物体的位置。
📢 013_Polygon 多边形节点
Polygon:该节点用于计算多边形的面数、面的中心坐标、面的法线以及点的索引号。
- Polygon Index:点的索引号
- Polygon Count:计算对象面的数量
- Polygon Center:计算当前索引面的中心坐标,可以映射到其他对象上。
- Polygon Normal:计算当前索引面的法线朝向,数据类型为矢量。
- Point 1/2/3/4:这四个端口输出索引的多边形点的索引号。 这些不是点的位置,而是它们的索引号。 要访问点的位置,请将这些索引号传递到Point节点。 如果多边形是三角形,则第四个索引点的值与第三个索引点的值相同。 因此,您可以通过比较第三和第四索引点来检查多边形是三角形还是四边形。
📢 014_Random 随机节点
Random:随机节点,该节点可以随机生成下面5种不同的随机值(整数、布尔、实数、矢量、法线),可以映射到一些物体属性数值上面生成随机变化效果。
📢 015_Ray Collision 射线碰撞节点
Ray Collision:该节点可以计算两个对象之间的碰撞、射线物体到多边形之间的距离、与面相交的法线坐标、面的索引号以及射线与面相交的坐标位置等。
Object:指与射线相交的多边形对象,注意一定是塌陷的物体。
Ray Point 1/2:指射线物体,可以是空物体,也可以是几何体。
Collision:检测射线是否与多边形物体碰撞,输出False或True。
Distance:指正半轴的射线物体距离射线与多边形相交位置表面的距离。
Face Index:指射线与多边形物体相交面的索引号。
Hit Position:指射线与多边形物体相交的坐标。可以驱动其他物体的位置,从而实现物体在多边形表面移动。注意取消Test Only的勾选。
Face Normal:指射线与多边形相交面的法线朝向。
Is Backface:判断射线与多边形物体正半轴相交的面是否是背面。输出False或True。
Phone Normal:与“面法线”不同,此端口的输出取决于光线所包围的多边形的法线。 要打开此端口,请在“属性管理器”中禁用“仅测试”。
📢 016_Reference 参考节点
Reference:参考节点,功能类似于Object节点,该节点可以引用视窗中的任何对象。
Instance:表示参考的原始位置,可以是当前标签所在的对象,也可以是其他的对象。
Path:和Object中的路径一样,可以输入的指令有:
- U:U表示父级,对象节点会读取当前添加标签的对象的上一个父级,UU表示上面第二个父级,以此类推。
- D:D表示子级,对象节点会读取当前添加标签的对象的下一个子级,DD表下二个子级,以此类推。
- N:N表示标签对象后面的同级,对象节点会读取当前添加标签的对象的下面的同级,NN表示后面第二个同级,以此类推。
- P:P表示添加标签对象前面第一个同级,对象节点会读取当前添加标签的对象的前面的同级,PP表前面第二个同级,以此类推。
📢 017_Remark 标记节点
Remark:该节点用于标记和说明以及分类作用,便于对节点进行整理和汇总。如图所示,可以修改标题的颜色,以及添加说明。
📢 018_Result 结果节点
Result:该节点一般用于检测输出结果用,该节点有多种不同的数据类型,可以输出多种结果进行查看。
Boole:输出逻辑操作结果,False或True。
Integer:输出整数数据类型。
Real:输出实数的数据类型,带小数。
Normal:输出法线的数据类型,该类型 0,0,0 表示x/y/z三个轴向,0表示原点,1表示正半轴,-1表示负半轴。
Vector:矢量数据,如x/y/x或者r/g/b类型的都属于矢量数据。
Matrix:该类型有四组数据,第一组表示位置数据,后三组表示表示对象的坐标轴与世界坐标轴的方向。如物体的x轴朝向世界坐标轴的-x轴,那么第二组的x轴值就是-1,以此类推。
String:该类型用于输出字符串,可以是数字,也可以是文字。
Color:该类型用于输出颜色 r/g/b 数值。
Color With Alpha:和Color数据类型一样,只不过多了一个Alpha通道。
Texture:用于加载图片,没啥实际用处。
Time:可以输入一个时间节点,用于计算时间,单位是秒
📢 019_Sound 声音节点
Sound:该节点可以播放音频。音频的播放端口Play是一个Boole数据类型,因此可以设置一个达到条件后播放音频的效果。
比如,设置一个时间条件,达到3秒后,开始播放音频;或者设置一个碰撞条件,碰撞后播放音频。
Play:将Boole值1传递到此端口以触发声音播放。
Band:没什么实际用处。
Samples:样本是声音文件可以包含的最小单位。 每秒声音样本的数量可能会大大不同,具体取决于声音文件的压缩和质量。 该端口使您可以访问每个样本。
Time:通常,您会希望声音以其原始速度播放。 但是,如果您想以更快或更慢的速度播放声音,请将您自己的时间连接到此端口。
Left:左声道的当前音量(左声道的采样幅度)。
Left Mag:在此处选择所需的幅度。
Length:声音文件的长度,以秒为单位。 如果要获取样本数量,请使用“样本”端口。
Right:右声道的当前音量(右声道的采样幅度)。
Right Mag:在此处选择所需的幅度。
Samples:声音文件中的样本总数。
📢 020_Spline 样条节点
Spline:该节点用于计算样条的闭合状态、长度、分段、相切方向以及位置的偏移。
Object:输入一个样条对象。
Offset:可以将输出端口的位置驱动一个物体的位置,控制偏移百分比即可实现物体沿着样条偏移的效果。
Position:输出样条的位置,可以驱动其他物体沿着样条偏移。
Closed:检测样条是否闭合。
Length:检测样条的长度。
Segment:检测样条的分段数。
Tangent:检测样条相切的方向。
📢 021_Spy 简化节点
Spy:该节点用于更改任何其他节点的输出端口的数据类型。
📢 022_Time 时间节点
Time:该节点允许您输出给定动画的各种时间数据,也可以用时间驱动相关的属性值(如图所示,时间驱动Tube旋转)。
Time:当前时间是自动画开始以来的秒数(内部,这比“真实”更精确)
Real:自动画开始以来的当前时间(以秒为单位)。
Frame:自动画开始以来的当前帧。
Frame Per Second:在项目设置中定义的帧速率。
Start:在项目设置中定义的动画的开始。
End:在项目设置中定义的动画的结尾。
Loop Start:预览区域的开始,以秒为单位。
Loop End:预览区域的末尾(时间轴中的绿色区域),以秒为单位。
Delta:两帧之间的时间间隔,以秒为单位。
Previous:当前帧之前的时间。
📢 023_Track 轨迹节点
Track:将要分析的动画轨迹拖到该节点中。 动画参数的值(具有相应的数据类型)将根据“时间”设置输出到定义的端口。比如可以使用A对象上下移动的动画驱动B对象的半径数值。
使用说明:
该节点需要拖入一个动画的轨迹,需要进入Time_Line(F_Curve)模式中拖拽动画轨迹才可以。
将动画轨迹输出到另一个属性值上即可完成驱动,但在输入端口中还需要添加一个时间节点。
📢 024_Vertex Map 顶点贴图节点
Vertex Map:该节点用于检测顶点的权重强度和点的数量。
顶点贴图控制影响的强度,红色强度为0,黄色强度为1,中间为过度。
Value:检测当前索引号顶点的强度。
Count:计算当前对象的点的数量。
第二部分 Adapter_Node 适配节点
📢 01_Martrix2Vectors 矩阵到矢量转换节点
Martrix2Vectors:该适配器将矩阵分为四个分量:偏移量(也称为V0)和三个向量V1,V2和V3。
Offset:偏移,输出物体的位置参数,如上图所示。
V1/2/3:分别输出当前对象的X/Y/Z坐标轴的方向,坐标轴的方向分别用-1,0,1表示。如V1输出(1,0,0),表示坐标轴X的朝向是世界的正X轴方向。其他同理。
📢 02_Real2Vectors 实数到矢量转换节点
Real2Vectors:该适配器将三个实数值转换为向量。 例如,您可以将对象的X,Y和Z值转换为单个位置向量,或者将其输出到具有矢量数据类型的参数上。
📢 03_Universal 通用转换节点
Universal:适配器组中的节点将值从一种数据类型转换为另一种数据类型。 尽管 XPresso 的线路会自动转换各种数据类型,但是您可以使用适配器节点强制进行特定的转换。
📢 04_Vectors2Reals 矢量到实数转换节点
Vector2Reals:该节点用于将矢量数据转换为实数数据,和前面的相反。如图所示,可以将立方体的位置属性(矢量数据)拆分为三个实数。
📢 05_Vectors2Matrix 矢量到矩阵转换节点
Vectors2Matrix:该节点用于矢量数据转换为矩阵数据,和前面的相反。如图所示,可以将立方体的位置以及三个Value值转换为矩阵数据类型。
第三部分 Adapter_Node 适配节点