This is great! I was working on something similar yesterday generating dither patterns. I like the modular approach of this
@andrea_ciani
7 ай бұрын
Thank you Rahul! I’m happy of this!
@ChristinaMcKay
7 ай бұрын
Thank you for your awesome tutorials!
@andrea_ciani
7 ай бұрын
Thank you very much Christian!!
@bhi31
7 ай бұрын
GReat and Thanks
@andrea_ciani
7 ай бұрын
Thank you!
@unchancy3470
6 ай бұрын
Great tutorial, I haven’t seen anything as advanced as this before. I still don’t understand what’s going on but I’m sure with this video I would be able to recreate it in blender. I wonder would it be possible to rotate the Digital VU meter as it rises to create a spiral effect?
@andrea_ciani
6 ай бұрын
Thank you Un ChancY! Of Curse you can! Can you join on my Discord server? Link in the description. Bye!
@andycuccaro
2 ай бұрын
This looks really useful! Do you think if this (or a modified version of it) could work as a standalone modifier that could affect a modifier that's above in the stack? Like, if I have an animated property in a GeoNodes modifier and then I add you nodegroup as a modifier, could it add the delayed effect as it does when inside the GeoNode tree?
@andrea_ciani
2 ай бұрын
Thank you Andy! Yes you can do it but you need to follow this instructions and keep in mind that this approach works if you want to change an attribute from the previous modifier (or in the mesh itself). 1 make a copy of the group node 2 enter in the group node and the check the Modifier flag passing through the Group properties otherwise you can't add the group in the stack modifier as a standalone modifier. 3 connect the input geometry socket also to the output otherwise blender will show you an error like "Node group's first output must be a geometry". 4 between the geometry input and output add a Store Name Attribute, export in the group input the string socket. In this way you can set the attribute you want to override or create from scratch and to be use after in the stack modifier or in the shading editor. 5 link the result of the workflow (that now goes directly in the group output) in the float value of the Store Name Attribute. 6 Set the Domain of the node to Point or if you need make 'n' copies to choose different domain according to the choice of the domain of the group node itself (you need to use the same technique i used in the Frame "Range from 0 to 1 of indexes"). I think in this way it should work properly 🙂
@andycuccaro
2 ай бұрын
@@andrea_ciani Thank youuu! This sounds like it could work. I'll try it out and report back.
@gronko_chug_butter
7 ай бұрын
The index switch node cant come soon enough.
@gronko_chug_butter
7 ай бұрын
omg 4.1 is also adding a menu switch.
@andrea_ciani
7 ай бұрын
@@gronko_chug_buttergreat!
@str1ke232
6 ай бұрын
Your tutorials are very bad, ur using map range and it makes tutorial a lot harder cause map range is just node,which is using some formula.I don't have an idea how (Map Range):Value affects on the output value,and why did you added 0,1 to from maximum?
@andrea_ciani
6 ай бұрын
Hello Mr. Str1ke, first of all thank you for your feedback even if a bit stinging... About the MapRange node, i don't know how much you know about it but i'll try to better explain how i used it in this tutorial. For more details i suggest you to read the official manual of Blender. The MapRange can work in different domains. The input sockets have the rhomboid shapes. This means that the node can accept array of values instead of single values. Because we are in a point domain (indeed we're using a Set Position node to offset points), we can pass a different group of input values (Value, From min, From max, To Min and To Max) for each point at the same time. This allows us to get a different result of the formula from the remapping for all the points at the same time. For this reason i put in the From Min values calculated by the division of each index and the total count getting the correct proportional value from 0 and 1 (0, 0.1, 0.2, 0.3...) and, since i want an increasing of the output values (always in a range from 0 to 1) while increasing the input Value, i need for each point a From Max value greater than the From Min, for all the points. At the same time this gap between all the From Min values and From Max values (if you pick any couple of From Min and From Max) needs to be the same for all the points (this is the reason i added a constant, in this case: 1) and this allows us to have the same slope of values for all the points but simply shifted by the constant (1-0=1 , 1.1-0.1=1 , 1.2-0.2=1 etc). But, why 1? The range between 0 and 1 for the animation allows me to have a ramp of increasing getting, at a certain moment, the first point all the way up and the last point still all the way down. If we set 1 for the value input of the maprange node (so in theory the maximum value of the animation) we can instantly calculate all the outputs from the MapRange for all the points: Point at index 0: Value 1, From Min=0, From Max=1 so Value = From Max and for this reason you get the To Max as the result so 1 = all the way up. Point at index 1: Value 1, From Min=0.1, From Max=1.1 so Value = From Max - 0.1 and for this reason you don't get the To Max as the result but a bit lower. Point at index 2: Value 1, From Min=0.2, From Max=1.2 so Value = From Max - 0.2 and for this reason you don't get the To Max as the result but a bit lower and lower than the index 1. Point at index 3: Value 1, From Min=0.3, From Max=1.3 so Value = From Max - 0.3 and for this reason you don't get the To Max as the result but a bit lower and lower than the index 2. ... Point at index 10: Value 1, From Min=1, From Max=2 so Value = From Min and for this reason you get the To Min as the result so 0 = all the way down. The only way to have this behavior from the first index to the last index having an input range between 0 and 1 (the input attribute of the GN) is having the SAME gap between the From Min and the From Max values. Now, to end the explanation, i don't want to finish my animation having the first all the way up and the last all the way down. I want to have both all the way up and to get this result i need to increase the input Value of the MapRange even more than 1 and exactly up to 2. (it's important to maintain the clamping checked in the MapRange node otherwise you would have output values over 1) In this way if i increase the up to 2, let's calculate the values of the indexes again: Point at index 0: Value 2, From Min=0, From Max=1 so Value over From Max but clamped to 1 and for this reason you get the To Max so 1 = all the way up. Point at index 1: Value 2, From Min=0.1, From Max=1.1 so Value over From Max but clamped to 1 and for this reason you get the To Max so 1 = all the way up. Point at index 2: Value 2, From Min=0.2, From Max=1.2 so Value over From Max but clamped to 1 and for this reason you get the To Max so 1 = all the way up. Point at index 3: Value 2, From Min=0.3, From Max=1.3 so Value over From Max but clamped to 1 and for this reason you get the To Max so 1 = all the way up. ... Point at index 10: Value 2, From Min=1, From Max=2 so Value = From Max and for this reason you get the To Max as the result so 1 = all the way up. Now, i hope to have helped you a bit more, i'm always open to talk about misunderstanding or doubts. I have a server discord if you need more explanation about it. Finally, i would suggest you to be less stinging when you need help because as you can see you can ask a question and receive an answer but not always from everyone. Cheers.
@str1ke232
6 ай бұрын
@@andrea_ciani there is something wrong.For each calculation of values you says that the from max is +1 than from min but it is actually + 0.1.And is Value define which point will be mapped like 0.5 is the middle point of domain.But as other guy said me that after mapping value equals as the proportionaly changed and what actually this float value define?
@str1ke232
6 ай бұрын
@@andrea_cianiI understand it but not clear.Does value changes proportionaly and for higher indices,the changing of the range is higher and value is lower cuz in the from range it is low.And it's goes up lower like the other and so why it goes a bit lower and lower.But want you to answer me the most important that why do you think that from max is from min +1?
@andrea_ciani
6 ай бұрын
@@str1ke232 I have to disagree, look at the 8:08 minute in detail, i wrote all the whole list of From Min values from the left to the right and as you can see the 0.1 gap is always between the From Min of an index and the From Min of the previous index (or the next), not between a From Min and the corrisponding From Max on the same vertex index. If you want to know exactly the group of values passed into the MapRange node for each vertex you need to pick the values from the Index column you desire. In other words, if you look from the top to the bottom, for the Index 0 you pick the values 0 and 1 (From Min and From Max), for the Index 1 you pick the values 0.1 and 1.1 (From Min and From Max), for the Index 2 you pick the values 0.2 and 1.2 (From Min and From Max), ... etc... As you can see for all the vertices the From Max is always the From Min plus 1. I hope this can be more clear.
@andrea_ciani
6 ай бұрын
@@str1ke232 I received this comment after mine anyway, about the +1 i described it in the first big comment. Try to make the workflow on your own or get it from my gumroad page the GN modifier and change the value added to the From Min. You would see that if you have an added value below 1 you will anticipate the ramp so the ramp will be more stretched. With value above 1 it will expand. The value 1 is derived from the fact that the division to calculate all the From Min values of the vertices allows to get a range of numbers always from 0 to 1 and 1 would be the value always set for the last vertex of the list. This means that when your animation attribute goes to 1 that 1 is for the index 0, = From Max and for this reason you would have the output of the MapRange = 1 so all the way up. while for the last index 1 would be the From Min and for this reason you would have the output of the MapRange = 0 so all the way down. If you don't use 1 as the adding value but other values you would have too fast increasing or too lower increasing of the output from the MapRange node. Try to yourself to set different number in that Add node and calculate the values for each index manually or seeing the result in the spredsheet. You will automatically understand why the output of the MapRange behaves in that way.
Пікірлер: 34