Community
Bifrost Forum
Welcome to the Bifrost Forum. This is the place for artists using Bifrost to ask and answer questions, browse popular topics, and share knowledge about creating effects procedurally using Bifrost. You can also visit the Bifrost Community on AREA to download an array of ready-to-use graphs, read Bifrost news and updates, and find the latest tutorials.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FAQ For New Bifrosters

5 REPLIES 5
Reply
Message 1 of 6
marcus.nordenstam
2722 Views, 5 Replies

FAQ For New Bifrosters

marcus.nordenstam
Alumni
Alumni

 

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.

 

FAQ For New Bifrosters

 

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.

 

5 REPLIES 5
Message 2 of 6
Anonymous
in reply to: marcus.nordenstam

Anonymous
Not applicable

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

0 Likes

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

Message 3 of 6
Christoph_Schaedl
in reply to: Anonymous

Christoph_Schaedl
Mentor
Mentor

Please create a new Post for each new Question.

 

I created one for you.

https://forums.autodesk.com/t5/bifrost-forum/how-do-i-bring-a-bifrost-mesh-back-into-maya/td-p/91124...

----------------------------------------------------------------
https://linktr.ee/cg_oglu
0 Likes

Please create a new Post for each new Question.

 

I created one for you.

https://forums.autodesk.com/t5/bifrost-forum/how-do-i-bring-a-bifrost-mesh-back-into-maya/td-p/91124...

----------------------------------------------------------------
https://linktr.ee/cg_oglu
Message 4 of 6
Anonymous
in reply to: marcus.nordenstam

Anonymous
Not applicable

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 ?

Message 5 of 6
Christoph_Schaedl
in reply to: Anonymous

Christoph_Schaedl
Mentor
Mentor

Isnt drag and drop easier? 

----------------------------------------------------------------
https://linktr.ee/cg_oglu
0 Likes

Isnt drag and drop easier? 

----------------------------------------------------------------
https://linktr.ee/cg_oglu
Message 6 of 6
Anonymous
in reply to: Christoph_Schaedl

Anonymous
Not applicable

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.

0 Likes

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.

Post to forums  

Autodesk Design & Make Report