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: 

Trim Strands

5 REPLIES 5
Reply
Message 1 of 6
andrew.bkly
677 Views, 5 Replies

Trim Strands

Hey guys,

I'm trying to make a trim strands compound which I thought might have some fun motion graphic applications. It's similar to MJCG's resize strands but a little different, based off a U attribute and it modulates back to the start of the strand. So far I'm pretty happy with it but needs optimising.

After looking at the resize strand though I feel like I may need to check for and transfer any existing attributes .... I'm wondering about how to go about implementing this? To be able to transfer the original properties of the strands after they are deconstructed and reconstructed. Also what attributes should I be looking to transfer ... or is it simpler to leave it up to the user to sort it out?

 

https://vimeo.com/591627060

 

bifrost trim strands-high.gif

Labels (1)
5 REPLIES 5
Message 2 of 6
mjcg91
in reply to: andrew.bkly

Cool stuff!

Blind property transfer is not something Bifrost deals with easily at the moment. However it's still possible to do it, by checking the property against each data types, and using indices to pass data elements between the source and the target object.

My resize_strands has this inside the reconstruct_strands sub-compound. You can have a look at how it works.

Maxime Jeanmougin - Technical Artist
https://maximejeanmougin.com

Join the Bifrost Addicts community on Discord:
https://discord.gg/bifrost-addicts
Message 3 of 6
andrew.bkly
in reply to: mjcg91

Thanks ok I'll dig deeper into resize_strands and see if I can implement some of it ... maybe color atleast.

Message 4 of 6
andrew.bkly
in reply to: mjcg91

I had a go but I'm afraid your implementation looks a bit too advanced for me. I did managed to get point_size and color to transfer if it exists and do a check for an attribute point_u in case the strands already have distances set up, like a shortest path or something but its a bit more brute force. I have just sliced and interpreted the ends of the strands properties along with the positions. I might have to rethink it a bit but I'm still able to get some interesting things with it.

 

strands_stuff.gif

Message 5 of 6
andrew.bkly
in reply to: andrew.bkly

Just an update, I've got the compound working with strands that have different values of length. Below the point_length is normalized and used for the trimming. It's a little slow working on a denser object (58000 strands). I will have a go at trying to optimize it. Is there any way to find out which part of the graph is the slowest? Is that what the profiler nodes are for?

 

tree_1.giftree_2.gif

Message 6 of 6
mjcg91
in reply to: andrew.bkly

Cool stuff! 

Yes you can use the profiler nodes to profile graph portions. I made a blog post explaining how to use them: 
https://maximejeanmougin.com/2020/07/28/profiling-in-bifrost/ 

Maxime Jeanmougin - Technical Artist
https://maximejeanmougin.com

Join the Bifrost Addicts community on Discord:
https://discord.gg/bifrost-addicts

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report