Input geometry and materials from the scene
You can use polygon meshes, curves, nParticle objects, and materials as inputs in a graph. For example, meshes can be deformed by the graph, or used for other purposes such as emitting particles in a simulation.
All input nodes at the top level of a graph have an Path section that can be used to get geometric objects from the scene.
The path
parameter contains a string that is used to query the scene and return a matching object, or array of objects. If you rename objects in the scene, the connection persists until you press Enter in the path
parameter to query the scene again. In that case, you can enter the new name(s) to re-create the connection.
You can only input objects from the scene at the top level of a graph. It is not possible to input objects inside a compound.
Drag objects from Maya's Outliner
Middle-drag an object or its shape from Maya's Outliner into the top level of a graph in the Bifrost Graph Editor. Alternatively, you can drag the icon (not the name) using the left mouse button.
A new input
-type node is created, with the same name as the object. Note that hierarchies are not supported — only the first valid shape is imported.
- A Maya mesh is imported as a Bifrost mesh.
- A curve is imported as a strands object. Use the options on the
input
node to control how the curve is resampled. - An nParticle object is imported as a points object, but first gets converted using a second graph named
convertParticleToBifrost
that is created automatically. You can simply close this tab in the Graph Editor. - A material becomes a material reference. See Apply materials.
- A transform such as an empty group becomes a
float4x4
. You can convert it to adouble4x4
by right-clicking on the output port on the input node.
If multiple objects were selected and dragged into the graph, there is a separate input node for each object type.
- Multiple selected meshes are imported as an array of meshes. If you intend to use the meshes in different ways, for example as emitters, colliders, and so on, it's better to input them one by one.
- Multiple curves are sampled and imported as a single strands object by default. If desired, you can convert this later to an array of strands by right-clicking on the
input
node's output port and changing its type.
You can also middle-drag shapes from the Node Editor or Hypergraph.
Drag materials into the graph
Similar to geometric objects, you can also middle-drag materials into a graph. This works for material nodes visible in the Node Editor and Hypershade, as well as in the Outliner (if Display > Assigned Materials is on).
Add scene references manually
Instead of dragging objects into a graph, you can add input
nodes and specify objects manually.
- At the top level of a graph, press Tab and start typing
input
. Clickinput
to add the node to the graph. - In the Parameter Editor, enter a shape's name or path in the Path box, for example, "/pSphere1/pSphereShape1". Names and paths are case-sensitive.
Multiple objects and wildcards
To specify multiple objects as an array, use a space-separated list, for example, "/pCube1/pCubeShape1 /pSphere1/pSphereShape1".
The wildcards "*" and "?" are also supported. Use "//" for an arbitrarily deep hierarchy. For example:
- "/*/*" specifies all supported geometries that are not in a group or transform hierarchy.
- "/group1/*/*" specifies all supported geometries in group1.
- "/p*/*" specifies all supported geometries that are direct children of a transform node whose name begins with "p" and are not part of a group or hierarchy.
- "/*/*S*" specifies all supported geometries with an "S" in their names that are not part of a group or hierarchy.
- "//*" specifies all supported geometries in the scene.
- "/group1//*" specifies all supported geometries anywhere in the hierarchy under "group1".