On this page |
Overview ¶
The APEX path pattern syntax is a set of rules that allow you to filter and select specific elements within APEX graphs, skeletons and geometry, and the packed character folder structure:
APEX graphs
APEX path patterns are used in graph nodes like graph::FindNodes and
graph::FindPorts to find specific groups of nodes and ports. APEX path patterns can also be used to filter for graph metadata like tags and properties. Tags on graph nodes are used extensively in pre-built rig components to label and find nodes in a rig.
Skeletons and geometry
APEX path patterns are used in graph nodes like skel::FindJoints and
skel::FindFirstJoint to find specific points in a geometry or joints in a skeleton (a skeleton is a hierarchy of points). APEX path patterns can also be used to filter for skeleton metadata like tags and properties. Tags are used to label skeleton joints, which are then picked up by pre-built rig components to build up the rig functionality of a character.
Packed character folder structure
APEX path patterns are used in the Unpack Folder SOP to extract specific elements from the nested packed character folder structure, which stores character elements for animation.
APEX path pattern syntax ¶
The rules of the APEX path pattern syntax are listed in the table below. The “hierarchy levels” in the table refer to:
-
Nested subnets (for APEX graphs).
-
Levels within the skeleton hierarchy. If the geometry is not a skeleton (hierarchy), all the points are considered to be at the first hierarchy level.
-
Nested folders in the packed character folder structure.
Syntax |
Description |
---|---|
|
Matches any number of characters in a name. For example, |
|
Matches any number of hierarchy levels. For example, |
|
Matches any single character. |
|
Matches any single character within the brackets. For example, |
|
Groups and attributes are put inside braces. For example, Note Pattern matching with groups and attributes are only supported for packed character folder structures, and not graph elements or geometry points. |
Combine patterns with |
Multiple patterns can be combined with the
|
|
Parentheses indicate the order of execution for combined patterns. For example, |
Port syntax for APEX graphs ¶
For APEX graphs, the graph::FindPorts node can filter for graph ports using the following syntax:
<node_path>:<port_name>[in|out][<subport_name>]
-
The optional
[in]
/[out]
specifies whether the port is an input or output port on the node. -
The optional
[<subport_name>]
specifies the subport name of the variadic port<port_name>
.
For example, joint_*:xform[in][leg]
matches the subport named leg
on the input variadic port xform on any node that starts with joint_
.
Functions ¶
APEX path pattern functions perform specific filtering operations on graphs, graph nodes, ports, and geometry points. Functions are not used for packed character folder structures.
In the APEX path pattern syntax, functions are preceded by a “%
”, and can take in multiple arguments:
%<function>(<argument1>, <argument2>, ...)
There is also an alternative syntax for specifying a tag using a “#
” before the tag name, for example, #<tag_name>
.
APEX graph functions ¶
Node functions ¶
The following functions operate on nodes:
Function |
Description |
---|---|
|
Finds the graph nodes that are ancestors of the node in The The As a short form, you can use Examples:
|
|
A callback is the type of an APEX graph node, for example, Wildcards can be specified in |
|
Finds the graph nodes that are descendants of the node in The The As a short form, you can use Examples:
|
|
Finds the nodes that have connections. A node is considered to be connected if any of its ports are connected. |
|
Finds the nodes that are promoted as inputs or outputs (connected to the graph’s input or output node). It also finds nodes in nested subnets that are promoted up the chain to the top-level graph input or output node. |
|
Properties are stored in the The value of the property can be provided as an optional second argument. |
|
Tags are stored in the Wildcards can be specified in There can be multiple entries within |
|
In addition to the Wildcards can be specified in Unlike |
Port functions ¶
The following functions operate on ports:
|
Finds the ports that are connected. |
|
Finds the ports that are promoted as inputs or outputs (connected to the graph’s input or output node). It also finds ports in nested subnets that are promoted up the chain to the top-level graph input or output node. |
|
Tags are stored in the Port tags are stored on graph nodes in the format Wildcards can be specified in There can be multiple entries within |
|
In addition to the Wildcards can be specified in Unlike |
|
Finds the ports that have the value type Wildcards can be specified in |
Skeleton and geometry functions ¶
In the descriptions below, <joint_pattern>
is the pattern that is used to filter for skeleton joints. <joint_pattern>
can contain APEX path patterns and APEX path pattern functions.
Function |
Description |
---|---|
|
Operates on skeletons. Finds the joints that are ancestors of the joints in
For example, if we have the hierarchy, root → pelvis → thigh → calf:
|
|
Operates on skeletons. Finds the joints that are children of the joints in |
|
Operates on skeletons. Finds the joints that are descendants of the joints in
For example, if we have the hierarchy, calf → ball → foot:
|
|
Operates on any geometry. Finds the points on a geometry that match |
|
Operates on skeletons. Finds the joints that are the leaves of the skeleton. The optional |
|
Operates on skeletons. Finds the joints that are the parents of the joints in |
|
Operates on any geometry. Properties are stored in the The value of the property can be provided as an optional second argument. |
|
Operates on skeletons. Finds the joints that are the roots of the skeleton. The optional |
|
Operates on any geometry. Tags are stored in the Wildcards can be specified in There can be multiple entries within |
|
Operates on any geometry. In addition to the Wildcards can be specified in Unlike |