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.
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Attribute transfer by uv

Message 1 of 12
2144 Views, 11 Replies

Attribute transfer by uv


I'm trying to get wrap my head around some basic modeling tricks in bifrost, but I stuck. (Mainly, attribute transfer - transfer position by uv attribute).

I managed to read out the UV property from a mesh. I'm able to set new positions also for the points.

But I'm trying to use the sample property compound without too much success. 



I basically want one geo to match an other one in point positions based on UVs. (the pointcount different)


Any ideas?


Tags (1)
Message 2 of 12
in reply to: kmdaniel

Hi kmdaniel.

I share a "attribute_transfer_by_uv" node and usage test movie.
I hope that it will help you:)00.JPG

password : bif-ep1





Message 3 of 12
in reply to: takashima.

Hi! Thanks for the reply! Yeah, in the video it is exactly, what I tried to do! Thanks.


My problem is, that I tried to replicate what you show in the video, but I get error in the get_values_at_uv_location compound get_from_array compound. For the array.index it says no promotion from float to long.


First, I thought I must have feeding wrong data. (I followed your example, and tried to use vertex colors.) I set up a get_geo_property, set property to "colorSet" (the incoming geo has a colorSet attribute). For type, at first I thought it should be a simple 3 component  vector (RGB), but with that, I got an error on the get_geo_property. I checked with a watchpoint, and there it says array<Math:float 3> . Okay, I switch the value node to 1D array Components 3. I dont get error anymore on the get_geo_prop, but your compound still gives me error.
Okay, I guess I'm still doing something wrong. I try to just use a get_point_position (to make sure, I'm not doing something wrong with the default value type), hook it up to the attribute_transfer_by_uv node, still the same error. (I also get error in the attribute_transfer_by_uv/core/iterate/iterate/ 3 of the get_from_array nodes).
Probably I'm the one who is doing something wrong, but just can't figure it out.


Maya 2019, Bifrost 2.0.1

Message 4 of 12
in reply to: kmdaniel

Hi! You are not wrong. sorry, this node contained an externally referencing node.
I updated data, please use the latest version.

Message 5 of 12
in reply to: takashima.

Are you sure, you sent me the new compound? I'm getting the same error on the get_from_array nodes, as previously.

Message 6 of 12
in reply to: kmdaniel

OK, This need get_mesh_structure node of MJCG compounds.

Please check this.

Message 7 of 12
in reply to: bs.2002

Yes, Please install MJCG comp.


I tried to test the transfer of position with your scene data, but it seems that you need a update the input port of the mesh after editing the UV of the plane mesh. For example edit mesh's point position etc.

On the other hand, the change of sphere mesh's UV and color is immediately pass to Bifrost.
I do not know the cause of this.

Message 8 of 12
in reply to: takashima.



I downloaded the linked compounds, and the compounds are working now, thanks! 

So the bugs are gone, seemingly works.


About the actual problem:

Seemingly everything works fine. But in the viewport, not really.

If in the output set_geo_property node I use "colorSet", the attibute that I read out, there will be no information in the viewport (there is info exported, but not showing up). If I export as "color" (as far as I know bifrost is using this as default color?), I get a black feedback. (I have white and red on the mesh)

I attached an image for explonation, and maya scene. 


I'm reading out the sphere's colorSet attribute. I deleted history (just in case). 


I also tried to use the get_point_position, but I get bad results also.


Thank you guys for the help!



Message 9 of 12
in reply to: kmdaniel

>black feedback

It is because there is no color information at UV coordinates.

and colorSet values of sphere mesh in your test scene are red and colorless.


>get bad results

please try use new plane mesh. Attribute transfer works correct:)

color and position.

Message 10 of 12
in reply to: takashima.

OMG, you are so right. Ahh, thanks man! Thank you for your time! 😄

Message 11 of 12
in reply to: takashima.

It works like a charm now. But for me, in Maya 2019, I need to trigger a geoupdate for per color attributes also. (You said, it only happened for you with transferring point position.) But if is "shake" the geo, it updates accordingly.

Message 12 of 12
in reply to: kmdaniel

That's good:)

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

Post to forums  

Technology Administrators