The series so far is the most explicit Unity tutorials for me to follow along so far! You're my LIFESAVER! Thank you so much Nicky! Can't wait to see the rest of them!!!
you've gained a sub man. holy crap. im actually starting to understand code and how it works. it all looks like gibberish before this particular video. now im starting to realize what it all means in the script and how its logically written. so fascinating. thank you! I don't know if its planned in your series or not but I would love to see a video on world interaction. specifically walking toward an object and picking it up, climbing onto something, etc. thank you.
Code is the best part! It's just a way to tell a computer what it must do and how to follow your commands. And it's not hard at all, it just looks intimidating at first, but it's all simple, short-handed ways of expressing logical processes and the flow of control. Once you get familiar with coding and learn a language you realize you can literally make anything you want happen in a computer system. :-)
These are extremely helpful for learning more complex animation. A couple code tips though, it's generally better to expose your fields in the inspector by adding the "[SerializeField]" attribute rather than making them public. And, for your input handlers, there is the class "KeyCode" with static members for all the keycodes, so you don't have to use strings (eg. KeyCode.W, KeyCode.LeftShift).
Nicky, while following the tutorial I found that when setting up the initial transition back from the first Blend Tree to the Idle animation, setting the Condition for the transition as Velocity < 0.05 caused the Animation to jitter/revert back to the Idle animation for a second before continuing with the walking -> running animations, this was quite confusing however setting the Condition for the transition to Velocity < 0.01 instead fixed the issue. Hope this helps anyone who came across the same issue
You know he's a good teacher when you manage to solve your own issues just with what he told you. There was somthing wrong in my blending, arround 0.5 velocity it seemed like the feet and legs were barely moving, the animation was odd. So I thought maybe one animation wants left foot forward when the otherone wants right ! Just added 0.5 offset to running and boom, done. Only because you clearly explained what is blending and what is offset. Seriously, congrats, i'm exited to see other videos, i'll recommend your chanel to anyone interested in video game dev. You're the first ever content creator i'll actually click the bell for haha. Thx for your work.
Needed a short introduction to implementing locomotion/blend trees in my game. Every video was unneccessarily long and didn't give info straightforward. You gave me what I needed in literal seconds by your timestamps and straight forward explanations. Couldn't have been done better - thank you!
I am new to Unity and this series is amazing. Not only is it great for teaching the concepts of animation in unity, you also do an excellent job of teaching programming basics for those that might not have them. Thank you for your amazing work!
Keep up the good work. So far your videos have been the most helpful in understanding not just "do this and this will happen" but WHY it happens, which is infinitely more instructive in learning how to use Unity beyond the limited scope of a tutorial.
only 1k subs? I randomly discovered you, your videos are so high quality and cover topics in full detail and are quite systematic. I'm familiar with most of the animation system but what make you stand out from everyone else is that you cover the little nitpick details even if you aren't using them in your guide and this is what I've been looking for awhile. I've taken multiple unity courses and you are the only one covering what needs to be covered. thank you.
Don't put every line of code into update. Put them into their own separate functions and call them. Also you are creating new bools every frame instead of holding them as a private variable. A better way would be to make a function to get inputs (isCrouching, isSprinting, isWalking etc) another function for setting your velocity velocity and a third function for setting your animator variables. If you do this it would be more modular, more performant and much easier to manage.
Hi Nicky, was frustratingly stuck for days following different tutorials then youre chanel came along. What a life + time saver thank you so mutch can't wait to watch the rest of the tuts! Awesome amount of info in short movies thanks again.
I’ve learned more about animations in three of your videos than I have since I started game dev last August. Thank you so much for making these videos!!
I liked and even went ahead and subscribed. I'm an old DirectX programmer and C# master who just started messing with Unity and your videos solved confusion I had about getting animations working and taught me what all the editor buttons and gizmos do. I'm doing my first Unity game prototype right now and it's getting quite sophisticated. I've done all of these things before, and used to write my own engines on top of DirectX and OpenGL, but Unity is a new tool for me. So far, thanks in part to these videos, Unity has been an absolute joy to work with. I was away from development for a few years and the industry and tech has advanced GREATLY! There's never been a more fun or interesting time to be a game developer than today in 2021!
Wow i looked at your subscribers cound and saw 3,95 figure. I thought "nice, 4 million subs, that's why quality is so great".. And then I realized it is thousands. I feel you gonna grow rapidly, thanks for the video:)
This is honestly the best series on the subject so far and you also have the best method for explaining things. And it comes from someone who watched days worth of tutorials on several platforms. Love it, I honestly hope you keep up your work.
For anyone wondering the tutorial still works fine in 2024, there are some additions in the newer version of unity but the old stuff still works the same.
Haven't even started the video but dropped that like already cuz i know it's gonna be another mind-blowing tutorial. Ayo yo Nicky, Don't forget us OG's when you make it big on youtube xD
I used unity animations before but this series taught me new things and helped me become better then I was ever using unity. Keep on going like this sir it really helps people like me
I absolutely love your videos, they are straightforward, in-depth but also simple. One thing you could improve however is to take a second or two to pause when you finish a script so the viewer can look through it.
Amazing tutorials man, Subbed! For anybody having trouble with jittering in the animation - basically a split second transition between the blend tree and back to idle, and then back to blend tree again: The reason this happens is that for a split second, by using an acceleration rate of 0.1f, the value of velocity is both less then 0.5f AND greater than 0, so the animation does this double transition. To fix this, Up your acceleration values to something greater (for me it's 0.5). It might be effective to do a much smaller number, but I couldn't find one.
i like it too, i hate when other tutorial show you how to do something, but they assume you don't need to know what some line do, but yes i do, i need to know what everything do in my code, otherwise, how can i play with it
Sir, I love you! Thank you for this playlist! It's my first time working with Unity animations and these videos have been a blessing. When I'm in a state (financially) to contribute to your patron or something similar, I'll be sure to do so!
Thank you so much for these videos. I haven't been working with Unity very long but the most difficult and frustrating things for me has always been mecanim. This is the first time that I'm finally beginning to grasp the concept and make forward progress.
Hey Nicky. Mine was waiting to finish idle animation then transist to a walking anim. So I needed to wait second to get it walking. Did I miss something. So what I did was like in the previous video, disable "Has Exit Time". And it started walking instantly. But then came a another problem. The moment I press "w" it is looping 1 time (walking to idle), just the first second. So only the first second it is accepting the walking to idle, and then continues the normal walking, a split second of a glitch like. I solved that problem by setting the transition from ( walking to idle ) velocity 0.05 to 0.01, then it worked. 02:00 Has Exit Time was not deactivated in the video & the 0.05 that I changed to 0.01 for the hikup.
@@iHeartGameDev That helped yes.So I can do it my way... velocity from 0.05 to 0.01. or acceleration from 0.1 to 0.5 helped for example. I still dont know what the problem is accually. Code is the same, just the animations are a little different, can that be the problem. I can not find the exact same animation you chosen offcourse.. you search on mixamo walking you find 30 with the same name. maybe the problem your animation takes less frames, or timeframe whatever... And that makes a differents maybe. I dont know. Im the one that is here for learning animations :D haha. Im waiting for the next episode. A locomotion would be awesome. I backup your project, so we can continue again. I made a copy and tested with the asset FinalIk. Have a nice day, my bell icon is on.
I was not able to get this working, as of 3/10/22 and using Unity 2020.3.25f1. I have enjoyed the previous videos but there are a lot of inconsistency with this one; 1. When creating a new Blend Tree Unity automatically creates a float parameter called Blend and connects it to the Blend Tree. At :58 you can see this in the parameter list. When you return at 1:34 that parameter has been deleted without mentioning it. Later at 2:23 you state that the Blend Tree defaults to the Velocity parameter, but this is not the case. Mine is still defaulted to the "Blend" parameter, even though I've already deleted that parameter it to be in sync with what you're showing. Finally, if I hit play and attempt to slide the Velocity slider shown in the Blend Tree graphical editor it does nothing. If however I alter the velocity in the Parameter list window...that will affect the running animation.
Hey! Thanks Nicky you are an amazing Teacher. You explain everything. Please make more videos. We love you. I love your way of teaching. You explain everything.
Dude, you are awesome! your videos are super clear, explained in details, and are really fun to watch. You are clearly investing a lot of effort doing them. Thanks! BTW, if you get to one of the videos by search (and not via the Unity's Animatin System series) it's not clear which is the next video to watch. I struggled to find the next video in the series. It would help if you put a link to next video on the description, and put at the end of each video a clearer thumbnail of the next one (Saying "part 5"...)
7:07 My animation is delayed. It will start walking only after 0.1 velocity. I dont have time to figure it out now, so i hope someone can tell me if im doing something wrong by the time i get back to this. Thanks.
Hi my problem is that my character doesn't move according to the blend tree node when I enter play mode even when I drag it. I wanted to know why? I have been following all of it until 6:25. I checked all my codes and follow you detail by detail before posting this comment and I didnt see any errors.
The series so far is the most explicit Unity tutorials for me to follow along so far! You're my LIFESAVER! Thank you so much Nicky! Can't wait to see the rest of them!!!
Agree, best about animations what ive founded for now!
I'm diggin your music choice. Somehow it keeps me even more engaged, like I'm solving a puzzle in a videogame or something
Agreed... the music really gets the noggin' joggin'. weird but true
you've gained a sub man. holy crap. im actually starting to understand code and how it works. it all looks like gibberish before this particular video. now im starting to realize what it all means in the script and how its logically written. so fascinating. thank you! I don't know if its planned in your series or not but I would love to see a video on world interaction. specifically walking toward an object and picking it up, climbing onto something, etc. thank you.
Code is the best part! It's just a way to tell a computer what it must do and how to follow your commands. And it's not hard at all, it just looks intimidating at first, but it's all simple, short-handed ways of expressing logical processes and the flow of control. Once you get familiar with coding and learn a language you realize you can literally make anything you want happen in a computer system. :-)
Love how you explain every field in the animations, blend trees, etc. Really helpful!
Thanks so much Kent!
-Nicky
These are extremely helpful for learning more complex animation. A couple code tips though, it's generally better to expose your fields in the inspector by adding the "[SerializeField]" attribute rather than making them public. And, for your input handlers, there is the class "KeyCode" with static members for all the keycodes, so you don't have to use strings (eg. KeyCode.W, KeyCode.LeftShift).
I have never listened to a clearer and more proper explanation on mechanim than this one. At last. This is gold
Nicky, while following the tutorial I found that when setting up the initial transition back from the first Blend Tree to the Idle animation, setting the Condition for the transition as Velocity < 0.05 caused the Animation to jitter/revert back to the Idle animation for a second before continuing with the walking -> running animations, this was quite confusing however setting the Condition for the transition to Velocity < 0.01 instead fixed the issue. Hope this helps anyone who came across the same issue
This helped me, thank you :)
OMG that bugged me out thanks mate appreciate it
You save my life mare
Hi can you help me with this? I don’t understand how to change the condition for to transition to velocity
thanks chief
You know he's a good teacher when you manage to solve your own issues just with what he told you.
There was somthing wrong in my blending, arround 0.5 velocity it seemed like the feet and legs were barely moving, the animation was odd. So I thought maybe one animation wants left foot forward when the otherone wants right !
Just added 0.5 offset to running and boom, done. Only because you clearly explained what is blending and what is offset.
Seriously, congrats, i'm exited to see other videos, i'll recommend your chanel to anyone interested in video game dev. You're the first ever content creator i'll actually click the bell for haha. Thx for your work.
Needed a short introduction to implementing locomotion/blend trees in my game. Every video was unneccessarily long and didn't give info straightforward. You gave me what I needed in literal seconds by your timestamps and straight forward explanations. Couldn't have been done better - thank you!
I am new to Unity and this series is amazing.
Not only is it great for teaching the concepts of animation in unity, you also do an excellent job of teaching programming basics for those that might not have them.
Thank you for your amazing work!
Keep up the good work. So far your videos have been the most helpful in understanding not just "do this and this will happen" but WHY it happens, which is infinitely more instructive in learning how to use Unity beyond the limited scope of a tutorial.
thanks very much!
only 1k subs? I randomly discovered you, your videos are so high quality and cover topics in full detail and are quite systematic. I'm familiar with most of the animation system but what make you stand out from everyone else is that you cover the little nitpick details even if you aren't using them in your guide and this is what I've been looking for awhile. I've taken multiple unity courses and you are the only one covering what needs to be covered. thank you.
for thos who want to still use the run with shift feature still ive pulled some messy code up for you:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AnimationStateController : MonoBehaviour
{
Animator animator;
float velocity = .0f;
public float acceleration = .4f;
public float deceleration = .8f;
int velocityHash;
public float MaxWalkingSpeed = .5f;
void Start()
{
animator = GetComponent();
velocityHash = Animator.StringToHash("Velocity");
}
void Update()
{
bool forwardPressed = Input.GetKey("w");
bool runPressed = Input.GetKey("left shift");
if (forwardPressed && velocity < MaxWalkingSpeed){
velocity += Time.deltaTime * acceleration;
}if (runPressed && forwardPressed && velocity < 1.0f){
velocity += Time.deltaTime * acceleration;
}
if (!forwardPressed && velocity > .0f){
velocity -= Time.deltaTime * deceleration;
}if ((!forwardPressed || !runPressed) && velocity > MaxWalkingSpeed){
velocity -= Time.deltaTime * deceleration;
}
if (!forwardPressed && velocity < .0f){velocity = .0f;}
animator.SetFloat(velocityHash, velocity);
}
}
ps. the variables are changed to suit my game.
Don't put every line of code into update. Put them into their own separate functions and call them.
Also you are creating new bools every frame instead of holding them as a private variable.
A better way would be to make a function to get inputs (isCrouching, isSprinting, isWalking etc) another function for setting your velocity velocity and a third function for setting your animator variables.
If you do this it would be more modular, more performant and much easier to manage.
Blaccy thanks
@@jas2890 No problem. If you want I can rewrite your code
Blaccy no don’t worry about it it’ll keep me occupied for a little bit
@@jas2890 Just ask if you have a problem then
Hi Nicky, was frustratingly stuck for days following different tutorials then youre chanel came along.
What a life + time saver thank you so mutch can't wait to watch the rest of the tuts!
Awesome amount of info in short movies thanks again.
I’ve learned more about animations in three of your videos than I have since I started game dev last August. Thank you so much for making these videos!!
i just had to take a minute out of banging my head against the keybord to say thank you for teaching the public. youre great!
Thanks so much! Happy it helped!
I liked and even went ahead and subscribed. I'm an old DirectX programmer and C# master who just started messing with Unity and your videos solved confusion I had about getting animations working and taught me what all the editor buttons and gizmos do. I'm doing my first Unity game prototype right now and it's getting quite sophisticated. I've done all of these things before, and used to write my own engines on top of DirectX and OpenGL, but Unity is a new tool for me. So far, thanks in part to these videos, Unity has been an absolute joy to work with. I was away from development for a few years and the industry and tech has advanced GREATLY! There's never been a more fun or interesting time to be a game developer than today in 2021!
this series is amazing! It's dry but dense of knowledge! Thanks man, your work is precious!
We're going to be blessed by Nick again!
Wow i looked at your subscribers cound and saw 3,95 figure. I thought "nice, 4 million subs, that's why quality is so great".. And then I realized it is thousands. I feel you gonna grow rapidly, thanks for the video:)
Thank you so much! You are a lifesaver! I have 10 hours left to finish my coursework and you're helping me SO MUCH! 😭❤️
Great to hear, Leah! Happy to help 😊
You can also just clamp velocity
if (forwardPressed)
{
m_Velocity += m_Acceleration * Time.deltaTime;
}
else
{
m_Velocity -= m_Deceleration * Time.deltaTime;
}
m_Velocity = Mathf.Clamp01(m_Velocity);
that works really well thanks
Even though this is from 3 years ago, everything is so clear man, keep it up, great tutorials
This is honestly the best series on the subject so far and you also have the best method for explaining things. And it comes from someone who watched days worth of tutorials on several platforms. Love it, I honestly hope you keep up your work.
For anyone wondering the tutorial still works fine in 2024, there are some additions in the newer version of unity but the old stuff still works the same.
Haven't even started the video but dropped that like already cuz i know it's gonna be another mind-blowing tutorial. Ayo yo Nicky, Don't forget us OG's when you make it big on youtube xD
I'm finding your tutorials extremely useful and relaxing.
Best Unity series that I've watched in years (since around 2016).
Honestly one of the best tutorials I've ever seen. It was the perfect speed and covered just the right amount of detail. Keep up the good work!
I used unity animations before but this series taught me new things and helped me become better then I was ever using unity. Keep on going like this sir it really helps people like me
I feel this channel has the potential to make it big.
I absolutely love your videos, they are straightforward, in-depth but also simple. One thing you could improve however is to take a second or two to pause when you finish a script so the viewer can look through it.
Excellently structured for intermediate and advanced unity users. Awesome tutorial!
Amazing tutorials man, Subbed!
For anybody having trouble with jittering in the animation - basically a split second transition between the blend tree and back to idle, and then back to blend tree again:
The reason this happens is that for a split second, by using an acceleration rate of 0.1f, the value of velocity is both less then 0.5f AND greater than 0, so the animation does this double transition. To fix this, Up your acceleration values to something greater (for me it's 0.5). It might be effective to do a much smaller number, but I couldn't find one.
I did 0.5 but still facing the same issue. Any idea why ?
you have no idea how much you've helped me, sir. please make more tutorials, we need you. --a student from from china
I love how you explain everything, no matter how relevant it is for this tutorial! :D
i like it too, i hate when other tutorial show you how to do something, but they assume you don't need to know what some line do, but yes i do, i need to know what everything do in my code, otherwise, how can i play with it
Can't wait to see you with 1M subs !
4:46
Why when testing blend tree dragging the velocity didnt move my player at all? I already press play and and dragging it nothing happens
@@_kdgbljr nahh just forget it hahah
5:44 to 6:49 by all due means sir, u helped me big time, I can create my fan with this.😭
Love the relaxing background music.
Sir, I love you! Thank you for this playlist! It's my first time working with Unity animations and these videos have been a blessing.
When I'm in a state (financially) to contribute to your patron or something similar, I'll be sure to do so!
Omg! You are excelsior! Well done Nicky! You made my day many times with all your playlists!
Great presentation quality and pacing. I look forward to seeing more!
Thank you so much for these videos. I haven't been working with Unity very long but the most difficult and frustrating things for me has always been mecanim. This is the first time that I'm finally beginning to grasp the concept and make forward progress.
im gonna say real thank to all your work man
Thank you for your kindness! I'm happy to help!
I have just admired how clean your code is. By the way, your montage and clear explanation are topnotch.
insanely helpful tutorial. Very well explained!
Thanks so much Super Lordee!
These tutorials are awesome! Very clear and goes straight to the point. I look forward to your future tutorials.
One of the hardest tutorials to follow along , so fast tbh
Thanks for detailed information. I was watch a lot of videos that category but this video was the best!
I'm learning a lot from this video. Thank you so much! Can't wait for your next video
top tutorial series !! ty so much
Glad you like them!
So awesome to see you keep this series going!
Super high quality! I was surprised to see you only have 783 subs, you deserve more!
Keep it up!
Learning A LOT from your videos!! Thanks!!!
Thank you for watching! Hope you enjoy my other content!
Hey Nicky. Mine was waiting to finish idle animation then transist to a walking anim. So I needed to wait second to get it walking. Did I miss something. So what I did was like in the previous video, disable "Has Exit Time". And it started walking instantly. But then came a another problem. The moment I press "w" it is looping 1 time (walking to idle), just the first second. So only the first second it is accepting the walking to idle, and then continues the normal walking, a split second of a glitch like. I solved that problem by setting the transition from ( walking to idle ) velocity 0.05 to 0.01, then it worked.
02:00 Has Exit Time was not deactivated in the video & the 0.05 that I changed to 0.01 for the hikup.
@@iHeartGameDev That helped yes.So I can do it my way... velocity from 0.05 to 0.01. or acceleration from 0.1 to 0.5 helped for example. I still dont know what the problem is accually. Code is the same, just the animations are a little different, can that be the problem. I can not find the exact same animation you chosen offcourse.. you search on mixamo walking you find 30 with the same name. maybe the problem your animation takes less frames, or timeframe whatever... And that makes a differents maybe. I dont know. Im the one that is here for learning animations :D haha. Im waiting for the next episode. A locomotion would be awesome. I backup your project, so we can continue again. I made a copy and tested with the asset FinalIk. Have a nice day, my bell icon is on.
These are GREAT tutorials! Good level of detail and brilliant explanations and examples! Thank you :)
Great tutorials Nicky!
Hey Dan! Thanks so much 😊
@@iHeartGameDev thanks man
@@justbg4e520 Thank you for watching!
Beautifully explained as always.
great effort dear NickyB. no one on youtube with such detail.
Yes... Been waiting for this masterpiece 🔥. Thanks Nick
Thanks for explaining it really well! I've been putting off learning soft soft cuz it looks so intimidating but now that I easily understood the
I really love these videos and the work ethic put into them, keep it up
I was not able to get this working, as of 3/10/22 and using Unity 2020.3.25f1. I have enjoyed the previous videos but there are a lot of inconsistency with this one; 1. When creating a new Blend Tree Unity automatically creates a float parameter called Blend and connects it to the Blend Tree. At :58 you can see this in the parameter list. When you return at 1:34 that parameter has been deleted without mentioning it. Later at 2:23 you state that the Blend Tree defaults to the Velocity parameter, but this is not the case. Mine is still defaulted to the "Blend" parameter, even though I've already deleted that parameter it to be in sync with what you're showing. Finally, if I hit play and attempt to slide the Velocity slider shown in the Blend Tree graphical editor it does nothing. If however I alter the velocity in the Parameter list window...that will affect the running animation.
Hey mate. Same problem here. Did you ever find a fix for this? I'm quite late to the party on this one.
No same problem not explained
Just found your channel yesterday! Awesome content - love how accurately you explain every detail! :)
@@iHeartGameDev amazing that you just started 8 Month agieren and already put out such high quality content! Did you teach yourself?
@@iHeartGameDev Amazing! Wish you the best for Your Channel! Will join discord later today!
Hey!
Thanks Nicky you are an amazing Teacher. You explain everything. Please make more videos. We love you. I love your way of teaching. You explain everything.
@@iHeartGameDev please make more videos. We love your teaching style and editing. Thank you so much!!!
Soon you'll hit million subscribers.
I dont understand ! why did u add the bolean and how does that make the velocity move mine doesnt ;/
u are legit the next brackeys
Thanks Jacob!
@@iHeartGameDev i love ur tutorials, currently following ur animation series
Thank you so much for posting this, I learned a lot from this vid. :)
Glad it was helpful!
Thank you Nick. This is awesome
Great video Nicky!
Loved the very informative tutorial!! Would really like to see what you do with nested blend trees and how they can be used!
Awesome stuff as always :) !
you explain very well, great tutorial!
You are one of my Favourite UA-camr
You are an excellent teacher. Thank you for the video!
you are soo underrated my man
i like your velocity increase decease code.
At 4:01, when I try to drag Velocity, my character stays still. Any help?
Hey! Be sure that the character is selected when entering play mode :)
@@iHeartGameDev worked thanks
This one felt just about right! Cool!
Dude, you are awesome! your videos are super clear, explained in details, and are really fun to watch. You are clearly investing a lot of effort doing them. Thanks! BTW, if you get to one of the videos by search (and not via the Unity's Animatin System series) it's not clear which is the next video to watch. I struggled to find the next video in the series. It would help if you put a link to next video on the description, and put at the end of each video a clearer thumbnail of the next one (Saying "part 5"...)
Actually you did put a link to the series in the description 🙂 so scratch that...
Thank you for making this.
This is a great vid, ty for ur time and effort
i think this should be on unity official program, great work !
best tutorials ever.
Finally. I cannot wait until the next video.
Great Tutorials 👍. Very few UA-camrs are good as you. Seeing next Brackey in you. Just keep going like this. 🙂
this is super awesome. hope you cover IK and animation layers too
Thank you for this info!
7:07 My animation is delayed. It will start walking only after 0.1 velocity. I dont have time to figure it out now, so i hope someone can tell me if im doing something wrong by the time i get back to this. Thanks.
5:20 can the new code that you are writing be in the same animationstatecontroller script in the earlier episodes
such great videos for people like me wanna give a great animation to their video game
Your content is amazing!!! Thanks for share it with us.
Hi my problem is that my character doesn't move according to the blend tree node when I enter play mode even when I drag it. I wanted to know why? I have been following all of it until 6:25. I checked all my codes and follow you detail by detail before posting this comment and I didnt see any errors.
good tutorial . thanks
when I press w, the speed goes up, but he remains in idle. He starts running at about 0.9f. other times it starts walking at 0.3f...
Keep seeking for where the bug could come from!
I really like your smile, and nice tutorials :)
Excellent tutorials!
dang ur clean bro!!! thanks.
Thanks! Exaxtly what I need for my game