Hi everyone,
If you are new to Bifrost, I hope you may find the following information useful. It's a living post that I, along with the product team, will be updating as needed.
Of course - your first port of call should be the official Bifrost tutorial videos posted here (soon) on AREA. But, we still feel there's a lot of low-hanging fruit to cover here in this post.
The idea is to present answers to common questions, misconceptions or other knowledge that seems useful - especially to Bifrost newbies. We will limit the topics to high level answers, as we don't want to compete with the video tutorials đ
How do I set the color on the backdrops?
Double-click on the lower-right corner tab/triangle.
How do I bring a mesh into Bifrost?
Just drag and drop it from the outliner.
How do I bring a Bifrost mesh back into Maya?
Output it to an output, go into the node editor, expand the node-view on the Bifrost graph so you can see the output port for the mesh. Now create a bifrostGeoToMaya DG-node, and connect the Bifrost graphâs output port to the âBifrost Geoâ input attribute on the bifrostGeoToMaya node. The âMaya Meshâ output attribute contains the Maya mesh which you can now âdo Maya thingsâ to, as you would any other Mesh.
How do I optimize the viewport performance when working with TONS of Bifrost points?
The good news is Bifrost can efficiently generate tons of points and particles, and the viewport canât always catch up. The simplest way to stay interactive in the viewport when dealing with millions of points or more is to use the âset_point_shapeâ compound right before outputting the points object, and use either the âPointâ or âQuadâ setting on the Shape parameter. Point will just draw all your points as dots while Quad takes into account the point_size property (in case you have varying point-sizes). Those are the fastest drawing modes for tons of points in the viewport. The downside is there isnât much lighting support â but if you just need to see your points, work interactively, and you have a LOT of them â this is the best setting.
Why am I seeing only a â1â on my watchpoint, when I know thereâs an object there with all kinds of juicy data that should be displayed?
When all you see is a single number on a watchpoint, thatâs telling you the connection is an array of objects. The number refers to the number of elements in the array, so a â1â means thereâs an array of length 1 there. Another dead giveaway that youâre dealing with an array of objects rather than a single object is the shape of the output port from which the connection runs. It will look like a hat instead of a square.
Why does the file_cache compound have two output ports?
Most file-formats support reading and writing multiple objects at once. For example a VDB file can contain more than one volume. Bifrostâs native .bob files can also contain multiple objects. Because of that, the file_cache node outputs an array of objects, which is usually just one element long â if there is only one object in the file. In order to access the individual object from that array, youâd have to use a âfirst_in_arrayâ node to extract it. Alternatively, you can just use the âfirst_objectâ output port on the file_cache compound, which does that for you. Remember though, if there are more than one objects in the file youâre reading, youâll only get the first one.
Can I bring in more than one geometry with a single input node, using any kind of regular expressions?
Yes you can, although the syntax for this is currently Maya-specific. In the Maya scene-graph, geometry paths are written with the transform name first, followed by a slash, followed by the shape node, and they have the same basename. For example, the path to a polygon cube known as âpCube4â in Maya is /pCube4/pCubeShape4. Letâs say there are four such cubes in the Maya scene, named pCube1, pCube2, pCube3, pCube4. You can write a regular expression to bring in ALL of the pCubes with a single input node by using the following path on the input node: /pCube*/pCubeShape*. Note you have to use the asterisk twice â once to collect all the transform nodes and once to collect the shape nodes. In other host applications like 3ds Max, this syntax is likely to differ.
What is the difference between a compound and a graph?
The short answer is: compounds are building-blocks for graphs. The longer answer is best answered in two ways: technically and intent-wise. Technically, the difference is that a compound is a .json file while a graph is a folder containing a .json file, a thumbnail image, a markdown documentation file, and possibly an example scene file. Note that the .json file for a graph IS a compound. Thus, it would be correct to say that a graph is a compound, but a compound is not a graph. With the technicalities out of the way, the more interesting question is why did we differentiate between them, if they are both fundamentally compounds? The answer to that is the âintentâ part: graphs are intended to be starting points for entire workflows, shots, or methods, whereas a compound is just a building block for a graph. You can have two compounds like scatter_points and mesh_points, and those are great building blocks for a graph that creates a mesh of scattered points, given some input. Itâs quite useful to wrap up a higher-level workflow, functionality or example, using many compounds â and publish that for users to get started with. Thatâs why we created graphs â which also includes thumbnail images, docs, sample scenes etc. Another difference is that graphs are intended to be embeddable directly into non-Bifrost environments, such as a host DCC/application like Maya, 3ds Max and others. You can make a Bifrost graph directly in the Maya DG, for example, but you cannot make a Bifrost compound directly in the Maya DG.
Hi everyone,
If you are new to Bifrost, I hope you may find the following information useful. It's a living post that I, along with the product team, will be updating as needed.
Of course - your first port of call should be the official Bifrost tutorial videos posted here (soon) on AREA. But, we still feel there's a lot of low-hanging fruit to cover here in this post.
The idea is to present answers to common questions, misconceptions or other knowledge that seems useful - especially to Bifrost newbies. We will limit the topics to high level answers, as we don't want to compete with the video tutorials đ
How do I set the color on the backdrops?
Double-click on the lower-right corner tab/triangle.
How do I bring a mesh into Bifrost?
Just drag and drop it from the outliner.
How do I bring a Bifrost mesh back into Maya?
Output it to an output, go into the node editor, expand the node-view on the Bifrost graph so you can see the output port for the mesh. Now create a bifrostGeoToMaya DG-node, and connect the Bifrost graphâs output port to the âBifrost Geoâ input attribute on the bifrostGeoToMaya node. The âMaya Meshâ output attribute contains the Maya mesh which you can now âdo Maya thingsâ to, as you would any other Mesh.
How do I optimize the viewport performance when working with TONS of Bifrost points?
The good news is Bifrost can efficiently generate tons of points and particles, and the viewport canât always catch up. The simplest way to stay interactive in the viewport when dealing with millions of points or more is to use the âset_point_shapeâ compound right before outputting the points object, and use either the âPointâ or âQuadâ setting on the Shape parameter. Point will just draw all your points as dots while Quad takes into account the point_size property (in case you have varying point-sizes). Those are the fastest drawing modes for tons of points in the viewport. The downside is there isnât much lighting support â but if you just need to see your points, work interactively, and you have a LOT of them â this is the best setting.
Why am I seeing only a â1â on my watchpoint, when I know thereâs an object there with all kinds of juicy data that should be displayed?
When all you see is a single number on a watchpoint, thatâs telling you the connection is an array of objects. The number refers to the number of elements in the array, so a â1â means thereâs an array of length 1 there. Another dead giveaway that youâre dealing with an array of objects rather than a single object is the shape of the output port from which the connection runs. It will look like a hat instead of a square.
Why does the file_cache compound have two output ports?
Most file-formats support reading and writing multiple objects at once. For example a VDB file can contain more than one volume. Bifrostâs native .bob files can also contain multiple objects. Because of that, the file_cache node outputs an array of objects, which is usually just one element long â if there is only one object in the file. In order to access the individual object from that array, youâd have to use a âfirst_in_arrayâ node to extract it. Alternatively, you can just use the âfirst_objectâ output port on the file_cache compound, which does that for you. Remember though, if there are more than one objects in the file youâre reading, youâll only get the first one.
Can I bring in more than one geometry with a single input node, using any kind of regular expressions?
Yes you can, although the syntax for this is currently Maya-specific. In the Maya scene-graph, geometry paths are written with the transform name first, followed by a slash, followed by the shape node, and they have the same basename. For example, the path to a polygon cube known as âpCube4â in Maya is /pCube4/pCubeShape4. Letâs say there are four such cubes in the Maya scene, named pCube1, pCube2, pCube3, pCube4. You can write a regular expression to bring in ALL of the pCubes with a single input node by using the following path on the input node: /pCube*/pCubeShape*. Note you have to use the asterisk twice â once to collect all the transform nodes and once to collect the shape nodes. In other host applications like 3ds Max, this syntax is likely to differ.
What is the difference between a compound and a graph?
The short answer is: compounds are building-blocks for graphs. The longer answer is best answered in two ways: technically and intent-wise. Technically, the difference is that a compound is a .json file while a graph is a folder containing a .json file, a thumbnail image, a markdown documentation file, and possibly an example scene file. Note that the .json file for a graph IS a compound. Thus, it would be correct to say that a graph is a compound, but a compound is not a graph. With the technicalities out of the way, the more interesting question is why did we differentiate between them, if they are both fundamentally compounds? The answer to that is the âintentâ part: graphs are intended to be starting points for entire workflows, shots, or methods, whereas a compound is just a building block for a graph. You can have two compounds like scatter_points and mesh_points, and those are great building blocks for a graph that creates a mesh of scattered points, given some input. Itâs quite useful to wrap up a higher-level workflow, functionality or example, using many compounds â and publish that for users to get started with. Thatâs why we created graphs â which also includes thumbnail images, docs, sample scenes etc. Another difference is that graphs are intended to be embeddable directly into non-Bifrost environments, such as a host DCC/application like Maya, 3ds Max and others. You can make a Bifrost graph directly in the Maya DG, for example, but you cannot make a Bifrost compound directly in the Maya DG.
Need details to answer: How do I bring a Bifrost mesh back into Maya?
Can you post a screen shot of the connections in the Node editor?
I do not see any usable outputs from Bif in the Maya Node editor
Need details to answer: How do I bring a Bifrost mesh back into Maya?
Can you post a screen shot of the connections in the Node editor?
I do not see any usable outputs from Bif in the Maya Node editor
Please create a new Post for each new Question.
I created one for you.
Please create a new Post for each new Question.
I created one for you.
Could we have just all of the examples in the bifrost browser, but instead of sphere , cube and plane, to actually have some mesh geometry ? That would be very helpful. Or for example I select mesh in maya, select bifrost cube and press button and it replaces that thing with my mesh ?
Could we have just all of the examples in the bifrost browser, but instead of sphere , cube and plane, to actually have some mesh geometry ? That would be very helpful. Or for example I select mesh in maya, select bifrost cube and press button and it replaces that thing with my mesh ?
Isnt drag and drop easier?
Isnt drag and drop easier?
In theory, I agree, but it seemed to me that drag and drop doesn't work.
Not sure what I was doing wrong, but after dropping the mesh into graph, I couldn't connect it to anything.
In theory, I agree, but it seemed to me that drag and drop doesn't work.
Not sure what I was doing wrong, but after dropping the mesh into graph, I couldn't connect it to anything.
Can't find what you're looking for? Ask the community or share your knowledge.