유니티 쉐이더 그래프 - Weaving Ring Tutorial 2



유니티 쉐이더 그래프 - Weaving Ring Tutorial 2

금별 1 1,896 2019.08.12 03:57

3. Split chain

I refer to this section as the "Split chain", not to be confused with the Split node that we've been using to split up vectors.

Final part, lets start a new chain below everything else, this won't be as long as the wave chain. Again, we start with the Polar Coordinates node's green component for the clockwise gradient.

However we go about making this clockwise gradient spin over time, it will definitely require the Time node, so lets create that. Whenever I add a Time node it always gets immediately multiplied by some speed value, so lets create the Multiply node and Split Speed property.

 

For the Split to increase and decrease smoothly, we can use the Sine node again, with the same rule as last time of having the Degrees To Radians node immediately before it. 

As there is only one 'wave' this time around, we can convert this to degrees just by throwing in exactly 360 to the Polar Coordinates Length Scale parameter.

This conversion also means that our Split Speed will be measured in degrees per second, here I set the value to 90. 

Connect all this up by Adding the multiplied time to our clockwise gradient and then send its output to Degrees To Radians which should already be connected to Sine.

 

Similar to the previous Sine node in the wave chain, the negative portion of this Sine output will cause an unwanted result, in this case it will cause a secondary inverted RGB weave effect on the opposite side, so lets Remap this from (-1,1) to (0,1). 

However unlike the previous Sine, we don't need to implement any magnitude adjustment here, as we already have a variable that dictates the waves magnitude. I think it's more intuitive that this part remains between 0 and 1.

 

Now we can combine this chain with the rest of the graph with Multiply. The affect that this 0 to 1 output has when multiplied to the output of the colorful wave chain is to reduce it to nothing at 0 and leave it fully intact at 1. This new combination can then be reconnected to the Add node of the main ring chain.

 

We aren't done yet though, there's one last touch which I think makes a big difference in this effects presentation. Currently the weaving effects increase and decrease is so gradual that it is visible for most of the perimeter of the ring. I think this effect is improved when most of the ring is completely solid white, because this makes the weaving effect look like it's magically unraveling something that feels more solid.

To apply this, let's go back to the Remap node at the end of the Split chain we just made. We can adjust this 0 to 1 curve with a Power node, this is simply 'A to the power of B'. So we can raise it to the power of a new property called Split Curve Adjust. This will keep the values in-between 0 and 1 but affect all the between values causing a steeper or shallower slope. Here I set Split Curve Adjust to 8.

4. End!

Finally we can go back to the end of our Ring chain and send our end result into a master node. This shader in it's current state is kind of a 'standalone' effect and doesn't care about lighting, so the simple unlit master node will work. This shader can then be applied to a material which in turn can be applied to a mesh renderer with a quad mesh to become visible in scene and in game.

Thanks for reading! 

This was my first time writing a tutorial so I'm looking for feedback. I'm also no expert in shader graph so I'm also looking for advice there too. Thanks !

Comments



Total 1,049 Posts, Now 1 Page


 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand