Great tutorial! How would you go about assigning different weight to each level instance in this method? For example, if you wanted the smaller cliff assembly to show up 3 times as much as the giant cliff assembly?
Thank you! To use weights for each of the level instances, it's easy. You can do this using the 'Match And Set Attributes' node. 1. if you inspect the array parameter 'Assemblies' that has the PCG data assets, you can see that it has two attributes (Index and Assemblies), and the number of the metadata is equal to the amount of elements you have in the array (4 in this tutorial). 2. So what you need to do is add another attribute for the weight of each one. To do this, make another parameter and call it 'assembly_weights' > make it an array > select the pin type to be float > add as many elements to this array as in the parameter 'Assemblies' > enter the weights that you want for each element that is in the array 'Assemblies' respectively in the array 'assembly_weights'. 3. in the graph, add a 'Get assembly_weights' node > then from the node assemblies, add an 'AddAttribute' node > connect 'Get assembly_weights' to the Attributes input of 'AddAttribute' node. 4. in the match and set attribute, enable 'Match Weight Attribute' and type 'assembly_weights' in the field to the right of it. If this wasn't clear or if you need more help, let me know!
@@YazanHanna thanks for the reply! I think I followed all the steps but I'm getting an error on the 'Match and Set Attributes' node and all of my assemblies have disappeared. The error is - "Cannot find weight attribute ' Assembly_Weights' in the source Attribute Set." I made sure I typed the names correctly, any ideas?
I did watch Chris Murphy's video, and I created my own video to provide further explanation on how it works. I'm also working on using similar idea to make procedural village.
@@YazanHanna yeah you make PCG data assets as villages, then do the same tagging process and either the density noise or select points node. If used with the copy points with hierarchy node you could do even more detail. Then use the same PCG data asset parameter with the match and set attributes and attribute partition node
I had a lot of different ideas to do this some are more procedural but more complex such as designing multiple facades and distribute them randomly along a house from a pcg data asset and then distribute a number of materials to tagged objects, this will make a lot of variations but I might go with a easier route cause there is a lot of issue with this set up
Awesome! Please continue with the other parts. 🥺
Thank you very much for your work. Your explanation is more understandable than Chris Murphy's.
Thanks! I'm glad you found the tutorial helpful.
Thanks man I had to do separation with random choice now its procedural wohoo
No problem! Happy to help.
Great tutorial! How would you go about assigning different weight to each level instance in this method? For example, if you wanted the smaller cliff assembly to show up 3 times as much as the giant cliff assembly?
Thank you! To use weights for each of the level instances, it's easy. You can do this using the 'Match And Set Attributes' node.
1. if you inspect the array parameter 'Assemblies' that has the PCG data assets, you can see that it has two attributes (Index and Assemblies), and the number of the metadata is equal to the amount of elements you have in the array (4 in this tutorial).
2. So what you need to do is add another attribute for the weight of each one. To do this, make another parameter and call it 'assembly_weights' > make it an array > select the pin type to be float > add as many elements to this array as in the parameter 'Assemblies' > enter the weights that you want for each element that is in the array 'Assemblies' respectively in the array 'assembly_weights'.
3. in the graph, add a 'Get assembly_weights' node > then from the node assemblies, add an 'AddAttribute' node > connect 'Get assembly_weights' to the Attributes input of 'AddAttribute' node.
4. in the match and set attribute, enable 'Match Weight Attribute' and type 'assembly_weights' in the field to the right of it.
If this wasn't clear or if you need more help, let me know!
@@YazanHanna thanks for the reply! I think I followed all the steps but I'm getting an error on the 'Match and Set Attributes' node and all of my assemblies have disappeared. The error is - "Cannot find weight attribute ' Assembly_Weights' in the source Attribute Set."
I made sure I typed the names correctly, any ideas?
@@julialichtblau7796My bad! I totally forgot to mention to type 'assembly_weights' in the output target for the 'Add Attribute' node.
@@YazanHanna haha now the error is "Cannot find attribute 'None' in the source Attribute Set."
@@julialichtblau7796 well 'none' is the default value for the 'match weight attribute' you need to type 'assembly_weights' there as well
Your tutorial is very good
Thanks a lot!
Somebody saw the Chris Murphy video😮 I used feh same workflow it’s so powerful
I did watch Chris Murphy's video, and I created my own video to provide further explanation on how it works. I'm also working on using similar idea to make procedural village.
@@YazanHanna yeah you make PCG data assets as villages, then do the same tagging process and either the density noise or select points node. If used with the copy points with hierarchy node you could do even more detail. Then use the same PCG data asset parameter with the match and set attributes and attribute partition node
I had a lot of different ideas to do this some are more procedural but more complex such as designing multiple facades and distribute them randomly along a house from a pcg data asset and then distribute a number of materials to tagged objects, this will make a lot of variations but I might go with a easier route cause there is a lot of issue with this set up
Bro Plzz Make Part 3
Could you let me know which parts you need more details on for Part 3?