Shaders 101 - Intro to Shaders

Поделиться
HTML-код
  • Опубликовано: 5 сен 2024
  • Another video/tutorial thing. This time about shaders. Still trying to find my voice and my style for future videos. Let me know what you guys think.
    Get the shader code used in this video here:
    danjohnmoran.co...
    Unity Documentation on Providing data to Vertex Programs:
    docs.unity3d.co...
    Unity Documentation on Blending:
    docs.unity3d.co...
    Background Music:
    Tranquility Base - Kevin MacLeod (incompetech.com)
    Licensed under Creative Commons: By Attribution 3.0
    creativecommons...
    Interactive Component Music:
    Wii Shop Channel

Комментарии • 184

  • @Oxtorayk
    @Oxtorayk 5 лет назад +112

    1:30 boy, that escalated quickly.

  • @tonyrigatoni766
    @tonyrigatoni766 6 лет назад +36

    "Shaders are a bottomless pit. There's always going to be more to learn."
    Thanks :)

  • @SheepUndefined
    @SheepUndefined 7 лет назад +5

    Last night I found your animation videos, and it helped solve a problem I was having.
    I decided to watch the rest of your vids, since it was high quality and easy to understand.
    While I didn't really pay much attention to the code aspect as I wasn't interested in making them, I ended up with a good knowledge of how they worked, including the little bit about Directional lighting's true workings.
    Now, I've seen in your later videos, what kind of amazing stuff can be done with custom shaders, and I'm rewatching so that I can learn the code, and it's really simple to understand. Your stuff is, imo, better than most of the other unity youtubertorials, and way better than like, the entire official Unity channel.

  • @2Cerealbox
    @2Cerealbox 7 лет назад +7

    Hey, I watched this when it came out and didn't really understand it. Then I got to a point in my project where I realized I needed some custom shaders. I went through some tutorials online and got to the point where I could try a dozen things out and wait for one of them to compile to get a sense of what's going on, but I still didn't understand what I was doing. So I went back and watched this and it all makes sense now. All the other online tutorials kind of miss telling you basic stuff, like the fact that v2f is a standard struct that the shader is expecting. I greatly appreciate this video.

    • @DanMoranGameDev
      @DanMoranGameDev  7 лет назад +1

      Awesome! Glad to hear this video helped. I eventually plan on doing a video that should be even more gentle of an introduction and ramp a little bit slower. Sounds like you're ahead of the curve!
      As for v2f, keep in mind that you can change that struct to better suit your needs and keep your code more legible. I'll often rename that struct to "FragIn" now a days. As well, this video totally doesn't explain things like how many interpolators you can have and what the acceptable semantics are for DX shaders. Those are the sorts of details I wish I had covered better at the time and will revisit in a later series (hopefully).
      Until then, keep on makin' those video games!

  • @shieldgenerator7
    @shieldgenerator7 7 лет назад +28

    Thanks man! I didn't understand a thing in the official Unity tutorials, but this video made so much sense it helped me break into actually making shaders. Thanks for the great tutorial!

  • @IareZeke
    @IareZeke 7 лет назад +14

    this is one of the best tutorials I've ever watched

  • @koberko
    @koberko 8 лет назад +18

    dude! your videos are amazing! keep them coming, because Unity community needs more quality tutorials!

  • @LucasSantos-wp7ji
    @LucasSantos-wp7ji 8 лет назад +10

    Thank you for this awesome class! Im totally noob with shaders, but i'm keeping up with this video, it requires stopping, reading documentation, praticingm but in the end i'm learning a lot! Just wanted to give you the feedback, thanks again and please keep doing amazing content like this!

    • @Ozzymand
      @Ozzymand 2 года назад +2

      Hey man, it's been 5 years. How's your shaders progress going now?

  • @sunnycarpet
    @sunnycarpet 7 лет назад +1

    I love that you give us small exercises to actually text what we learn. Thanks!

  • @newarteest
    @newarteest 8 лет назад +1

    I can't believe it's taken this long for me to finally see a short basic intro that makes sense. Great job!

  • @CoFloCipher
    @CoFloCipher 7 лет назад +1

    So happy to have found this channel. Its brilliant. Excellent job and please keep the videos coming!

  • @giantswing3175
    @giantswing3175 6 лет назад

    We want shaders 104 please! You're no joke the best person on the internet explaining shaders to noobs, you've made us love you so now you have a responsibility!

  • @iulianradu1869
    @iulianradu1869 3 года назад

    Awesome short but rich and enlightening explanation. Also thank you Vaguely British fragment guy !

  • @akisey1
    @akisey1 7 лет назад +3

    GREAT video!!! That's how you make interesting tutorials. Could watch this for hours without getting bored. I would gladly pay for tutorials with this level of quality.

  • @Bemmu
    @Bemmu 7 лет назад +4

    How did you know I was wearing a top hat and a monocle while watching this?

  • @AlbinoGrimby
    @AlbinoGrimby 8 лет назад

    Great explanation on shaders. Most of my knowledge (and this is how dated I am) is fixed function pipeline. I've done a little work in shaders, but watching this tutorial at least gives me a base to start experimenting with on my own.

  • @BOLL7708
    @BOLL7708 5 лет назад

    I know this is old now, and I hardly understand anything still, but watching this a few times and picking apart your sample code I could actually make the specific shader I needed. It was harder than I imagined before I started, but easier than I imagined after looking into it 😅 Thanks for this anyway, and code samples are gold because typing what is seen in a YT video can be prone to errors, especially as visual studio doesn't do any kind of code completion or validation for shaders it seems.

  • @PanduPoluan
    @PanduPoluan 7 лет назад +2

    You asked for comment, here's one: This is good 👍 instructional video.
    Only improvement I can suggest: The ending "homework" part can be delivered slower, and somehow "delineated" with more text. Kind of like when one was given a homework. That would be great!

  •  4 года назад

    F***! thank you!! this is the most friendly explanation of how shaders works and actually makes you want to know more about it

  • @alensash406
    @alensash406 Год назад

    this is exactly what I needed to see and learn. like the basic shit like wtf is all this template code is and why it's here. I'm so relieved. fucking finally

  • @aFewBitsShort
    @aFewBitsShort 8 лет назад +5

    This is a REALLY helpful video!

  • @auggodoggo1331
    @auggodoggo1331 7 лет назад

    Hey, I wanted to say thanks for making these tutorials and case studies, each time I watch one i'm like, yea yea, I know about this stuff already, and then you end up unloading a ton of stuff I didn't already know. It's great. I was hoping at some point you'd do a series on lighting in unity, I feel like a lot of people could learn a lot about making appealing lighting including myself.

  • @callmedeno
    @callmedeno 7 лет назад +48

    man your videos are so high quality, best of luck with the channel. do you have any tips for mobile? Like are shaders slower than normal sprite rendering for example? I know there may not be a definitive answer

    • @DanMoranGameDev
      @DanMoranGameDev  7 лет назад +13

      There sort of is a definitive answer: profile everything. You can try to reduce instructions, texture reads and fill rate all you want, but at the end of the day the only real way to determine if your shader code is mobile-optimized is to run it on mobile.
      The iOS tools in XCode are very powerful, giving you gpu times down to the nanosecond for each draw call. This will allow you to see when a particle system or an expensive post processing effect is chewing up precious milliseconds of frame time.

    • @callmedeno
      @callmedeno 7 лет назад +2

      thanks for the reply! Well for example, i was thinking about using the tint shader you mention here and use it on sprites so i can make seperate colored objects with from just one image texture. I wonder if you know on a real simple basis, like would rendering the tinted texture through a simple shader be slower than having a spriterenderer with the images already seperately colored from photoshop. theoretically would you say one is a better way to do it on mobile? like for some reason i have this idea in my head that shaders are 'expensive' and especially new to mobile.

    • @callmedeno
      @callmedeno 7 лет назад +2

      dont worry i am gonna take ur advice and just see if something is slow through profiling, but i just wanted to get a clearer understanding of shaders relating to performance

    • @DanMoranGameDev
      @DanMoranGameDev  7 лет назад +18

      This is actually a great example of what a lot of optimizations boil down to: taking up more gpu time or taking up more memory. Obviously having a bunch of pre-tinted textures would take more memory than having a single grayscale texture, but tinting the grayscale texture dynamically means more frame time!
      Every project's requirements will differ, some teams will opt for higher memory/faster gpu because they have room in ram and are targeting 60fps, others will go the opposite route because memory is the bottleneck.
      Your mileage will vary. Best of luck!

    • @callmedeno
      @callmedeno 7 лет назад +1

      thanks so much

  • @psinjo
    @psinjo 7 лет назад +4

    i realize i'm late to this series, but i was learning about shaders in class and my teacher recommended i check this series out. I think there's a lot of great info here and look forward to watching the whole series... like 20 times, lol.
    for my 2 cents. i appreciate if people don't swear constantly in instructional videoes. Not because i'm butthurt and feel offended, but i just find it unnecessary and makes the video feel very unprofessional. and you don't get in trouble at school for your computer randomly spouting obsceneties.
    thanks a lot for all of this information!

  • @AlexTuduran
    @AlexTuduran 6 лет назад

    Although I know the topic in-depth, I watched the whole thing just for the presentation style. Nicely done.

  • @BaronessStrange
    @BaronessStrange 5 лет назад

    you added my favourite study/focus music as background

  • @keshavvats4226
    @keshavvats4226 3 года назад

    OMG ! Thanks man at last some good stuff to learn deep things through this video , i know it's old but quite accurate.

  • @jbach
    @jbach 7 лет назад +4

    Dan, just brilliant. You should charge for these!

    • @DanMoranGameDev
      @DanMoranGameDev  7 лет назад +16

      Those who wish to support can do so via Patreon but otherwise my stuff will remain entirely free! :D

  • @AldoV
    @AldoV 7 лет назад

    8 Exercises at end is very helpful ! Thanks!

  • @FistFlameful
    @FistFlameful 3 года назад

    This is still great tutorial for starting with shaders! I followed along with the exercises and it was really great for learning!

  • @DAToft
    @DAToft 7 лет назад

    This video was really great! Nothing too advanced with the theory, but still enough to kind of see what's going on with the code. And you also encourage creativity with the interactive breaks, which I loved! Keep it up :)

  • @julkiewicz
    @julkiewicz 3 года назад +1

    Somehow everytime you say "v2f", it reminds me of "d2f" from Silicon Valley series.

  • @rupeshsappata1432
    @rupeshsappata1432 Год назад

    Amazing Video with simple and begginer friendly tutorial
    🤗

  • @behrampatel3563
    @behrampatel3563 7 лет назад

    Quick and clean.Thanks.
    For those who want to understand how the blend equation works google for the Porter & Duff blend mode.
    Give me a shout if it still doesn't make sense.

    • @behrampatel3563
      @behrampatel3563 7 лет назад

      A visual is worth many words:
      page 111 of Google book :Digital compositing for Film & Video.

  • @AdamiXxX23
    @AdamiXxX23 8 лет назад +1

    Amazing work! "Homework" at the end is great idea! :)

  • @Rubberglass
    @Rubberglass 5 лет назад

    Yes! Just getting into writing my own shaders! This is perfect.

  • @HadynLander
    @HadynLander 7 лет назад

    I stumbled upon this whilst doing some research. I was thinking of putting together a very similar video series - now I don't have to!

  • @jacobwilson935
    @jacobwilson935 7 лет назад

    Spend far too long trying to get the tint to work, only to find out that I had transparency set to 0... haha Great tutorial, I hope you still plan on making more!

  • @craftymunz7425
    @craftymunz7425 Год назад

    this explanation is amazing

  • @ashcatchem7206
    @ashcatchem7206 5 лет назад

    my God , now this is a role model of tutorial.. anyway if i may , i recommend you to also add the start scene ( 0:29) so we can try what you code right away. but nonetheless this is already great

  • @igorpozdeev4352
    @igorpozdeev4352 7 лет назад

    Thnaks for explaining how blend does work!

  • @DuuAlan
    @DuuAlan 7 лет назад

    What a great tutorial, very clear. Thank you man, you are the best.

  • @qemrys5686
    @qemrys5686 6 лет назад

    thx a lot!!!! a good start video to learn about shaders! really make me feel interested in shader!!!!

  • @kukuriosbrewreviewportal7504
    @kukuriosbrewreviewportal7504 8 лет назад

    I'm just starting to get into coding / unity ... but watched this anyways.
    I'd have to say, you did a great job man.

  • @ahnmichael1484
    @ahnmichael1484 4 года назад

    This is an incredibly to the point but accessible but thorough presentation .. how did you manage all of that at onceeee (thank you!)

  • @eeeee2448
    @eeeee2448 7 лет назад

    I would pay for your tutorials , you are a talented teacher should consider it (:

  • @BingusBongusMan
    @BingusBongusMan 7 лет назад

    Just wanted to say that your video is fantastic!

  • @user-mj3nc6ih9w
    @user-mj3nc6ih9w 8 лет назад

    omg what a nice and simple video! keep going man! thanks!

  • @kides6537
    @kides6537 2 года назад

    2021 and fucking invaluable. THANK YOU

  • @davidzap
    @davidzap 5 лет назад

    Love this shader tutorials

  • @gustavodort5812
    @gustavodort5812 7 лет назад

    That was incredibly helpful!
    I love you

  • @AldoV
    @AldoV 7 лет назад +1

    return float4(i.uv.r, i.uv.g, 1, 1);
    its also giving same "blue pink" result!

  • @romanfuhrer8821
    @romanfuhrer8821 8 лет назад

    Nice video! A bit much for one video maybe but still a very cool entry point. What I would need is a shader that adds the tint color to the sprite, so it gets lighter not darker. Is that difficult to achieve? It almost seams as if the last example you mention does something like that.

  • @pklpklpkl
    @pklpklpkl 6 лет назад +1

    I get an error for the unexpected token "}" even though everything is correct
    EDIT: This is when I tried to make the change for the 'rainbow' look

  • @V1TOCHIN
    @V1TOCHIN 7 лет назад

    amazing. I guess it couldnt hurt to ask if you could handle something like a system which has one sprite overlapping another, where one is the colors which you can change, and the other one is the lines and shade. (like a multiply layer effect). (skullgirls uses a system like this with another layer for lines)

  • @LumpySpoon
    @LumpySpoon 8 лет назад

    Wow dude, you're really good at teaching! You should advertise yourself on unity subreddit, i think you could get a lot of viewers from there.

  • @3ddrew_original
    @3ddrew_original 8 лет назад +1

    THANK YOU!!!!! Subbed, shared, and faved.

  • @Spacebar721
    @Spacebar721 8 лет назад

    Is it possible to add outlines/borders on mesh using shaders? Great tutorial btw, looking forward to more of these!

  • @kogi04
    @kogi04 7 лет назад

    These vidoes are great! Well done.

  • @thorham1346
    @thorham1346 7 лет назад

    How to explain things in a simple way. Great 8^)

  • @halvedbagel5827
    @halvedbagel5827 7 лет назад

    omg I'm learning so much!
    thank you for making these videos!
    just a general question,
    where are some common usage of grayscale sprites in games?
    I can only think of character death.

  • @scottcabot2803
    @scottcabot2803 8 лет назад

    I had an error when setting up the Texture in Unity 5.2.2 I had to use the line:
    _MainTex ("Texture", 2D) = "white" {}
    Note the additional of the curly braces at the end. Not sure why but other shader examples I looked at had this and it fixed my parsing error.

  • @antonkalinin7399
    @antonkalinin7399 4 года назад

    Thx, bro! Please, return with new videos!!!

  • @RsDonuts
    @RsDonuts 8 лет назад

    So cool!

  • @cayetanoordonez2072
    @cayetanoordonez2072 8 лет назад

    Awesome, thank you for sharing this.

  • @Arkogelul
    @Arkogelul 7 лет назад

    Thanks a ton for that video and the examples ! :)

  • @Terracorrupt0
    @Terracorrupt0 8 лет назад +2

    Great explanation ☺

  • @AmNothi
    @AmNothi 4 года назад

    really great

  • @JB-hb1iv
    @JB-hb1iv 6 лет назад

    We need more!

  • @harshmudhar96
    @harshmudhar96 4 года назад

    Hey, just a suggestion. You should try to have some helper text on the screen, especially during code-related sections.

  • @HyperManu
    @HyperManu 7 лет назад +4

    I wanna be a graphics programmer but I dont really know where to start. What should I start reading about, shaders? Opengl? Webgl? Or just start with unity shaders since the ui and stuff can help me understand things better...

    • @DanMoranGameDev
      @DanMoranGameDev  7 лет назад +9

      Unity is an easy place to start and a bit faster than writing your own OpenGL app for working with shaders. There are also things like Shadertoy and Shadron for just getting started experimenting with shaders.
      I haven't got any good book recommendations at the moment, I still need to do more reading myself first. If you've got GDC vault access, there are many great talks on the subject in there worth watching.

    • @muhammadmartinez2042
      @muhammadmartinez2042 7 лет назад +2

      Check out the website thebookofshaders. It teaches how to use GLSL shaders from drawing shapes to simulations with interactive code examples.

  • @brainbigbig2282
    @brainbigbig2282 6 лет назад

    excellent teacher ever!

  • @Huguillon
    @Huguillon 5 лет назад

    It's my first video I see on your channel and I'm trying to understand why you needed to curse in your previous TUTORIAL videos. :P haha

  • @plasmatch8
    @plasmatch8 6 лет назад

    I am using Unity 2018.2pre and it seems that if we name of the texture parameter as _MainTex, the rendered texture ON CUBES looks like a fine mist of particles - This was solved by changing its name to _FirstTex, and it works fine on all objects.

  • @EvilRobin1
    @EvilRobin1 7 лет назад

    Wow! Love this channel!

  • @tl3119
    @tl3119 4 года назад

    Thx for this great tutorial!

  • @ninjachimpstudios
    @ninjachimpstudios 7 лет назад

    I still don't really understand shaders, but at least I'm slightly less afraid of them now. Thanks!

  • @fille.imgnry
    @fille.imgnry 8 лет назад

    Great stuff

  • @flashdef
    @flashdef 6 лет назад

    Hi! Awesome tutorial, but I didn't understand couple of things.
    What is UV in this basic shader? I know that UV is a coordinates for 2d texture but i'm interesting in uv.xyzw/uv.rgba. For 1st quad there is no any texture attached. So what are values stored in uv.xyzw/uv.rgba ? Where did they come from? I can't understand how you got gradient for 1st quad, because it means in UV stored some sort of texture where every pixel has different values for r, g and b.

  • @muheydari
    @muheydari 7 лет назад

    I always watch videos.I am looking for a car body shader like CSR2 racing game.They have done very beautifully.I was wonder if we can recreate such a shader?

  • @あれくす
    @あれくす 5 лет назад

    Hello, can you explain how to create a shimmer effect? Such as in bejeweled games or candy crush? I can't find an explanation on how to do this in unity anywhere online. I need it for my dropped items that can be picked up in game as a visual que to the player that you can pick this item up. I'm working with 2D sprites. So it would be for a sprite image. Thank you!

  • @maksonmuki
    @maksonmuki 7 лет назад

    The 2nd shader won't work unless the sprite (on the sprite renderer) is the same as the Texture on the shader. If not it will just be white. Why?

  • @Kelewann
    @Kelewann 6 лет назад

    Thanks a lot, that was very interesting. I have one question, when doing the second shader whit color grading the quad. You say unity interpolate the color of each little fragment between the vertex. But how many fragment does unity generate? Is there a maximum? Can I control the number of fragment? For a practical case, I have a low res input texture that I do not want pixelated, so I would like to slowly interpolate fragment values between each pixel of the input texture. My texture is a planet map intended to fit on a sphere as large as I can (thus my question, is there a maximum).

  • @DigitalRoots
    @DigitalRoots 7 лет назад

    In experimenting, I got an error that's confusing me. With the Colored UV Shader, if I enter the following at the end:
    return float4(i.uv.x, i.uv.y, i.uv.z, 1);
    or
    return float4(i.uv.r, i.uv.g, i.uv.b, 1);
    Unity gives me the error "invalid subscript" for the b/z values. If I try putting r, g, x, or y in that spot, it takes that just fine. Why am I not able to use blue or z in this place?

    • @DanMoranGameDev
      @DanMoranGameDev  7 лет назад

      Because uv is defined as a float2. You have to define it as at least a float3 to access the z or b (the third) component.

  • @yelnil
    @yelnil 8 лет назад +2

    Im new at this, but I thought UV was the texture coordinate space? How come you were able to get color from it (I assume that's rgb values) at 4:24?

    • @DanMoranGameDev
      @DanMoranGameDev  8 лет назад +1

      They're just numbers! So the uv coordinates range from 0 to 1 for x and y, but we can interpret that as 0 to 1 for red and green instead. Also note colors in shader are expressed as decimals ranging 0 to 1 and not integers from 0 to 255.

    • @yelnil
      @yelnil 8 лет назад +1

      I see. I was just confused since I thought UV was (x,y,z,a) and I thought that's all you can get from the uv variable you passed in.
      But apparently it has r,g,b as well (4:22)? I guess I have to experiment myself and see what values are inside these structures.

    • @yelnil
      @yelnil 8 лет назад +3

      I figured it out, this is what made me confused, in this video you have:
      float color = float4(i.uv.r, i.uv.g, 0,1);
      but in shaders 102 it's changed to:
      float color = float4(i.uv.x, i.uv.y, 0,1);

    • @DanMoranGameDev
      @DanMoranGameDev  8 лет назад +5

      Yeah I mentioned that in a comment elsewhere. They are called "Swizzles". rgba and xyzw are interchangeable. You usually just use the color swizzles when talking about a color, and the coordinates when talking about a coordinate.

    • @yelnil
      @yelnil 8 лет назад +4

      Finally a term I could google. Thanks so much!

  • @phanduyloc206
    @phanduyloc206 7 лет назад

    Greet, good man, I love you

  • @Siausalas
    @Siausalas 8 лет назад

    Dude, You're awesome!

  • @TheCodNerdx
    @TheCodNerdx 8 лет назад

    awesome, keep it up!

  • @glitchdilemma4200
    @glitchdilemma4200 7 лет назад

    you are the best sir !!!!

  • @morganlak4337
    @morganlak4337 7 лет назад +1

    Don't know if you still read these, but how do you interpolate between two textures using a slider? I don't feel like this video gave me the information I needed to figure it out honestly, as a complete beginner

    • @morganlak4337
      @morganlak4337 7 лет назад +3

      Nevermind, I did some outside research and I learned that you simply lerp between the two textures, literally. I thought there would be more to it than that. My fragment function ended up looking like this if anyone else is stuck
      fixed4 frag (v2f i) : SV_Target
      {
      float4 tex1 = tex2D(_MainTex, i.uv);
      float4 tex2 = tex2D(_SecondTex, i.uv);
      float4 lerpedTex = lerp(tex1, tex2, _Tween);
      return lerpedTex;
      }

    • @DanMoranGameDev
      @DanMoranGameDev  7 лет назад

      Well done! Yeha I haven't hear that this video isn't quite "101" enough. One day I may revisit the intro to shaders video and expand on some basics even more. Working out solutions on your own like you've done though, is an awesome way to learn!

    • @morganlak4337
      @morganlak4337 7 лет назад

      I don't know if I'd commit to saying this video isn't 101 enough it's just that this stuff is hard and learning is hard lol. This is a great resource and your channel as a whole is fantastic

    • @Kramlets
      @Kramlets 6 лет назад

      I know this is an old comment, though I managed it without lerp, so it's definitely possible.
      float4 frag(v2f i) : SV_Target
      {
      float4 color1 = tex2D(_MainTex, i.uv);
      float4 color2 = tex2D(_SecondTex, i.uv);
      color1 *= (1, 1, 1, 1 - _Tween);
      color2 *= (1, 1, 1, _Tween);
      float4 color = color1 + color2;
      return color;
      }

  • @leonardsolen8144
    @leonardsolen8144 6 лет назад

    Awesome video, but i have one question. I'm trying to use this in my game, but i do not want it to glow through walls. Is it possible to change so that they do not glow through walls?

  • @frankbraker
    @frankbraker 6 лет назад

    You are awesome.

  • @TF2Gaming101
    @TF2Gaming101 6 лет назад

    THIS IS SO CCOOOOOOL

  • @simonida_cetkovic
    @simonida_cetkovic 8 лет назад

    You are awesome! Thank you! :D

  • @Seanmcfarlane115
    @Seanmcfarlane115 7 лет назад

    Can someone explain to me what the colons do? And what language these shaders are written/where I can learn the syntax? Thanks.

    • @Seanmcfarlane115
      @Seanmcfarlane115 7 лет назад

      Never mind, I found what I was looking for in the second link of the description.

  • @doctorsnightcore8328
    @doctorsnightcore8328 5 лет назад

    Thanks a lot man!

  • @Hirungolwe
    @Hirungolwe 4 года назад

    My sprite gets squished for some reason, do you know why?

  • @ococel1
    @ococel1 6 лет назад

    Thank you so much

  • @ktmochiii
    @ktmochiii 4 года назад

    ouh mai gahd!

  • @TheJunytramp
    @TheJunytramp 7 лет назад +1

    Well. .... You asked for comment on your video....??6 Right ??? I'll tell you something. Normaly poeple just show wow too do the stuff they want. But, in this video, we learning more in couple minute then other houre and houre tutorial and let"s us whit a bounch of question and never able to do more. So, please kepp go on and I thing you've prety mutch find your still. Of course is just a short video. But I want encourage you too keep going and making more. So, I put this site on my favorite and come back later. Cheer .... !