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: 

Droopy Strands

19 REPLIES 19
SOLVED
Reply
Message 1 of 20
andrew.bkly
1477 Views, 19 Replies

Droopy Strands

Hi everyone,

I've been enjoying playing around in Bifrost. I managed to make a kind of droopy wire compound which connects between two sets of scattered points and makes an exponential curve between them. At the moment it does scatter points on objects, but maybe it would be better to take user point positions for the two sets. The curve is based off a simple parabola and resample strand and it'd be great to add some more variation to maybe the trough size and but I'm not sure how to go about that. See example video and I also attached a maya scene. It does require the rebel pack.

 

Screenshot 2021-07-11 170137.jpg

 
 
Tags (2)
Labels (1)
19 REPLIES 19
Message 2 of 20
mjcg91
in reply to: andrew.bkly

Very cool! 

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

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

Thanks Maxime!

I've found all your material very helpful! I've managed to progress the tool a little better. I've added a sequential option to connect the wires sequentially with the from to positions. Added some curvature bias to the droop shape, also some bias to the min max drooping, using your bias compounds. Then I've also added a simple swinging animation option to be a bit like simple wind. I've also tried to keep correct orientation so objects can be attached and swing rotated accordingly.

 

I was wondering about putting the compound on the Autodesk page if maybe its useful. I just had a thought about how some tools will start to require many uses of other peoples compounds within one. Would there be a way to bake in referenced compounds for sharing or is it better practice to write your own version of the compounds you are trying to use? Or am I thinking about it too much haha.

 

https://vimeo.com/578800630

Message 4 of 20
ihooper
in reply to: andrew.bkly

This looks really cool. I encourage you to share your work. Some tips for sharing:

  • Make any of your own custom internal compounds editable (so they are local and not referenced). You should leave any of the factory nodes as references.
    Any other package dependencies (like the Rebel or MJCG pack) should probably be left as references, but make sure to let people know it is required. Either that, or make those compounds editable as well.
  • Write an .md file for the Info Tab (see https://www.youtube.com/watch?v=FuPB9exDa6A for guidance)
  • Publish your compound, changing the namespace to something other than "User".
  • Upload the .json and .md file as a .zip file to the Area here: https://area.autodesk.com/bifrost/upload/

Ian Hooper
UX Architect
Message 5 of 20
andrew.bkly
in reply to: ihooper

Cheers Ian,

That's makes sense!

Message 6 of 20

Im still quite new to bifrost. Is there a way to specify which points to use for the dropping strands?

https://www.artstation.com/kelvintam
Message 7 of 20

Hey there!
It's quite a simple compound. It takes two position arrays. So to choose
which points, you have to filter the position arrays yourself before it
gets plugged in.

There are many ways to edit an array so you may need to play around with
what works for you.

A manual example would be to use "get from array" and choose an index or an
array of indicies. And use the result.


Message 8 of 20

thanks. but its going over my head lol. I have no clue how to use get_from_array.

 

Currently my setup is using get_component_tag > delete_mesh_points> get_point_position>droopy_strands.

I have no idea how to invert the points specified from the component_tag.

https://www.artstation.com/kelvintam
Message 9 of 20

Get from array just chooses an index from an array like

[0, 5, 7, 9] - this array's indexes are below

  0, 1, 2, 3

 

we want to get index 1

and that will give us 5 from the array

but we can also use an array of indexes like [0, 2, 3]

this will give use a new array of [0, 7, 9]

 

Here is an example using the get component.

Get point position will get all the positions of the geo in an array  (a float3 array) according the vertex indexes

we can get the indexes from the component tag and remove them from the full positions (reversing the selection)

we can then get the original selection from the positions as well and use it in the to as an example

 

andrewbkly_0-1715607931914.png

 

Hope that kinda makes sense? I rushed it a little.

 

 

Message 10 of 20

thank you for the explaination. I finally have something working now

 

maya_U8PMfiwctz.png

next up will be trying to give each strands a different color

https://www.artstation.com/kelvintam
Message 11 of 20
sepu6
in reply to: andrew.bkly

You can do it through BF or your render engine. Here is through BF 

 

maya_JscsOf93BU.png

Message 12 of 20

Not sure why but im unable to get the colored results using the droopy_strands output.

 

timelapse1322.pngmaya_yqsZm5SOE6.png

 

https://www.artstation.com/kelvintam
Message 13 of 20
sepu6
in reply to: andrew.bkly

This is probably because the strands do not have an index so add an update point strand index node and you can use that node to generate the random color 

Message 14 of 20
andrew.bkly
in reply to: andrew.bkly

Thanks Sepu thats right apologies my compound doesnt assign an index to the strands but you can assign it yourself.

I found that the update_point_strand_index is not a native node but you can find it in create_strands_from_counts

 

andrewbkly_0-1715651684647.png

 

Message 15 of 20
sepu6
in reply to: andrew.bkly

You can kill the get strands structure and connect directly the index from the update point strand index node btw.

 

maya_oAbYB5dmyi.png

Message 16 of 20

Any Idea why assign_dianostic_material works, but Set geo "color" doesn't work?

edit: devs should really make update_point_strand_index a native node or compound accessible from Tab menu

 

maya_iF8hzKy11e.pngmaya_JzZnAE9QXo.png

 

https://www.artstation.com/kelvintam
Message 17 of 20
sepu6
in reply to: andrew.bkly

It will when you render. Depending which engine you use. But just load the attribute with the user data nodes or if you are using Arnold inside BF use the set geo reference material. 

Message 18 of 20

So not being visible in viewport is intentional? Im not trying to render it currently, just need visual feedback. because I see several tutorials using set geo property(color) and shows up in viewport.

https://www.artstation.com/kelvintam
Message 19 of 20
sepu6
in reply to: andrew.bkly

Maya change to have the standard to be the default (can't remember what version) and that is why is not working. 

Anyhow what is the issue to have the assign diagnostic mat or assign a material if you want to see color? 

 

Message 20 of 20

theres no issue, just trying to see if I did something wrong. thanks for the explanation and taking the time to help

https://www.artstation.com/kelvintam

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

Post to forums  

Technology Administrators


Autodesk Design & Make Report