Magic Music Visuals + OBS: Intro Level

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
okay for this tutorial we're going to need a couple of specific pieces of software those would be magic music visuals and obs let's open up magic now what magic will do we'll scan for different modules you'll have installed as well as the factory vanilla ones that it comes with and then it'll configure your audio now in this first scene here we have our magic window and we have a module here this module is more or less the output of what we can expect everything we're plugging into so let's start with something simple i'm going to right click and i'm going to add a module let's go down to geometry and let's just draw a polygon so a square is drawn on screen if we click on this number here we can decide how many sides this polygon has right now it's a triangle and as we scroll up we get into octagons and decagons etc let's just start with the triangle this is going to be our confirmation that the module right here this polygon is being sent straight to the magic output whatever this magic output is receiving it'll display on this screen right here let's look at some other settings and parameters that we have down in the bottom it's going to have a resolution of 1920 by 1080 or whatever resolution you feel comfortable using also a frame rate that's current it also is going to represent in kilobytes how much memory is available on your graphics card to be able to load different shapes images etc this includes videos as well as text these settings are located if we go under window magic options which is going to show the options of this specific window and it has a whole bunch of different things here so throttling and frame rate would show how much delay between each frame that it draws so let's say you wanted a couple of milliseconds delay between each frame you could add that in or you can drop it down to zero the default is one going down to double buffering is something that we're going to need to have in place when we spout the output of this into obs so more or less leave this checked vertical sync is something that takes the frame rate of your monitor or graphics card and makes sure that it is synced with the frame rate of the output of magic if i deselect this we'll notice that this number right here kind of jumps everywhere because it's drawing a thousand plus frames every second the issue with this is if it fluctuates then the effects and the different things that you have on screen might change depending on what load of your gpu is being driven by those effects for instance if i have a very busy scene then the trails and some of the visuals might slow down and stutter i like to always keep mine on vsync the reason being vertical sync is going to more or less lock this in at 60. therefore i can predict exactly how my visuals are going to look as i add more and more different complex things to them now that we have a triangle drawn very straightforward and simple i'm going to minimize this and open up obs let's open up an instance of obs okay here we are pretty straightforward empty obs we have a scene right here and we're going to need to add a source the specific source that i'm going to be adding is going to be hap is going to happen to be a spout plug-in so we have spout to capture so let's go back to our magic and make sure that we go here to spout output what this means is kind of literally it's going to be spouting or transferring the output to spout so now that we're doing that we can go back into obs add our spout to capture as a source and here's some settings use the first available sender or we can select a specific one if you have multiple different spouts and different software or perhaps different machines that might be sending some of their signal over to your master pc i'm going to select magic main sender just so i know for different changes later on what i'm referring to the composite mode in this case is going to be opaque what that means is it just takes whatever is drawn and throws it onto obs with no opacity no alpha channel no transparency you have the ability to add pre-multiplied alpha or just to go to default and however it happens to be sent in this case i'm just going to keep it opaque if you plan in the future to send obs and do further post effects that you might want an alpha channel you can select that down this also has pull time for new senders fast just means that it's going to look for whatever new sender you might be giving since we're only using this one sender and this is the only sender we ever intend on using we'll just keep it here so what's going to happen is we're using obs to capture whatever magic is sending therefore when we start streaming or start recording your video footage it's going to be taking whatever magic is sending and it's going to be displaying it right here this means that it's very important under our settings that we're matching the output so if we go down to video here we notice that our base canvas is the familiar 1920x1080 and the output is also the same we're not scaling or changing anything and we have an fps of 60. this matches our magic music visuals that we see down here if you do not see the display here on the bottom for the different information you go to window go to magic window options and you click on status information and show free graphics memory this is going to show you exactly what the window is displaying etcetera etcetera if there's any changes or as you load more things onto your gpu you should see this number decline for the available memory that you have left mind you once again that different videos images text files etc things that you might point to here will start to load up there's also options to unload some of these things as well so let's look at what we can do to add now i can select this module and i can delete it and let's add something different let's add a different geometry called star field aha very familiar so this star field looks similar to something that you might see on old screen savers it has some parameters here it has some speed some size circles or if i deselect them they become squares just how they're drawn how many stars per second are going to be drawn um the distance that those stars start to be drawn the spread of where they're spawned from we also have a couple of parameters down here called bypass and power we're going to start to describe what those do if you don't see them go to scene scene editor options and show bypass and power by default by default normally these are off you're not going to see these unless you specifically ask for them to be shown you can also manually show them by clicking on the options here and it can show the parameters for bypass and power i like to always have them since bypass and power is very important to me for a lot of triggering and turning off and on or even bypassing certain features and certain modules that happen to be in a chain now mind you we can add different things within the middle of this chain to post effect now let's talk about just this star field right here i can show you the entire star field as it's being drawn right now now when we're in full screen mode like we are now you're not going to actually see anything in the bottom you're not going to see the graphics info or the memory or the frame rate you're just going to see what it's output this is very important when you're translating to obs that you want to show just this and not have to switch on and off your your graphics all the time so if we minimize back down into the user interface of magic you'll get back your information here at the bottom so that's very convenient after a while you'll start to trust that you're doing the right thing or perhaps you might have a frame drop or as your gpu differs and you load different things you might notice some changes in your frame rate especially when switching to different scenes because it has to stop load that scene and then get back to drawing its frames as quickly as possible sometimes it might skip a frame or two or it might drop a couple of frames to compensate the effects and the visuals should remain the same as long as the scene isn't so heavy now by scene i mean this tab right here we're working with this scene and everything that takes place if i go to add a new scene then the whole module is empty and it's just putting out a transparent clear screen there's no black or white or any kind of graphics being drawn it's just literally drawing a null set this is kind of important knowing that we might be affecting it later or things that are drawn on here that have some trail effects will start to show their trails and their bleeds if this was in fact a black background and we tried to add some trails after the fact they might not work correctly let's go back to our previous scene now as you can see it loads back everything that we need to it has everything saved here and we can go back and forth between the scenes if we want to there's also some transition there's also some transitional ways that we can have a playlist that will show these different things so let's talk about specifically how things are drawn in this space now as you can see there's stars on screen however this is drawn in a 3d space if i add a module here let's say a transformative module you can have something like rotate access rotate vector a scale or translate what a rotate axis is going to do is going to select one of the axis whether it be z y or x and then have an arbitrary value the rotate vector will actually take a vector between two of those axis and it'll rotate about that plane a scale kind of does what it says you have an x y and a z value you also have the ability to control all three at once if you just want to shrink an image and then you have translate which is more or less um across an x y or across a z plane or any combination thereof but it's pretty orthostatic so let's try something like rotate access so now i have a module in the middle so step one it's drawing my star field it's then sending it to rotate access right now it's z-axis and it's rotating it at zero and then it's sending it out to magic so nothing should happen a matter of fact if i hit this button here it's a bypass button bypass means nothing happens it just draws it from here goes through and just sends it right back out kind of like a guitar pedal if you have it in bypass mode if i so choose to hit this power button however it's going to cut the actual lineage from start to finish this is kind of like making a kink in your hose so now nothing is flowing through at all we have to make sure that if you want to bypass an effect that you're not powering it off because you're actually cutting the chain another thing we can do is you can have multiple outputs so for instance if i take this line right here and i plug it into my output now if i shut it off it kills this line but the next line in priority is still drawing my star field and this happens to fall in a priority so if i had multiple things being plugged in here it would actually take the first one followed by the next one followed by the next one kind of like layers in your favorite photo editing application now nonetheless as it's drawing these stars the background is still transparent so therefore if i were to draw something underneath for instance if i were to add a polygon you'll notice that the polygon is drawn underneath the stars um i can see that they are underneath the stars by adding another module let's say a color effect you can see that now the polygon is red let's draw it into triangle mode this red triangle being drawn but the stars are on top of it because of the priority so therefore if i were to stop the stars the only thing that's left to draw is the red triangle turn the stars back on let's say i cut power to the color effect it cuts power to the entire triangle however if i were to bypass the effect the triangle turns white again this is how our rotate axis bypass works if i turn this back on and i remove these i remove this chain now we're back to just being able to rotate the axis so this value right here and in most cases is going to be on a scale of zero to one one being a maximum zero being its default now knowing that there are some modules and some applications that have different values and ranges that are not zero to one in some cases they might be a zero to 360 to represent angle they might be a negative one to positive one to represent a value of color saturation hue for instance in this case for the rotate access you have different axes you have your x your y and your default as z so let's see what happens when we start clicking arbitrarily by adding a tenth so you can tell that the stars are moving every time i click on here they're moving at an arbitrary amount now if i click on the actual box and drag it you can start to drag that angle further and further but mind you the range is from zero to one so therefore i know that zero is the same value as one is the same value as two as the same value as 3 etc etc any integer value so why would you need a value higher than 1 is if you're going to repeat it so for instance we know that 0 to 1 is going to be 360 degrees of rotation by having a value here of 2 it's actually rotating it at an angle of 720 degrees and then so on and so forth as you go up now you might know that if you rotate something 720 degrees it looks more or less the same now you'll notice that because this is being drawn so quickly that it's actually going to just look choppy what we can do here with this angle is we can actually link this now currently it has no source and nothing linked which is going to bring me to the next part of this project is how to control these parameters using your favorite controller in this case we happen to have a nano control 2 by korg this right here has a whole bunch of buttons different knobs that you can turn with values some faders sliders as well as some other arbitrary things now when you send this item to magic it's going to be able to just interpret whatever value amongst a cc channel so what i would like to do is i'd like to click source feature right now it's starting i have it on auto and what it's doing is listening for any supported midi or osc messages or commands i know in this case i would like to change let's say this first value here and as we actually change this first slider we'll notice that we're actually spinning on the z-axis now mind you if you watch the value it's only going from zero to one so that means as i slide this slider up and down we know that we're just going from a zero to one value now the midi information on this happens to be sending a signal from zero to 127 127 being a max value zero being its minimum value so let's say i didn't want to rotate on this axis perhaps i want to rotate on a y axis it's going to keep all my parameters but as we hit the fader we'll notice that it's now spinning in a 3d space we weren't able to see this before because we were more or less just assuming we were in a two-dimensional space however this star field is being drawn and calculated in a 3d space so as i spin it left and right you can see that it's going about the y-axis the same would be true for the x-axis now you'll get something a little bit more vertical and spin and then back again as i slide this down we'll also notice if i move the fader very quickly it seems rather choppy so there's different parameters and different ways that we can actually modify how this module reacts right now we know that the angle is being linked to the source feature that i selected which happens to be cc0 and my source is number four but this automatically linked it now let's say i went to go change this let's say instead i would like to have my knob right here actually control the parameter instead so now the knob actually turns so when i turn the knob it's actually affecting it you'll notice that it's been changed to cc 16 but if i hit my fader my fader has been unlinked so this can only be linked one at a time there are different options where we can link multiple different faders and knobs and it can make calculations to compare or to look at some of those knobs and values and say if or and statements or actually combine and do some mathematics so it'll take an overall and it will add different functions this is great if you know you're going to be building upon multiple faders or if you want a certain effect to only take place knowing that another effect has been turned on or is at least at a high enough value that it would make sense for instance if you wanted some rainbow colors and then trails you might want to make sure that the trails are only going to be turned on as long as the rainbows are not left at white so white would not create many rainbow trails at all whereas if you had other parameters that were very colorful you might be able to draw those trails in that dimension let's go back to our z-axis and let's link this to a fader so there we are we're spinning around however let's do some modifications to this so if i click this equal sign we're going to see different kinds of modification abilities here i'm going to briefly explain each one there's only a few that i really really gravitate to and use but there's all kinds of different applications that we can use them for let's explain them really quickly what the average does is it takes the input value and the average of its value and then sends it through what a clamp does more or less puts a ceiling onto how high this value can go and will not allow it to go further up a delay will extend a certain amount of seconds before an input and an output occurs so let's say i hit the fader it waits an arbitrary amount of time and then the value is expressed what an exponent does is takes whatever value and then raises it to whatever exponent so for instance if i had 2 you'd basically be squaring the output if i had a 3 there you'd be cubing the output this works exponentially obviously what an expression is is literally a command line where you can have x equals something something that you might not find in this entire list is functions like sin or cos for instance where you might want a sine wave or a cosine wave or different curves or values that might not fit within anything that's linear what a gate does is takes an input value and waits for it to be above a certain point before it actually registers what a hole does is for an arbitrary amount of time it takes the last input keeps it until the input changes and then holds that input so therefore if i were to turn on a input it would hold the previous value then it would switch to that input then if i turned that input off it would hold the traditional input and then finally turn it off so it's kind of like a sticky modifier if you will what the increase modifier does is just increases the value linearly indefinitely therefore it's just going up and up and up and increasing in value you can also use any of these in combination with each other so therefore you can increase at a certain speed and then have it clamp once it reaches to the top of that speed what an invert does is literally just takes your zero and makes it one and your one is zero therefore if you're looking to make an increase in your in your slider or your fader you'll notice that inverting does the opposite therefore when i press up on my fader it might go down in value this is its own operation which is very convenient for bypass and power values for when you want to hit a button that will turn something off rather than turn something on what an offset does is actually adds some arithmetic you can also have negative values for this to subtract so therefore if i wanted to start at a certain size a certain parameter a certain value but i did not want that to be zero i can add to it and then it will finally do its math after the fact offset is really good if you want to start at something that is outside the normal range and then come back into range if you so choose so if you think of offset you're just more or less sliding where zero exists what a peak does is we'll take a value and then slowly fade it back down to its previous value so let's say you had zero and you input a one as a value and then back down to zero it wouldn't just go back down to zero it would slowly fade based on what the value you set the peak at it'll slowly fade back down to zero this does not work the same as the smooth function which we'll talk about in a minute the smooth function would fade slowly upwards to the value and then fade slowly back down what a peak does is it instantly goes to the highest level and then slowly fades back down if no further input is introduced what a power is is the opposite of the exponent it takes whatever the power value is and then uses the input as the exponent so you can take a normal function and how much power or how much expression that you're going to be adding to it a random value literally picks a random value that's drawn at the frame rate we know that our frame rate is 60 so it's going to draw it at that frame rate a ramp will go from zero to one and then back to zero and slowly go back to one again so this is just like it sounds it's a ramp it's linear it'll just climb in value for whatever speed you have it set at from zero to one what a scale does is multiplies your input so let's say zero to one was not enough on your slider or fader or button and you want to go to let's say zero to five you would then add a 5 as a multiplier here as your value and you'll notice that when you use your slider it'll start to go up at an increased value of 5. therefore if you had your fader only at 50 percent you'll notice that you're at a value of 2.5 already because it's multiplying your input what a sine oscillator does is it alternates between 0 and 1 across a sine wave the speed of the value is what you set to make the frequency higher or lower which might look like a long wave to something that bounces very quickly back and forth what a smooth factor does we talked earlier about how a peak works what a smooth factor does is actually moves slowly between the current value and the value that you're inputting so let's say you're at one and then you input a value of zero it'll start to slowly go back down to zero you can change the speed of what that smoothing is and then if you have another input let's say at five or two or anything arbitrary it will smoothly go between those if you were to alternate between the values of zero and one rapidly while this smoothing is at a high value it might never ever get to zero r1 it'll just kind of smooth between the two and slowly bounce this is good for a lot of different motions or a lot of different slow fades instead of having for instance you go from image 1 to image 2 quickly by throwing a slider or fader in there but you don't want it to just blink and go to image two you want to slowly transition through a nice fade you would use smooth in this case what a step does is rounds off your number basically if it's going to be uh one point etcetera etcetera it'll round that to whatever step that you set it at this is good if you want only whole numbers more or less a threshold will only change your value to one once the threshold has been met the good news is once you do set the threshold let's say to something very very small let's say 0.01 as soon as you beat that threshold it automatically puts out a full signal of one so therefore you might lose some of the information for whatever slider or fader of value however if you have something that's touch sensitive that you want to make sure triggers after you have a certain sensitivity but you also want that output to be a whole number you would use this threshold so that's also good for music knowing that you want something to trigger activate once a certain audio level or a certain frequency is met and you want the effect to trigger in its full power regardless of what the continuing audio signal might be a triangle oscillator very similar to the sine oscillator it's just following a linear path from zero to one and then back down to one to zero its arbitrary value will select the speed and frequency of that triangle or sawtooth wave what a trigger by integer does is once you set the value it acts as the threshold so when you press a button or an input it'll increase by one every time that you're meeting that threshold it increases to two three four indefinitely so it's kind of acts like a counter the trigger random works the same way however instead of increasing by 1 it spits out a random value anywhere between 0 and 1. further inputs will change that to randomize more and more the good news about this is you do not have to reset it and you can you can change a lot of different colors or parameters or values and never repeat them so this is a good randomizer in its own instead of you having to do some random mathematics for it what a wrap does is basically a module arithmetic so let's say you have a value of 7.654 it's going to eliminate the 7 and just give you the 654 as its remainder you can also set the arbitrary amount as well to listen to what the input is i don't frequently use the wrap but it is very important and you can do a lot of things with for instance different toggle switches or if you want to remember different states of when the last time you hit an effect or a button or input or value and then you want that state to be off the second time you hit it and then so on and so forth you keep turning it on and off that way you can also change this to make sure that it turns on after three button presses instead of two or four for instance there's different arithmetic you can use to get that done very convenient when used with expression nonetheless let's talk a little bit more about the rotate axis and what we had going on earlier now if you remember i had my fader which changes this however i want to demonstrate something about the 3d space so let's hit the y axis here now we can clearly see that this is represented as a 3d space now i'm going to increase some parameters here let's go to 200 stars it's going to draw a couple more let's bring their size down to 0.5 for instance so now it's drawing smaller stars and a couple more of them let's slow this down also to 0.5 so it seems a little bit slower so as we rotate we can see a lot more stars are being drawn here they're also being drawn in a 3d space now i'm also going to add another rotate access now i could go ahead and i can insert it i can search for it by name i can try to scroll or i know that i'm going to use another one so i can go here edit copy the rotate access and then click insert paste and now i have two of them now mind you these are both linked they're both doing their same thing and the input is in a chain therefore this is multiplying its effect so this and this will actually have its effect at the end what i would like to do however is i would like to change this axis to be x and this to be y i would also like my different feature to be the different slider here so this is one i would like this slider to be 2. so if we go back here to our screen we can see that this is going to operate on my y-axis this is going to operate on my x-axis and we can use them to pair in tandem to kind of just move around this 3d space so this 3d space that we have if we so choose to insert an effects 2d anything that is in this effects 2d column let's say anti-alias array chroma keys contrast hue and saturation what has just taken place as you know that we've just added this is if we draw we have our 3d space here because it's taking the star field throwing it through 3d and then we have some hue and saturation if i cut this out and let's say i insert it here you'll notice that i have a 3d start field being drawn into a 2d color space and then its access is being rotated you'll notice something very different happens so when i rotate it's now only rotating a 2d plane because i've lost all information about the 3d space so therefore we have to either a make sure that we do not put this before the chain and keep this after we've done our 3d calculations or we can replace it with something like color which is a 3d space and let's go to color hsb so now we have hsb hue saturation brightness and also an alpha channel it's coloring it red let's color it different colors here a matter of fact what i'd really like to do is i'd like to link this to let's say another fader so now i have a fader that's controlling this color but i don't want it to control so fast so what i'm going to do is i'm going to add a smooth factor to it so i add a smooth modifier and i hit let's say something such as 0.85 so it's smoothing factor is going to be smooth so as i scroll up very quickly it's slowly scrolls between the color so if i go to full value here it slowly goes back to its red if i scroll it all the way down it slowly goes here now if i bring this smoothing factor all the way up to one as its arbitrary value it will never move from where it is because its smoothing is set to an indiff an indefinite amount so if i were to hit .97 for instance this is a very very slow smooth that might take a long time to get finally through all of its colors despite the fact that i hit the fader approximately five seconds ago it's still going through its feed from the previous value to the value that it is now if i were to bring the smoothing factor down to let's say point one you'll notice that the effect happens very very instantaneously very quickly so i find that something around 0.75 is going to be kind of good for having something like that a matter of fact i like this so much that what i'm going to do is i'm going to copy all of the modifiers that i have and i'm going to paste them perhaps over here and i'm going to paste them here as well what that's going to do is it's going to make my other dimensions actually smooth out instead of being so rapid so you get something a little bit more smoother when i change the color notice that we've retained our 3d dimension which was our goal in the first place we didn't use a 2d effect if i were to use a 2d effect i would lose this 3d color space again i would lose the depth of field that you might get i'll lose all depth information so my three faders that i have so far are controlling the y-axis they're controlling the x-axis they're controlling the colors we can take a look at what this looks like on full screen this is going to be your output to your viewers or your video or your content where they will see this entire color space they'll see this rotating based on the different faders and colors that you have applicable now that we have our different colors our different x and y axis let's see what happens when we bypass some of this now i can hit bypass here bypass there bypass that and it looks like none of my faders are doing anything anymore it's also not even controlling or altering any of the parameters behind the scenes it's not until i actually have them on again that i'll be able to use them you'll also notice that i have inputs and outputs available which means i can actually put something into the star field so what i'd like to do is i'd like to bypass some of this for now and look at what happens when for instance i add a piece of geometry let's say a polygon i do not want it plugged in there and i would like this to be a triangle [Music] i can also minimize these to get them out of the way if i feel too cluttered we'll turn them back on later and let's draw this in i'm going to disconnect this now we just have a triangle very familiar i'm going to add a scale transformation to it now we have our familiar x y and z this will kind of shrink the triangle on the x the z obviously will shrink it in the z direction however we're just drawing a 2d shape so it doesn't know what i mean by z if i hit x for all that means that it'll shrink the whole shape negative values will draw the shape upside down so let's make something small let's say about that big that sounds kind of cool but let's plug it into our star field and see what happens so this is our star field normally if i bring up our values here for our rotate axis i'm going to keep the color off but let's turn these back on which means i now have control again so if i take the output from our polygon that we saw our triangle and scaled it down and i plug it into our star field we'll notice that it starts to draw little tiny triangles let's bring up the scale a little bit those triangles start to become more and more prominent so basically the star field is just drawing circles unless i specify otherwise now if i were to so choose to make the triangles bigger i could do this by the size right here now the triangles will be represented bigger and bigger now mind you this is still drawn in a 3d space so if i turn here you'll notice that the triangles are still going to be facing me they haven't lost their information but the star field and how it's being drawn and where it's flowing will change so i now have triangles going in and upwards fashion so let's say i want to actually spin the triangles well since this is all a chain more or less i can take these two i can copy them and then i can insert them here so now this is in a different part of our chain so let's trace this a little bit we have a polygon being drawn it's a triangle because it has three sides its scale is normal let's scale it down just a little bit there we are it has a rotate axle let's let's change what those values are linked to i want this to be this knob here so now it's rotating on that axis the y-axis of the polygon let's change this to be this knob here and now it's flipping across the x-axis so i can change exactly all of these and if i wanted to move my entire frame i could and then move the triangles afterwards to twist them now let's say i wanted the triangles to automatically spin i just wanted them to kind of do their thing what i could do instead of having this be a source i can click com select no source and instead of smooth i'm going to delete smooth and i'm going to put in something let's say a ramp so i put ramp linear and you'll notice that they spin on their own because the ramp is going from value 0 to 1 over and over again if i bring this value down the ramp is going to happen very very slowly so as they're spinning if i increase this then they just spin so fast that it's having a hard time drawing them so let's bring this back down there we go so now they're spinning on their own we can also bring back our color dimension if we wanted to color them however they're all going to be colored all the same color there's not much we can do about that however we can talk about iterators later so now we have our triangles still doing their thing we can see them from different angles so that's great for everything that we're drawing here but let's talk about exactly what what we would like to do [Music] for something like obs so what i'm going to do here is i'm going to add a module of media now media can be an image that you have stored on your hard drive you can also have a jpeg folder what that folder will do is it'll take any jpeg image that you have within that folder that you've selected and through a certain speed or frequency it'll go through each of the pictures that you have there you can make a slideshow for instance or if you wanted certain images to change over a course of time and post-effect them that'd be great for you it is limited to jpeg however you can also have different images of different file extensions a video capture device will capture anything that you have as a video source let's say a webcam etc a video capture ds that's direct show that's going to be for certain types of input devices maybe pcie cards etcetera a video file is exactly how it sounds you load a video you have some ability to change its start parameters and parameters a video stream is going to collect a url and re-broadcast rebroadcast mind you have to be aware of latency and some other issues that you might have when streaming across a url but it will capture whatever video so therefore if you have something loaded on another machine for instance or something that is in a url and you would like to display the video stream live you can collect it from here this also helps if you have certain things that are output from different alert files etc i'm going to open up a video capture ds so so far the device is not selected its size is not selected it's going to have some different options that you can enter you're going to have your scale which you can fit it's going to crop it if you'd like to grayscale mode you can de-installation if you want to you can stop the video feed or you can start the video feed which is a starting and stopping of a device it's similar in obs if you were to disable or enable a video capture device so i'm going to select the one that i have right here which is my usb video my usb video shows my entire room and me for the camera that i have selected for it and now we can start doing some different parameters and changes for some of the different effects that i use here we can use our nano deck to control some of the things that we see here so getting back to it let's look at what we can do now i have my size at 1920 by 1080. you might have some different outputs for your web camera which is fine the fit height and fit to scale we can select any of these because it's going to basically take the same size and draw it again however if for some reason your video capture device was either shrunken or in a different resolution you want it to fit or stretch for both um you you'll be able to do that grayscale obviously we talked about it'll be able to take out all the saturation information out and just leave the grayscale so let's talk about this scene right here and what we can do let's investigate some of the different effects that we have so we know what color does we've seen some of the 2d effects now let's add something interesting called trails now trails has some parameters that we'll talk about but you'll notice as soon as i turn it on nothing happens arbitrarily you can see no effect whatsoever so therefore trails must be doing something that reacts with the alpha channel which means there needs to be some kind of transparency transparency is going to be defined by different parameters within our input source so when we're drawing a star field for instance if i turn this off and leave it alone let's draw our star field again i'm going to bypass this here's our star field let's plug it into our trails so very familiar star field when i turn on the trails you'll notice that the stars now have trails based on how much i set this parameter from zero trails to one as a value and that one value is infinite trails it'll keep drawing that so as you can see it's now drawing all these if i bring down the star size again you'll get little fine ribbons of how they're being drawn now mind you the trails are being drawn at 60 frames per second because that's why i have the vertical sink set too for any reason if you would like to turn off your vertical sink you can come down here to window magic window options and scroll down to vertical sync and if i turn it off you'll notice that the trails are a lot smoother they're not jittered at 60 frames per second because now currently it's drawing at 900 plus frames a second if i were to increase the trails you'll notice that they're smooth all the way through as long as the stars are being drawn indefinitely however i discussed earlier that i do not want these trails so to speak to be drawn in that because if i change this frame rate then the jitteriness of the trails will be changed as well so i like to keep my vertical sink on so this locks it back down at 60 seconds nonetheless let's play with the trails see what they can do if i turn off this blur there's no more of a blur factor they're just actually drawing them as per usual if i turn on the blur and start playing with the blurriness you'll notice that things get rather blurry when it's drawing them all if i bring this down to zero i don't like to use the blur here because i can use it after the effect if i wanted to or if i feel that i need to blur this image for any reason now it also has a speed factor but what that speed means is it starts at zero and it actually draws it out so let's say instead of a star field i want to have something like a let's say a triangle again so we draw our triangle and we're going to scale it down by selecting x for all scale it down and let's spin this around so what i'm going to do is i'm going to add a transform and i'm going to link the z-axis to none no source but i'm going to add a ramp to it so now it's spinning i'm going to slow that spin down a little bit so now we notice our triangle is spinning however it has trails if i turn the trails off you just get a spinning triangle turn the trails back on it does this so i clicked off on fit which means it would fit it to the scale of the image for a triangle it will not center it now that i clicked off of that you'll notice that the triangle is exactly centered in the space if i bring up this x value you'll notice that it grows and the trails are there a matter of fact we can add a assigned value to this so a sine oscillator will make the triangle grow and shrink over a period of time however it seems that it's shrinking to a point of zero we kind of don't want it to do that so we're going to add our offset and we'll bring this up a little bit so now it'll never actually go to zero it'll scale between 1.2 and 0.2 so we have the trails again so let's talk about our trails and this speed you'll notice if i bring it to a negative number it kind of sucks inward so it's drawing the trails but they're bleeding inward if i draw them outwards they start to expand from the inside and they go towards the outside so this is more or less just a z value of where the trails are going to be drawn if i take z divided by x and unclick it what's going to happen it's going to go to one direction so you'll notice that it's just going exactly to the left in an x plane you can also change how this is drawn after the fact or you can have it drawn to the z direction which means towards you or away from the point of perspective now mind you trails is another one of those things that is this drawn in a 2d space so if i were to include a transformation of a rotate axis let's say y again you'll notice that it's just drawing as a plane it's not a 3d space however if i remove this and let's say i place it before the effect you'll notice that this is going to be drawn in the 3d space and the trails are going to be drawn after the fact if i link this for instance to one of my faders again i can just more or less randomly draw this so that's fun and all for drawing a shape the reason why these trails exist is because it is only being told to draw the triangle and draw nothing else just draw a triangle and leave everything else as empty space so that's kind of a clue as to how trails work i'm going to delete all of this and i'm just going to bring it back to my original camera so we have a video capture direct show it's my selected device etc now what i'd like to do is i really want trails to happen here i want to see some kind of effect so we're going to insert our trails we're doing the right thing however we have to define something about our original image here that was different than what our polygon was and the answer is it had an alpha channel it had the triangle that i was drawing but everything else was just negative space so let's look at options that can create negative space specifically if we go into effects 2d let's look at luma key what luma key is going to do is going to take everything based on luminosity and below a certain threshold it's going to consider that to be transparent so your darks your shadows your black space anything that's in your actual footage your camera your video your image it's going to consider that to be the empty space so now you notice as i include this things are a little bit darker because it lost some of the color information and it's calling it alpha right now if i bring the strength up to let's say a 9.7 value and i lose the blur you'll notice that my hand starts to have this trailing pattern to it if i bring up the strength of the luma key even more for things that are darker you'll notice that that effect is really really prominent because it's losing almost all of the image that i had in the first place and it's replacing it with this alpha channel so now i have all of these trails that are happening on my hands um what we can do with that like we discussed earlier is i can have this bloom in an outwards direction so kind of like how our stars were doing that or i can have this in a negative value where it seems to be sucking in away from the actual camera footage so that's kind of a start for uh what we have here now if i turn down this value you'll see that there's no more trails or there's actually infinite trails these trails will never go away there's also other ways to draw trails and other ways to have this information but we've kind of just unlocked what it means to have a luma key now there's different things that you can use if you have a green screen we can replace this with something that's familiar is a chroma key now chroma key fast is just a very basic way to have a green screen i do not have a green screen behind me but if i did you can adjust these parameters to just make yourself stand out and have your green screen be the alpha and then once again you can continue on let's uh let's get rid of this we're going to put our luma key back because you do not need a green screen to utilize this feature you just need parts of your scene that are dark so a matter of fact as well as you're illuminated you can make sure that if you had a black background or a non-lit background or maybe just the face of the performer or actor is illuminated and the back is just rather irrelevant then you can start playing with those trail effects again so i bypassed this trail let's bring the value down to 9.7 and we can see that that works well let's try something a little bit different i'm going to delete the trails we're going to eliminate the luma key so now we're just back to the vanilla version of what the camera's putting out it's bypassing the luma key it doesn't care about it anymore we're going to add something called isf which is interactive shader format and we're going to look at all of our possibilities here and we're going to go to stylize and zooming feedback so now we get something really wild now this is happening here it doesn't need any uh information from the luma key it's just kind of drawing its own thing so right back here we have feedback levels let's just drop that to zero so now we don't have to worry about that the zoom level was at a 1.2 so that's why it was coming at you so fast but let's just make it a one let's go back to our feedback level and enter in something like a 0.9 so now we have a 0.9 you'll notice that there are some trails my hand is kind of blurry a little bit if i bring that up to a 1 you'll notice that everything is just infinitely drawn as a trail so it's got to be a happy parameter somewhere around let's say 0.97 so now you get that trail effect however compared to our trails module that we had earlier we have something that's a little bit more powerful and it's the ability to learn how to blend these modes to invert the color space if we wanted to we can also change the threshold of when this happens for what it's considering to be you know black or light in color i leave this usually at 0.1 since i'm just working with the blend mode of max we also have under alpha over alphas this is just the way that interprets the alpha channels but more importantly you have color shift so let's see what happens with color shift i'm going to link this to let's say one of my sliders now and you'll notice that as i increase my slider value i start to increase the amount of color that's being drawn now nonetheless my slider happens to be a little bit too harsh for this so what i'd like to do is i'd like to add a scale to this so scale is a multiplier and if i multiply it by 0.1 that means that instead of my range going from 0 to 1 on my fader it's going to go between 0 and 0.1 so it's a little bit more fine-tuned so now you can see how the color trails that are being drawn are fading kind of like a rainbow so to speak now higher values will make that a lot more prominent and lower values on the fine tuning will make a slower fade for the rainbow so that's kind of convenient that we can do that there's also ways to have zoom from the center which means the zoom will go out into different directions as you can see but i like to keep this value at zero keep this value at zero we also have a rotate angle which you will notice um is very harsh how it rotates so we're going to need to dial this one in let's set it to our next fader and you'll notice that this draws it upside down as well if i slowly bring it down like this it'll start drawing it with different geometric patterns etc this is a value of almost 0.5 so it's spinning it around it's technically 0.5039 so that means that we can probably smooth this out a little bit more so let's see what happens when we smooth this angle out so we're going to add some arithmetic to it first of all i'd like to offset it at 0.5 exactly so offsetting at 0.5 exactly brings us right back to zero now that we know that and we have it linked we can change it around all the way to 1.5 1.5 is a little bit too high so what we need to do is we need to scale this down to 0.5 as well so now this is just half and if i bring the scale above the offset what we're gonna have is something that goes all the way from point five to one so basically it resets to then have a maximum so our zero is going to be normal our max is going to be this however i would like to smooth this so this happens very very slowly so we're going to add a smooth to it of a factor of 0.8 and now as i slide this up it slowly just spirals and then lands as 180 degree redraw if i bring this down to zero it'll finally draw it back and bring it to normalcy but it still retains the rainbow trails that we discussed this is without rainbow trail and this is with rainbow trails so now we can do some fun things with that so that's an interesting way how to use something that's fairly new to magic is their zooming feedback function i start to use it in place of a lot of my trail effects just for what i like to do more importantly let's add something else to it let's see if we can find another isf that's interactive shader format and let's go to some distort effects hmm an optical flow distortion that sounds very fun so now you'll notice that things are kind of like liquidy now the thing is if i turn this off so there's no luma key there's no zooming feedback just the optical flow is working by itself you get this watery effect right now the water effect is kind of fun it has some different things it has a distortion amount with how much it's going to distort the original versus what it sees next um you have some flow persistence which is 0.98 i do not like to move this and what i mean is you get the liquid like effect from this very value if you turn this up to one it starts to calculate the value way too much and you just get more or less mud a mess and then overloads the gpu because it doesn't know what to draw next because technically it's drawing everything that ever drew it doesn't like that the scale is how like prominent this is happening um the offset is in what's direction that's happening across the z value so it'll make it like more you know defined um and then noise removal is a cool feature to make it look a little bit more smooth what happens when we add our zooming feedback to this is when you get all this liquid trail effect as slow or as fast as i want to go with it it'll start doing that and then i can add my colors to it and you can start to more or less melt in mid air and bring this down you can also link this to a distortion amount let's uh let's make it this is my value so now it's really distorted now it's back to normal so this is going to be my color this is going to be my liquid distortion effect and you can slide these on and off so you can start to understand as a broadcaster how if you had your favorite midi controller now mind you this works with um keyboards uh little mini pads touch sensitivity things any midi instrument if you want or more importantly you can use an osc instrument if you have something that is outputting osc messages magic will interpret them as well this right here on the market is about 79 currently usd and i absolutely love it because it comes with eight faders you have 24 buttons eight different uh value knobs you have some other features as well you can remap this whole thing now some people use this for their for their mixers some people end up using this um for uh their volume levels or checks or to mute or to start um something or to solo it or whatever you want to use these different parameters for to map it to your daw or map it to your actual uh music instrument but for me i like to use this obviously to change some of these values and you know make melty things if you look at this in full screen this is what ends up happening and it has a good frame rate too once again i'm drawing at 60 frames per second and it's not very heavy on my gpu at all it's just taking the information and drawing all this so what else can we do now that we know that we have some of these features and what we're going to do is we're going to insert a layer now we have blend layers which work as to blend it by different algorithms we have an input selector which is going to select the whole number between whatever you're inputting we have a mask which is going to take your um your white channel and your black channel and define an area which will be alpha we have a mix and we have a multi-mix with a multi-mix that kind of works like the input selector only it fades slowly let's just add a mixer and see what it does all right so what's going on here it seems like my image is like at 50 percent opacity the reason being is this video is being sent to the star field and then sent to the mixer and out to magic but the value is 0.5 that means it's taking half of whatever's plugged in to input 2 which is nothing and half of what's being input to 1 which is my video capture so if i bring this to 0 it's actually capturing just the blank if i bring this value to 1 ah there it is my video capture now we wanted to make sure that our star field goes through okay so there's our star field and we can fade between nothing or we can fade between our star field so let's link that right now so i have this link to my first parameter so it's fading in and out our star field and having the transparency but we know that the reason why this is transparent is because we have nothing plugged in here so let's plug in this and i can always test it to see if this works kind of like touching two terminals of an electrode if i plug this in what this mixer is currently doing is it's taking the card the video capture device and it's sending it through my star field and sending it into the mixer and it's also just taking my video capture device and sending it straight to the mixer so therefore this mixer represents two different signals signal one is this and signal two is this so if you wanted to add this fader effect this becomes your transition so you can turn this up and therefore this ends up happening you can also add trails to this so let's say i decided to add my trail information let's see we'll use something simple instead of using the zoom effect we'll just add the trails so now that we know that we have this and we faded to here when we bring the size of these down you'll notice that they have individual trails behind them because there's a transparency channel that's taking place if i increase the strength of this you'll notice that the trails are called forever i can also change some of the speeds so they fade backwards so as they appear they kind of do this i can bring their size up again so you get a kind of a wild effect now if i go back to my theater it fades between having my normal scene and perhaps something happens during your broadcast or your live event that you might want to introduce something wild like this just as an effect so a simple fader with just these modules in place can create something kind of curious like this so now that we know that this works the way that it does that means that anything that is here will get changed between the two so let's replace this with some color um i'm going to replace this with a color effect let's call this hue and saturation now nothing is happening because i don't have my fader up i turn my fader on now can start playing with a different color so let's do a modifier here of a ramp so now the hue and saturation is starting to transverse through all the different colors if i turn my saturation down it just goes to black and white if i turn it up it starts to burn those colors in so let's just keep this at zero for now obviously this is your lightness on this module now let's say if i want to turn this value off i can just slide back down to hey nothing's happening or i can turn this back on so this is kind of convenient that i'm using this mix um channel to talk about what the vanilla signal is coming through as a value of zero here and what might happen if i have this up here now let's let's do something a little bit different what i'm going to do so i'm going to keep the mix here i'm going to add something else let's add a let's add a hue and saturation the same way but in this case what i want to do is i want to turn the saturation all the way up in this case let's plug this in but now we have nowhere for it to go unless we replace this with a different layer called the multi-mix so now we need to change our multi-mix index between one and zero so now that if i have my fader all the way up it's selecting one which is the vanilla the selects that as the two i can also change this order so one can be two and two can be one however let's say i want to add a third to it like this when i change it down it goes to this color so what i would like to do is i'm going to insert yet another one and i'd like to dip all the saturation here what this does is it first calls the color black and white and then secondly it boosts all of the color information to whatever the hue is set at so i can change the hue so let's say that i want this to be connected to my hue color there we go that's my fader for my hue but when i go back here to the vanilla and back we have an issue the issue is it's not going back to the rainbow effect that i had initially that's going to be this rainbow effect down here so how do we activate this we need this value to swing not between 0 and 1 but it needs to swing between 0 1 and 2. so if we add a simple scale here and we make this scale a two now our fader value goes between all the different parameters so there's our rainbow effect is that maximum for two i bring my fader back down to fifty percent which is just the vanilla camera coming through straight out to the mixer and then i bring this all the way back down and it's going to be at my controlled color which started at red but my theater too can switch it to colors such as purple so let's say i want to have a purple mode for a little bit of time you know what i mean i go back to my vanilla mode hey that looks cool or i want a rainbow of colors happening that cycle you know what i mean i can select between the different modes and that's how those layers work for that let's talk about something called um called blending so for this we're going to need to draw something different so let's say i add a star field starfield's a good too because it's kind of automatically animated it has its thing i'm gonna draw a shape we're gonna use an isf to define a generator for a star so isf once again interactive shade of format now it's drawing a star kind of cool it has some color to it let's bring up the size hey stars those are kind of cool now we have some different you know the ability to control whatever color they are i think it's rather important to have some definition here so we can talk about how the blend actually works so what i would like to do is i would like to add a layer called blend we're going to unplug this i'm going to plug this into blend i'm going to plug this into blend so now you can see that it's actually blending the two channels by blending the two channels we can select its mode in this case it's lighten we have darken multiplicative the average of the two we have the addition of one over the other subtraction one over the other now mind you it has a lot to do with the priority so if i were to switch this input to the second you know that's a minus b or b minus a so for instance if i did the difference between the two you'll see that this makes it the negative and this makes it the positive because the alpha channel same thing with negation we have exclusion of color we have a screen space we have an overlay space once again this has a lot to do with priority so my overlay space here is taking the stars and overlaying that to the image this is taking the image and overlaying that to the stars so as you can see priority does make a difference with some of these something like additive would just add the two regardless of the associative property of mathematics so it doesn't matter but in some cases they do we have our soft lights our hard lights our color dodges our color burns as well as others linear dodges we have our linear burn our linear lights kind of interesting works almost like an overlay once again if i switch the two you'll get to see that um it's a very important priority once again and you have your vid lights your pen lights etc you have your glows you have your phoenix which is kind of like an inverter um so this will invert the two colors um but it'll it'll subtract them you have your hues your saturations so this is going to be defined as color spaces so it'll take out all the saturation here and just where the stars are it's going to call that to be the saturation places this works in opposition it takes the green stars that we had here and desaturates them and only saturates it in place where the web cameras this is kind of cool if you wanted an effect to happen where you just have these colorful stars happen in a black and white space once again we showed you how to do the mixer value so that'll definitely come in handy to trigger on and off certain effects and you know kind of a fade way or if you have multiple effects at one time you also have your color which is going to define just the color of one defines the space of the other and your luminosity is obviously going to be just where the luminosity exists of one is going to be the color of of the other this is kind of cool when you have different rainbow backgrounds and you want to mask it with color that's how the blend channel works so we've talked about layers a little bit let's go on to something different so we have our colors we have our different 2d effects now let's talk about anti-alias so what ends up happening when you introduce an anti-alias and you might not be able to detect it here but in some cases it's rather important what this is going to do is it's going to take your canvas space which is 1920 by 1080 it's going to super sample it and draw it at 2x what that means it's drawing a lot bigger space and then it's down scaling it what this does is it gets rid of jagged edges or some certain polygons that have like some obvious pixels especially when you want to draw something that's a circle and you don't want it to look you know like it was done in ms paint um this can be rather graphic intensive so if you had multiple effects and then you dumped that all to an anti-alias what's going to end up happening is you're going to really overdrive your gpu as if it's drawing um four times the screen now mind you if you have a 2x in canvas size it's actually making four of your actual canvas and then shrinking it down by a factor of two in either direction so i don't use anti-alias for my broadcast specifically if you feel that it's something that you really need to add some extra polish and you know that you have the gpu to handle it um i would actually recommend this um however like i said very intensive so that's what anti-alias does let's look at what an array does in this case i'm going to take off my camera and i'm going to add just a regular polygon let's call it a pentagon in this case and i'm going to add my array and you'll see what ends up happening it draws the polygon multiple times if i scale down the polygon you'll get to see how it works in action so i scale down my polygons and there they are there's the array of them it shows how many in the x direction how much the x distance should be etcetera etcetera um as i increase this you'll notice they increase in multiple directions etc and that's how this array works um if i were to do this to my web camera you would see that it would more or less do the same it's drawing my web camera over and over um it is additive though so as i scale this up you'll notice that it draws the webcam over itself and just kind of blends it all to be white and over exemplified um not very useful for your full webcam but if you're drawing some polygons there's some star feels and you want some unique things to happen with an array um you can do that let's look at some other parameters we talked about chroma key fast your contrast is going to be a color adjustment etc kaleidoscope feature is rather fun so now you have a static kaleidoscope of your image on this is drawing uh in patterns of six you can also change how many iterations so this is seven um the good news about this is you can start to change your input so let's do a transformation and rotate along an axis i like the z-axis let's do a sine wave make sure our source is none we're going to do a sine wave and you'll notice that it's going to bounce back and forth i'm going to slow that down a little bit by just dragging it down to let's say 50 there we go so now we have my webcam let's take a look at the webcam that's spinning around and around and i plug it in through my kaleidoscope and it kind of does this time seven we can also rotate this after the fact so let's insert another rotation and let's put a another sine wave so now it's slowly rotating but so is the input so if you wanted something simple like a kaleidoscope you can take your webcam image as you can see here this is live this is static i rotate this [Applause] you'll get those cool patterns you can even adjust how many iterations you want so you get you know all the way up to 50 plus if you wanted to 100 just kind of make circles you can go down to zero iterations maybe this is one this is what two would look like here's your three making it triangular you can also spin this axis there's your four your fives your six your sevens even your eights kinda look cool to get to your nines and tens things look you know kind of busy in your scene but it's kind of cool let's combine this with another really interesting effect that we talked about earlier and see what happens i'm going to introduce a luma key i'm going to turn its value up to 0.7 so now we get some transparency and let's add some trails i want to make this at a 0.97 so now it's drawing these kind of cool trails now take the blur off it's very fun now mind you if i take this off and add our optical distortion that we talked about that's found under interactive shader format stylize let's go to distortion effect optical flow distort now you get something that's very liquidy it's kind of fun if you add our trails back in you'll notice that the whole thing just kind of gets a little bit like oil paint makes quite a mess but it's fun to look at nonetheless as the pattern evolves now mind you um without any of these right here this is just back to my original web camera what you can see is those floating so you can see how that a lot of these effects would uh react in tandem with each other you can stack effects all right so we've covered what color does the effects 2d we've seen some noise blurs some pixelate posterize these are pretty straightforward if you've never played with any of this before in your other [Music] video or image editing software they're pretty straightforward and similar you can play around with them and see what they do your job geometries are going to draw your depth test your models these two go hand in hand when you're drawing on things in 3d spaces i do not use them myself but if you wanted to include a 3d model you can and define it etc it draws it like a polygon but obviously in 3d space your depth test will show you different information about that as well this is all in the literature which is very good if you go to help and you go to user guides it defines a lot of these things
Info
Channel: Scottie Fox
Views: 8,148
Rating: undefined out of 5
Keywords: Software, Visual Effects, Tutorial
Id: Td2Cqvg9vNY
Channel Id: undefined
Length: 86min 33sec (5193 seconds)
Published: Wed Nov 04 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.