- 20
- 23 604
tareqgamedev
Jordan
Приєднався 4 тра 2024
Are you interested in learning about game development? Writing code for gameplay, AI, and more? Well, you've come to the right place!
Hi, My name is Tareq, and I'm a computer engineering graduate who fell in love with game development. I love C++ and use both Unreal Engine and Unity to create games.
I create tutorials on various topics related to game development, such as 🎮gameplay, 🔢math and physics, 🧑💻programming,💡AI, and more. I do my best to explain everything in detail, especially when it comes to math since it's a crucial skill for all game developers.
🔥If you love 2D platformer games like I do, then check out The 2D Gameplay Mechanics Pack by following the link below. It's a comprehensive tool that contains a wide range of gameplay mechanics, and you can learn a lot by examining each mechanic in the pack. tareqmalkawi.itch.io/2d-gameplay-mechanics-pack
Subscribe to the channel and press the bell 🔔 for the latest updates!
Hi, My name is Tareq, and I'm a computer engineering graduate who fell in love with game development. I love C++ and use both Unreal Engine and Unity to create games.
I create tutorials on various topics related to game development, such as 🎮gameplay, 🔢math and physics, 🧑💻programming,💡AI, and more. I do my best to explain everything in detail, especially when it comes to math since it's a crucial skill for all game developers.
🔥If you love 2D platformer games like I do, then check out The 2D Gameplay Mechanics Pack by following the link below. It's a comprehensive tool that contains a wide range of gameplay mechanics, and you can learn a lot by examining each mechanic in the pack. tareqmalkawi.itch.io/2d-gameplay-mechanics-pack
Subscribe to the channel and press the bell 🔔 for the latest updates!
Unity Vaulting Tutorial: How to Create a Realistic Vaulting System
Hi everyone! Today, we'll learn how to implement vaulting parkour action. We'll utilize ray casts to detect vaulting obstacles and use scriptable objects to store essential data for executing the vaulting moves. We'll also incorporate multiple vaulting animations and set them up to play dynamically based on the player's position during the vault. Lastly, we'll explore the technique of Target Matching to correctly position the player's hands while vaulting. Let's jump in!
❤️ Subscribe to My Channel: ua-cam.com/channels/-_Ca9zwwTwzYzgNXs4qzQQ.html
➡️Unity Animation and IK Tutorial: ua-cam.com/video/Q7hgpqYkB4E/v-deo.html
➡️ Street Props - Prototype Collection: assetstore.unity.com/packages/3d/props/street-props-prototype-collection-291021
➡️ Vaulting Animation Clips: github.com/TareqMalkawi/Unity-Tutorials/tree/master/Vaulting%20System/Animation%20Clips
------------------------------------------
Time Stamps:
0:00 Intro
0:28 Scene Setup
3:08 Vaulting Detection
9:17 Vaulting Code
13:39 Vaulting Data Asset
15:17 Target Matching
#unity3d ##Animation #gamedev
❤️ Subscribe to My Channel: ua-cam.com/channels/-_Ca9zwwTwzYzgNXs4qzQQ.html
➡️Unity Animation and IK Tutorial: ua-cam.com/video/Q7hgpqYkB4E/v-deo.html
➡️ Street Props - Prototype Collection: assetstore.unity.com/packages/3d/props/street-props-prototype-collection-291021
➡️ Vaulting Animation Clips: github.com/TareqMalkawi/Unity-Tutorials/tree/master/Vaulting%20System/Animation%20Clips
------------------------------------------
Time Stamps:
0:00 Intro
0:28 Scene Setup
3:08 Vaulting Detection
9:17 Vaulting Code
13:39 Vaulting Data Asset
15:17 Target Matching
#unity3d ##Animation #gamedev
Переглядів: 1 934
Відео
Vector Reflection Tutorial | Learn Game Math to Build a Brick Smasher Game in Unity
Переглядів 26814 днів тому
In this episode of the Game Math series, we dive into vector reflection, exploring both the theory behind it and practical examples. We’ll walk through some math problems and apply this knowledge in Unity by creating a brick smasher game. As the ball collides with surfaces like walls or bricks, we'll calculate its reflection vector to set its new direction. This topic builds on earlier concepts...
Advanced Locomotion Series in UE5 and C++ | Animation Notifies & Diagonal Movement
Переглядів 47221 день тому
In previous episodes, we've encountered issues with leg blending when moving forward and strafing left or right, as well as when moving backward diagonally. Today, we will tackle this common issue in locomotion systems by adjusting the character's hips during movement. Additionally, we will explore the use of Animation Notifies in Unreal Engine to address the foot sliding issue when the charact...
Unity Animation & IK Tutorial | Practical Examples & Root Motion | Part 02
Переглядів 611Місяць тому
In part two of the "Mastering Unity Animation System and IK" series, we will continue discussing additional examples with new constraints and different ideas. We will also cover advanced techniques such as handling root motion from a script. ❤️ Subscribe to My Channel: ua-cam.com/channels/-_Ca9zwwTwzYzgNXs4qzQQ.html 🔥Grab my physics pack on the Unity Asset Store "Hot Air Balloon Physics | Blimp...
Realistic Hot Air Balloon & Blimp Physics | Unity Asset Tool Showcase
Переглядів 142Місяць тому
In this quick video, I’ll be showcasing an incredible physics tool that I’ve been developing over the past few months. I recently released the first version on the Unity Asset Store. The tool is called "Hot Air Balloon Physics | Blimp Physics." It features two types of aerostatic machines-hot air balloons and blimps-both designed and implemented with real-world physics. The pack provides realis...
Advanced Locomotion Series in UE5 and C++ | Movement Improvements & Leaning Animations
Переглядів 820Місяць тому
In this episode, we'll begin by fixing a few issues to make the character's movement more responsive and fluid. For instance, even a slight movement input currently triggers the start-to-run animations, which doesn’t look good since the character hasn’t actually moved. We'll also address some problems with the turn-in-place functionality. Last time, we didn't cover any backward movement animati...
Unity Animation and IK Tutorial | Learn with Practical Examples | Part 01
Переглядів 4,4 тис.Місяць тому
Welcome to this small tutorial series focused on mastering Unity's animation system and its powerful Animation Rigging package. In this series, we'll dive deep into creating and using Animator Controllers, working with animation clips, handling Animation Events, and setting up advanced rigging constraints. By the end of this series, you'll gain a solid understanding of how to use Unity's animat...
Advanced Locomotion Series in UE5 and C++ | Turn-in Place - Sprinting - Foot IK
Переглядів 8802 місяці тому
In today's episode of the Advanced Locomotion series, we will cover several interesting topics. First, we will discuss "turn-in-place" and implement it together. Then, we will move on to implementing sprinting using chorded actions, and I'll also demonstrate how to create custom triggers in C . In the last episode, we discussed what chorded actions are, and today we'll use them for sprinting. F...
Game Math Series: Vector Projection | Learn Game Math in Unity3D | Unity Tutorial
Переглядів 5172 місяці тому
In today's episode of the Game Math series, we will discuss vector projection. We'll begin with an exploration of scalar projection and then move on to vector projection. Finally, we'll discuss how to use vector projection to determine a force, showcasing one of the most well-known applications of the dot product. We'll cover both the theory and practical examples, including a couple of example...
Advanced Locomotion Series in UE5 and C++ | Enhanced Input & Animation System
Переглядів 1,4 тис.2 місяці тому
In the second episode of the Advanced Locomotion Series, we'll begin by exploring the core concepts of the enhanced input system and some of its key features. Next, we'll implement the system together in C and create all the necessary assets. After that, we'll dive into working on the animation system, in this episode you learn about a lot of stuff, we will create the animation instance class i...
Game Math Series: Dot Product | Learn Game Math in Unity3D | Unity Tutorial
Переглядів 1,2 тис.3 місяці тому
In the first episode of the Game Math Series in Unity, we will learn about the dot product, which is one of the most important math topics for all game developers. We will explore both definitions of the dot product: the algebraic definition and the geometric definition. Additionally, we will cover vector normalization, learn how to interpret the dot product result and explore various examples....
Advanced Locomotion Series in UE5 and C++ | Project Setup & Basic Movement
Переглядів 6923 місяці тому
In the initial episode of the Advanced Locomotion Series in UE5 and C , we begin by setting up the project, implementing character movement functionality, and acquiring a character mesh from the Epic marketplace. Throughout this series, we'll explore various topics, beginning with fundamental concepts and progressing to advanced techniques like turn-in-place, leaning, aiming, and beyond. You'll...
Beam Walking Mechanic in Unity3D | Unity Tutorial
Переглядів 2,1 тис.3 місяці тому
Learn how to implement the beam walking mechanic in Unity3D using two different techniques. We will discuss various methods, fix multiple issues, and finally, we will create a different camera behavior that is commonly used in games when the player walks on the beam. ❤️ Subscribe to My Channel: ua-cam.com/channels/-_Ca9zwwTwzYzgNXs4qzQQ.html ► Assets used in the video ● Download the Unity Third...
Flexible 2D Moving Platform System | Unity Tutorial | Unity 2D
Переглядів 964 місяці тому
Flexible 2D Moving Platform System | Unity Tutorial | Unity 2D
Weapons Equipment System using IK | Unity Animation Rigging | Unity Tutorial
Переглядів 7 тис.4 місяці тому
Weapons Equipment System using IK | Unity Animation Rigging | Unity Tutorial
How to Create a Third Person Camera - Unity Tutorial
Переглядів 5854 місяці тому
How to Create a Third Person Camera - Unity Tutorial
Bro i needed this like 1month ago 😭 Great video man
Glad you enjoyed it.
Great video ❤ looking for more.
Великолепно! Но может лучше использовать систему событий для точек в анимации, что бы можно было подключать разные движения.
thank you very much
your channel is a hidden gem, honestly
crazy man...subed
Super bro...
29:09 With multiple weapons, what do i need to add to make it work? Add new "equip" and "aim pos" for another weapon and put "Right Hand Pos" and "Left Hand Pos" Under the new weapon as well?
Yes, that's correct! Someone asked the same question in the comments section before, and I answered it as follows. You can use the code snippet below as a starting point. When the ray hits the collider of the weapon, we acquire the current weapon. You can identify the current weapon by its name in the Equip function (make sure to rename all your weapons appropriately in the hierarchy so you can easily identify them in the code). Then, you should store the positions for both the right and left hands and use them as needed. You can use the provided code as a starting point. The list weaponsIKHandsPos will contain references to both hands' positions for each weapon you have. In the Equip function, after identifying the picked weapon, you can store the positions of both hands in the transforms IKRightHandPos and IKLeftHandPos, which hold the current weapon's hand positions. [System.Serializable] public struct WeaponsIKHandsPos { public string name; public Transform IKRightHandPos; public Transform IKLeftHandPos; } [SerializeField] private List<WeaponsIKHandsPos> weaponsIKHandsPos; private Transform IKRightHandPos; private Transform IKLeftHandPos;
I’m a Ph.D student and really this video helps me a lot! Excellent work!
Thank you! I'm really glad the video was helpful to you. Best of luck with your Ph.D. journey!
if left hand pos ik has each on every item how can the script detect?
Hey, @harharrr9810! It's pretty straightforward. When the ray hits the collider of the weapon, we acquire the current weapon. Right? You can identify the current weapon by its name in the Equip function (make sure to rename all your weapons appropriately in the hierarchy so you can easily identify them in the code). Then, you should store the positions for both the right and left hands and use them as needed. You can use the provided code as a starting point. The list weaponsIKHandsPos will contain references to both hands' positions for each weapon you have. In the Equip function, after identifying the picked weapon, you can store the positions of both hands in the transforms IKRightHandPos and IKLeftHandPos, which hold the current weapon's hand positions. [System.Serializable] public struct WeaponsIKHandsPos { public string name; public Transform IKRightHandPos; public Transform IKLeftHandPos; } [SerializeField] private List<WeaponsIKHandsPos> weaponsIKHandsPos; private Transform IKRightHandPos; private Transform IKLeftHandPos;
Thanku
Thanku❤
Unity switching to UE right now!
Thank you so much. Awesome math class!
Can you make some video about parry system like elden ring, I'm really looking forward to this tutorial
Yep! That's a great system. Right now, I have a couple of tutorials planned that I have been studying and working on. I will consider creating a tutorial about parry mechanics as soon as possible.
Animation Teacher :)
I appreciate your work ❤
Thank you.
@@tareqgamedev is this project on github?
Thankyou soooo much... Really helpful.. can you share GitHub link to explore this project
I tried follow, I didn't see how you setup the IKRig into the Control Rig BP. Did I miss anything? Thank you
The IK Rig asset is designed to set up the IK chain using "FullBodyIK," which means we don't have to reference the IK Rig inside the control rig blueprint asset. In the control rig blueprint asset, we import the rig hierarchy that contains the IK bones. Have you followed all the steps as explained in the video?
@@tareqgamedev Thanks for replying. I pretty much follow your video. The foot rotation work well, however, The pelvis turn too much sideway instead of blend more on legs. Your model works ok, but mine looks weird when blending too much on body. I tried modified on IKRig, but it didn't get improvement. If you don't mind, please make a video to fix this problem in feature. Thank you. Love your videos as always.
Apologies for the delay. If you're using one of the Paragon assets, you shouldn't encounter any issues because they all have similar skeletons. However, make sure to adjust the rotation and position stiffness of the pelvis in the IK Rig asset. Also, check the "ZOffsetPelvis" variable inside the control rig asset. This variable is set based on whether the left foot or the right foot is less, so ensure it is set correctly. Additionally, in the modify transform node, make sure to set the mode to "Additive Global". If you're using a Mixamo character, you might encounter some issues. I may create a video in the future explaining how to set up this locomotion system with a character from Mixamo.
Keep Going Man!😄
Thanks!
Can you please make a blueprint ?
We will only use C++ for this series, although we incorporate some blueprints for animations and foot IK. By following and understanding the C++ code, it should not be difficult to replicate the same functionality in blueprints. In the future, there will be blueprint tutorials for various topics.
@@tareqgamedev thanks i did.
At 5:57 how can I make the bow string stretch?
The bow I used in the video is impeded inside the character model. If you want the bow's string to stretch, you can find a separate bow on the Unity Asset Store and a separate animation for stretching the string while aiming. The bow needs to be rigged and animated. You can find a paid bow asset on the Unity Store where the bow's string is rigged and ready to be stretched. This is an example: assetstore.unity.com/packages/3d/animations/bow-arrow-animation-set-210131
I need help with all of this I’m trying to make a horror game any one good with unity let’s collaborate 🎉😂
I'd love to collaborate but I'm currently short on free time. For your horror game in Unity, you can start with a simple third-person controller instead of an advanced locomotion system. Best of luck on your project!
cant wait for the next one~😀
I am so surprise how good your videos, Thank you.
You're welcome!
Thank you so much Tareq! I learned a lot.
I'm glad to hear that! Keep learning.
I watched all the previous videos, figured out how it works, the second method in reaching out system is very interesting, but i have one question, the target must be set up in ReachingOutRig, i mean in the game or scene only one target can be set up from the inspector, is it possible to set up it through the code ? For it the reaching obj(ruins) should get the player's rig and setup the target, right ? (my english is bad, sorry for mistakes)
I'm not completely sure if I understood you correctly, but in the "ReachingOut" example, we used a two-bone IK constraint. When we set up this constraint in Unity, it creates two game objects: the target and the hint. Our task is to position the target so that the right hand can follow it correctly. In the example, we created a sphere game object, positioned it as desired, and then in the code, we simply updated the position of the target based on the position of this sphere game object. This allowed the right hand to follow the sphere. If you're asking if we could create this sphere game object in the code, then yes, you can do that and update the target's position accordingly. I hope this clarifies things. If you have any more questions, feel free to ask.
Have a good day. Teacher 🥰🥰🥰
Thank you!
Hey!! Nice video. Can you please make a video on weapon equip, aiming and shooting IK in ue5?? Those unity tutorials were very informative. Would love to learn that in unreal engine too. But yeah good work man. Keep it up.
Thank you. I plan to cover aiming using aim-offset animations and IK for accurately positioning the character's left hand on the weapon in upcoming episodes. However, I won't be covering equipping, as it's quite similar to what we already did in Unity, with the main difference being the IK setup. For now, I'll focus on the animation aspects of shooting, and I might create a tutorial on shooting mechanics in UE5 in the future.
@@tareqgamedev oh alright alright.
i hate AI voice over!
Okay. I understand that AI voiceovers aren't everyone's preference. Thanks for your feedback!
@@NaughtyDuck 😐
23:15 I am confused as to why IK should be temporarily enabled, and then the Equip Pos GameObject should be created as a result of this temporarily enabled IK. Why not just turn off IK?
At that point, I only temporarily enabled the IK to demonstrate the issue. If you want to disable IK while holding the weapon, you can do so, but the right hand won't be positioned correctly on the pistol. If you have a well-made key-framed animation where the character's right hand correctly holds the weapon, then you don't need to use IK in this case, only for aiming to modify the left hand. In the video, the animations are not perfect, so we had to use IK for both hands. Combining IK with key-framed animations requires a lot more work to achieve. I don't delve deep into that in this video, but I made another video about it which you can check out.
@@tareqgamedev To be honest, I don't like your video style, I've watched it too many times. I think speeches should focus on efficiency rather than wasting time on unnecessary examples and explaining the reasons for the examples. Your videos are too long. I was also learning C++ some time ago, but I think some people are trying to impart knowledge in a more complicated way. People who are good at teaching can usually explain things clearly in just a few sentences. This is a huge gap in speech efficiency. I don’t think the problem was explained clearly at 23:15, and the video took 44 minutes. I think the efficiency of the speech was very poor.
@senl9429 I created this channel for people with intermediate to advanced knowledge in game development because there isn’t much UA-cam content at that level. Topics like IK are generally not for beginners, and if you're not confident in using Unity or Unreal Engine, it can be challenging to keep up. The concepts I teach come from over six years of experience, and I aim to provide deeper information and knowledge about each topic I cover in my videos. What sets my channel apart is that I focus on teaching concepts, giving you the knowledge you need to create better games and examples than what you see in my videos. If you’re serious about learning game development, keep in mind that following UA-cam videos alone isn’t enough. It’s crucial to practice and learn on your own by doing more examples, searching online for solutions, and asking any questions you have, I would be happy to help. So, if you're struggling to follow and understand the content in my videos, you might be wasting your time. It’s important to first build a solid foundation in the basics of Unity or whatever platform you're learning before diving into more advanced topics. Additionally, the content I covered in this video isn't intended for beginners. If I hadn’t demonstrated these examples, it would be difficult to grasp the importance of using IK. Inverse kinematics and procedural animation are complex topics-so much so that people pursue master's degrees in these fields. It's completely normal to find these concepts challenging to understand.
@@tareqgamedev There are a few points that need to be made clear: 1. These components of Unity do not require advanced knowledge to use. It’s just that Unity’s documentation is so bad that you need to watch videos to understand it. Unity’s documentation has always been bad. 2. There is something wrong with the naming of some variables in the video script. Variables of type Tranform should not be called Position because there is a Property called Tranform.position. Even in Unreal4 it is called Transform, which is not position. Judging from this, it's hard for me to think that you have enough coding experience. Or maybe your code never needs to be shown to others or collaborated with others. 3. I really don’t know enough about Animatior. 4. When I watch this kind of videos, I always pursue practicality. Concepts have no meaning to me, because I can’t make anything with concepts. Even as a designer, he must have implementable and verifiable steps, not just concepts. 5. I think my comments under this video are from the perspective of giving advice. To be honest, some of the words I said are really not pleasant to hear. 6. That's it, I've wasted enough time commenting here, but I know I'm not talking nonsense.
I do not know why, but when i used raycastHit in FixedUpdate, it constantly stoped, I mean the values were thrown, and the character continued to run even though he shouldn’t, I moved it to regular update and everything worked correctly, I don’t know why, strange bug
It's odd! It should work fine in both Update and FixedUpdate. Since we aren't performing any intensive physics tasks with the query result, it's okay to do it in the Update method. However, it should still work in the FixedUpdate as I did in the tutorial. You can try debugging the ray cast hit list to see what happens when it's executed in the Update method compared to the FixedUpdate method (in this case, there shouldn't be any difference). However, as I mentioned, it's fine to do this in the Update method.
Nice tutorial man!
Glad it was helpful!
Amazing😄
Looks good. Nice work
Thanks!
this video was great. Keep up the good work bro!
i am waiting for the next video, very coool
I'm happy that you found the tutorial helpful. The next tutorial is going to be even more interesting as we will discuss new constraints and examples, and we will also implement multiple vaulting actions.
Can you add more math related videos please. This was really helpful
I'm happy that you found the tutorial helpful. Sure, I've already planned the next tutorial, which will focus on vector reflection. It will take some time to upload, so stay tuned!
@@tareqgamedev Yes, keep going. You can make more interesting game mechanism videos with it's Math. Devs will love it
Thaaaaaaaaaaaaaaaaaaaaaanksss finaly the tutorial i'm looking for since months 😭😭❤❤ i'm looking for ik tutorial since months and finally found it
I'm glad that you found the tutorial helpful and enjoyed it. Stay tuned for the next tutorial. It's going to be even more interesting as we will discuss new constraints and examples, and we will also implement multiple vaulting actions.
okay cool, thyanks, i'm there@@tareqgamedev
lets seeeeeeeeeeee
Thank you so much. Very useful tutorial!
Link to the assets youre showing here (character, level, archery target)?
In previous tutorials, I have demonstrated how to download characters and animations from Mixamo. The level consists of cubes arranged with added lighting, and for the archery asset, you can easily find it on the Unity asset store by searching "archery." This tutorial aims to showcase Unity's animation system and how to combine animations with IK to achieve dynamic animation behaviors. The focus is on the concept and how to connect everything to achieve the desired result. To follow along, you should have confidence in using Unity and be able to apply what is discussed in this tutorial to your character and environment. I could provide the entire project, but that would not be called learning anymore. It's important to try it on your own to get the whole picture.
@@tareqgamedev and you did all of that really well. Thank you. In that moment I wanted the archery target, so thanks also for the reference. 😊
Animation playing in reverse when going backward , you forgot to change speed back to 1 in animation or you can simply remove the sneaking back animation .
You are correct, but I did mention this in the video at (31:35).
cool !
not all heroes wear capes, thank you for making a tutorial step by step on the character movement, there are very few people that make tutorials on Unreal for C++.
You're welcome! Glad I could help.
Please make a tutorial for unity c#
The next video will be in Unity and C#. In this video, We will explore various examples using inverse kinematics (IK). Stay tuned!
@@tareqgamedev thanks you 😊
I don't use unreal but I will comment to help yt share your channel
Thank you.
AMAZING thank you hope you get a lot of views.😄
Excellent content. Just wanted to ask few things...don't you think straicase need different animation to look for professional. Foot placing is good for staircase however movement doesn's seem natural. Other thing is when character stops from walking/running it seems to be doing lot of foot sliding. Is it something you planning to cover in future videos..?
I appreciate that you found the video helpful. Regarding the stairs, AAA games handle stairs differently. For example, in some games, once the character interacts with the stairs, A new set of walking and running animations takes control, also the depth of the stairs is designed according to the player's feet, and animations, so the animations will always look good, here we don't have such animations. Also in this video, we are only covering Foot IK, and the stairs are just an example I added to show how the feet are placed correctly on different heights. Since the animations that come with the Paragon asset don't include animations for walking when you try running towards the stairs, the animations won't look good. If you have walking animations, you can create another blend space similar to the one we did for jogging (or running) animations and then simply control when to play which blend space based on a speed variable. If the Paragon character assets had walking animations, I would have covered this. The issue of the foot sliding still occurs when the character moves backward or in a diagonal direction. I mentioned this in the video, and we will be addressing it by working on the backward animations. In addition, we will also be implementing leaning in the upcoming videos, which should resolve all the sliding and leg-skipping issues. If your character slides when you move forward and then stops, this could be due to the run-to-stop animations. Make sure you have trimmed them correctly. Also, try playing with the braking deceleration and the ground friction, especially when sprinting. You will need to modify them according to the new maximum walking speed. Another thing, you probably noticed that any slight movement input triggers the start-to-run animations which look terrible because the character hasn't actually moved but the start-to-run animations play, we will talk more about this issue in future episodes.
@@tareqgamedev Brilliant..!! Looking forward for next set of videos.
When is the next video coming out?? Your videos are really helpful and informative.
I was really busy last week so the next episode will take a little longer to finish. It should be available by the end of this week. "fingers crossed" it will be ready sooner, maybe on Tuesday. This episode will be great - we will implement turn-in-place, sprinting using custom chorded actions, and finally, we will implement foot IK using Control Rig. Stay tuned because this episode will be epic!
@@tareqgamedevoh okay okay. Eagerly waiting for it man. Btw can u tell me how did u learn ue5?? Like u are really good at it. I am also doing unity and doing ue5 side by side.