Building a Traffic System in Unity

  Рет қаралды 220,052

Game Dev Guide

Game Dev Guide

Күн бұрын

Пікірлер: 339
@elektra81516
@elektra81516 4 жыл бұрын
In under 20 minutes I learned how to make something that would have cost me $50 on the asset store
@audacityfilmsproductions5334
@audacityfilmsproductions5334 4 жыл бұрын
EXACTLLYYYYY!! Wonderful time to be alive!
@c4dtuterials
@c4dtuterials 4 жыл бұрын
more like 15 minutes
@flowcooksboogershook9711
@flowcooksboogershook9711 4 жыл бұрын
Compare it with this video, then.
@MohammadFaizanKhanJ
@MohammadFaizanKhanJ 4 жыл бұрын
Indeed! but much time required to build the whole system! Here comes asset store!
@darksidegirl
@darksidegirl 4 жыл бұрын
And now build it, test it, debug it... and it will take you months. Worth 50 bucks or more, right?
@sharpenednoodles
@sharpenednoodles 5 жыл бұрын
How do you not have a million subs yet? This was amazingly presented, and very easy to follow! Great stuff
@MassimoRough
@MassimoRough 4 жыл бұрын
Have you shared this video so he get a million of subs yet? Why braggin if not?
@bmxchamp4
@bmxchamp4 4 жыл бұрын
@@MassimoRough I think you may have misunderstood what he was saying. He was saying that he deserves a million subscribers because of how well put together the video was. He didn't mean it in a negative way.
@MassimoRough
@MassimoRough 4 жыл бұрын
@@bmxchamp4 I think you misunderstood me. I was saying sharing video with others is a way to increase subscribers, while bragging about not having a 1m subscribers does nothing to it.
@GLXY_SHADOW
@GLXY_SHADOW Жыл бұрын
When you realize that your Unity Engine version doesn't like this code and so NOTHING WORKS.
@liormax
@liormax 4 жыл бұрын
dude, do you even realize how amazing is the content you are doing?
@xenibyte5898
@xenibyte5898 4 жыл бұрын
I'm interested in seeing how you would implement an anti collision system for pedestrians so they don't have glitchy bumpy movement due to colliders. I would imagine using a spherical or circular collider and a script that uses some sort of dampening or weight to slow down and push pedestrians around without being so harsh.
@HAWXLEADER
@HAWXLEADER 4 жыл бұрын
You could give them some sort of force field constraint or even make them physics based.
@markiewicz.szymon
@markiewicz.szymon 4 жыл бұрын
Or you could make it using a Unity build in navmesh to save ton of work. Set sidewalk to walkable, road to not walkable, twak some navmesh agent settings to get more natural movement and you can also easily implement obstacle avoidance. Then you can even make some interesting mechanics that will simulate how people normally move around. Example: go to friend's house > go for shopping > return home.
@katebriggs3918
@katebriggs3918 4 жыл бұрын
I'd do some research into flocking behaviors. That would even give the added benefits of people walking in groups. (But maybe also people randomly switching who they're friends with)
@preeteshshirkar5451
@preeteshshirkar5451 4 жыл бұрын
@@markiewicz.szymon navmesh does'nt help you in creating a lane traffics system
@DJLKM1
@DJLKM1 4 жыл бұрын
Though it might endup quite system taxing for a large project, but to avoid ped collision, you could add a raycast or preferably a spherecast to the AI script. And detect other objects before a collision occurs. This could also be added to for obsticles on the sidewalk and later for avoiding getting run over :)
@svedalawoodcrafts
@svedalawoodcrafts 5 ай бұрын
All I can say is WOW! So many cool idea's such as Branching I never thought about before though never worked much with NPC trafficing systems until I now need it in my game. This just blew me away. Looked all day yesterday for good info video's on the subject, found a couple but you my friend made it so incredibly easy to understand. Thank you! Sub'd and liked!
@Tikodev
@Tikodev 4 жыл бұрын
Yes please do a full fledged tutorial series on this! I would love to see how you make cars interact with pedestrians and traffic signs!
@rutchjohnson
@rutchjohnson 4 жыл бұрын
Really would like to see the car traffic system you had in mind :)
@STARmod
@STARmod 2 жыл бұрын
Still waiting the sequel to this one, such a perfect video, the topic of npc behavior and population in games is so good, i love this, thanks bro!
@workflowinmind
@workflowinmind 4 жыл бұрын
Man, I discovered your channel yesterday while looking at how to extend the Timeline! Since then the YT algo has fed me with 5 other of your videos, and I absolutely love your way of teaching, some might not realize the amount of work behind these but I'm very impressed. Thanks a lot.
@jonesbbq307
@jonesbbq307 4 жыл бұрын
GTA V's traffic system must have a parameter called "stupidity" set to 200000
@selvesa
@selvesa 4 жыл бұрын
It actually does! Devs made the AI capable of making bad decissions and failing in porpouse cause, as u know, idiots do exist in real life too. Sadly, as u also commented, that chance may be set to "2000000" cause it happens more often than it should x)
@abigweed1811
@abigweed1811 4 жыл бұрын
@@selvesa You're talking about GTA V and if their traffic system has a stupidity ratio? Ofcourse it does, that's a really obvious question lmfao
@deei5130
@deei5130 4 жыл бұрын
@@selvesa Aaand literally all of peds have stupidity assign to them
@suicidalbanananana
@suicidalbanananana 4 жыл бұрын
static BOOL IS_SOCCERMOM_AI() { return invoke(TRUE); }
@futuremapper_
@futuremapper_ 4 жыл бұрын
@@suicidalbanananana what
@BrokenPuzzle03
@BrokenPuzzle03 3 жыл бұрын
Holy shi! This is probably a Gem of a tutorial! Can't believe It took me years to find this type of quality content
@davidzap
@davidzap 4 жыл бұрын
2:08 When you said that I knew that this vid waqs going to be amazing! :D thanks
@shojintam4206
@shojintam4206 Жыл бұрын
3:04 WaypointManagerWindow 15:56 Entry node, exit node.
@argentiignis
@argentiignis Жыл бұрын
I am forever grateful for this tutorial
@Demotana
@Demotana 4 жыл бұрын
This closed a huge gap in knowledge within only 18 minutes, amazing. Thank you for sharing
@jkjaniszewski
@jkjaniszewski 4 жыл бұрын
Bro, the quality! I wish every tutorial was so on point as yours. Subbed and good luck with yt career!
@Oxmond
@Oxmond 4 жыл бұрын
Wow! Great tutorial! A rather complicated subject perfectly reviewed in under 20 minutes 👍🤓
@ujjawaltyagi9481
@ujjawaltyagi9481 4 жыл бұрын
I just discovered your Channel. You are a life saver
@bunggo9914
@bunggo9914 3 жыл бұрын
your contents are so helpful, I get to learn advanced stuffs that nobody else provides :)
@mxnxkx-ez5je
@mxnxkx-ez5je 7 ай бұрын
really good guide! thanks for sharing!
@CodeGaff
@CodeGaff 5 жыл бұрын
Fantastic video as always Matt! I love your teaching process. Looking forward to seeing your channel blow up! :)
@AyazSardar
@AyazSardar 4 жыл бұрын
This is exactly what I was looking for. Thank you!
@michaelshollaj6428
@michaelshollaj6428 Жыл бұрын
Subscribed immediately, great job
@adslpiulentoditalia2545
@adslpiulentoditalia2545 Жыл бұрын
This is something unbelievable. Thank you very much!!
@newbquesttv
@newbquesttv 5 жыл бұрын
Great video Matt! Super cool stuff and really clearly explained. I'd be interested to see this interacting with Navmesh, which might also address some of the inter-person collision stuff. Great work!
@GameDevGuide
@GameDevGuide 5 жыл бұрын
Thanks Matt. Yup, I avoided navmesh for sake of simplifying the contents however I'm intending to cover it in the sequel video extending this system.
@NiclasGleesborg0
@NiclasGleesborg0 5 жыл бұрын
Great video. And cool system.
@HeizenblogGaming
@HeizenblogGaming 5 жыл бұрын
This is one of the best examples I have seen, please continue this.
@mattbridges385
@mattbridges385 4 жыл бұрын
Dude, Fantastic work!
@TrueIndian
@TrueIndian 5 жыл бұрын
Sweet , concise and on point. Where you don't leave the viewer with some dead end but with new possibilities.Please make more videos
@RunyCZ
@RunyCZ 4 жыл бұрын
0:15 actually they survive the fall :D If you look at them, they never fall down, but instead, they are webbed to the wall
@Husmanmusic
@Husmanmusic 2 жыл бұрын
This is such an amazing video, one issue I've run into though is when you pause your game. There will be a NAN position error. I've found a workaround for this by not putting the timescale to 0 but to 0.001f. It's not the most beautiful fix but hey it's something.
@MatrixQ
@MatrixQ 3 жыл бұрын
This is just absolutely brilliant. Thank you so much.
@LOLMAN836
@LOLMAN836 3 жыл бұрын
Great video! hopefully the tutorials about traffic system will continue ;)
@ianfarrell1182
@ianfarrell1182 3 жыл бұрын
Brilliant asset, thank you for sharing your skills for free.
@pupilmusic3197
@pupilmusic3197 4 жыл бұрын
As someone who knows game development but not c# this is a perfect way to help make crash coursing the language fun! I have to subscribe now lol.
@xenmckinzee8348
@xenmckinzee8348 5 жыл бұрын
I'm really loving all your videos. Very informative with out holding your hand. Please keep up the great work. :)
@arongilli7415
@arongilli7415 4 жыл бұрын
Thank you very much! Really useful, please continue :D
@trumanboone5395
@trumanboone5395 5 жыл бұрын
This video is amazing! Thank You! Would you mind doing a video going over the CharacterNavigationController?
@softeuwu
@softeuwu 4 жыл бұрын
Agreed! Please go over the CharacterNavigationController
@MohammadFaizanKhanJ
@MohammadFaizanKhanJ 4 жыл бұрын
Not much difficult to write the script as 90% script has shared in the tutorial! I used this into my follow tut vid.
@cassidynoble5466
@cassidynoble5466 3 жыл бұрын
Here is what I came up with. I don't know if you're still working on the project, but maybe there are others that could benefit. I got to this by what he showed on screen in the script editor and what public variables were available in the Unity Inspector (currently, I don't have animations on my character so I cut those lines)- using System.Collections; using System.Collections.Generic; using UnityEngine; public class PedestrianCharacterController : MonoBehaviour { public Vector3 destination; Vector3 lastPosition; public bool reachedDestination; public float stopDistance = 1; public float rotationSpeed; public float minSpeed, maxSpeed; public float movementSpeed; Vector3 velocity; private void Start() { movementSpeed = Random.Range(minSpeed, maxSpeed); } private void Update() { if (transform.position != destination) { Vector3 destinationDirection = destination - transform.position; destinationDirection.y = 0; float destinationDistance = destinationDirection.magnitude; if (destinationDistance >= stopDistance) { reachedDestination = false; Quaternion targetRotation = Quaternion.LookRotation(destinationDirection); transform.rotation = Quaternion.RotateTowards(transform.rotation, targetRotation, rotationSpeed * Time.deltaTime); transform.Translate(Vector3.forward * movementSpeed * Time.deltaTime); } else { reachedDestination = true; } velocity = (transform.position - lastPosition) / Time.deltaTime; velocity.y = 0; var velocityMagnitude = velocity.magnitude; velocity = velocity.normalized; var fwdDotProduct = Vector3.Dot(transform.forward, velocity); var rightDotProduct = Vector3.Dot(transform.right, velocity); } } public void SetDestination(Vector3 destination) { this.destination = destination; reachedDestination = false; } }
@ianfarrell1182
@ianfarrell1182 3 жыл бұрын
@@cassidynoble5466 Thank you so much, you saved me hours of confusion.
@namanjhamb5700
@namanjhamb5700 3 жыл бұрын
@@cassidynoble5466 Thank you for this! Also, do you have an idea of decelerating and accelerating the object at each waypoint to make it similar to vehicle behaviour?
@tientam779
@tientam779 4 жыл бұрын
Really nice work. I love both how thought out the traffic tool is and also you covering how to create the UI for it. Definitely create a sequel to expand on the traffic system like you mentioned. If you would consider doing more tutorials that cover the basics of setting up an editor UI like the one you have here, I think a lot of people would be interested in that as well.
@crookiemonzter1538
@crookiemonzter1538 4 жыл бұрын
Amazing. Instantly subscribed. Thank you so much. Please keep making awesome videos.
@burner3388
@burner3388 4 жыл бұрын
Very good quality tutorial! Expanding on this topic would be awesome
@nashiruddin3543
@nashiruddin3543 4 жыл бұрын
He - creating custom editor to make waypoint Meanwhile Ctrl - D :- I am joke to you
@jdonaldsontcs
@jdonaldsontcs 5 жыл бұрын
wow, this is awesome dude. looking forward to going through your other videos!
@martynawasiluk1405
@martynawasiluk1405 4 жыл бұрын
This is AWESOME!
@sajuthomas09
@sajuthomas09 4 жыл бұрын
HEY PLZ GIVE THE navigation controller full code plz
@kawaiistef
@kawaiistef 4 жыл бұрын
Thank you ! You give a lot of very effective and new advices, compared to other guys, that’s very nice. I learned a lot thanks to this tutorial, especially the way to make tools for easily editing a level.
@noodle-eater
@noodle-eater 4 жыл бұрын
This is cool dude, your video is awesome. I learn a lot
@kasit008
@kasit008 4 жыл бұрын
You've earned a sub! Great content!
@VHShark
@VHShark 5 жыл бұрын
Love your videos man and I can't wait to see more tutorials from you ;)
@tdr0794
@tdr0794 5 жыл бұрын
very, very useful content. Great video! Keep it up Matt.
@meta-andy
@meta-andy 4 жыл бұрын
You did a really good job!! Thanks a lot.
@sajuthomas09
@sajuthomas09 4 жыл бұрын
HEY PLZ GIVE THE navigation controller full code plz
@wheatpenguin2311
@wheatpenguin2311 5 жыл бұрын
Phenomenal video!
@Muthwill
@Muthwill 4 жыл бұрын
Traffic sounds really interesting! :)
@Patrick-ui4ls
@Patrick-ui4ls 4 жыл бұрын
Amazing tutorial!
@lisssner
@lisssner 3 жыл бұрын
Great video, thank you
@prathmeshnavik5094
@prathmeshnavik5094 4 жыл бұрын
LOVE IT!!!!!!!! Thanks so much bro
@lautinus9604
@lautinus9604 4 жыл бұрын
Amazing Video!
@BAHGaming
@BAHGaming 5 жыл бұрын
Very cool. Well done!
@Odinlevi
@Odinlevi 2 жыл бұрын
A small mistake, not gonna check if it was mentioned in comments. The way Random.Range(minIncusive, maxExclusive) works is first number will be in this range and the second will NOT. So in WaypointNavigator it should have been (line 35): currentWaypoint = currentWaypoint.branches[Random.Range(0, currentWaypoint.branches.Count)]; In any other way the last branch will not ever been chosen no matter what. Also, I just found out it isn't really supportive of path branching with more than just one branch, sadly :( Not very good at maths and nodes, trees and so on, but I believe that is what really should be used here, no just "previous and next node"
@chris.davidoff
@chris.davidoff 4 жыл бұрын
This is really cool!
@MohammadFaizanKhanJ
@MohammadFaizanKhanJ 4 жыл бұрын
Thanks for a wonderful video! Indeed it is a great starting point for us to build a more complex system.
@AbhayKumar-kb8tv
@AbhayKumar-kb8tv 5 жыл бұрын
Use should make probably more videos like this, can you make video on any of the topic like realistic combat and pakour
@pennaverdeful
@pennaverdeful 3 жыл бұрын
That's awesome, thank you for this video! Please do another one with more complex behaviour, or even cars! :)
@ugurtanerkazan9046
@ugurtanerkazan9046 4 жыл бұрын
I would love to see more!
@MrKytman
@MrKytman 4 жыл бұрын
Amazing, Just amazing!
@simoncodrington
@simoncodrington 4 жыл бұрын
Great video mate. I've worked on a similar system but ended up using basic gizmos, having these unique editor controls would of made my work much easier 😮 Love your work!
@spikechu
@spikechu Жыл бұрын
Would love to see an expanded version of this.
@airtakusa
@airtakusa 5 жыл бұрын
fantastic tutorial thank you so much
@jeremyguay3675
@jeremyguay3675 4 жыл бұрын
Where to say but i dont care about trafic, this video is so useful for rts games Love it
@1202loki
@1202loki 4 жыл бұрын
Feels like cyberpunk npcs to me, great job!
@GameDevEFacil
@GameDevEFacil 2 жыл бұрын
instead of an entry/exit point you could also set a bool variable called isIgnoreBranch, upon entering the branch you check if you will randomize branch entering or just ignore it completely, and then you just: isIgnoreBranch = !isIgnoreBranch;
@GamesInHouse
@GamesInHouse 5 жыл бұрын
Very comprehensive video, thanks a lot for sharing. Are you planning on sharing the project? The only thing that I would like to see is the behavior of pedestrians waiting by the traffic light when red. I know you could change the range to zero so pedestrians don't cross, but that wouldn't be the natural behavior. The expectation would be that the pedestrian chooses to head across but has to wait for the green light.
@ab-yf6jm
@ab-yf6jm 4 жыл бұрын
Cool.This video is very useful
@sajuthomas09
@sajuthomas09 4 жыл бұрын
HEY PLZ GIVE THE navigation controller full code plz
@jaythans
@jaythans 4 жыл бұрын
This is a really cool tutorial, a lot of things I didn't even know. When you created a random direction at 12:18, I'm pretty sure you can just leave out the f in the random.range values, so it will return an integer and you won't need to RoundToInt ^^ Edit: You got a like
@christopherjr7189
@christopherjr7189 5 жыл бұрын
This was amazing, how come you have so few subscribers?!? I only just found your channel and I instantly subscribed, I hope to see more videos of yours in future!
@jorisslagter
@jorisslagter 4 жыл бұрын
Would love to see more! 🤓
@softeuwu
@softeuwu 4 жыл бұрын
Can you please share or do a guide for Character Navigation Controller Script? Thanks
@Atulkumar-sz6tg
@Atulkumar-sz6tg 4 жыл бұрын
This is just amazing..
@youtuber9991
@youtuber9991 2 жыл бұрын
Did you ever make a video on vehicle traffic? Would love a detailed guide on that especially on a multi-lane road
@m.shcherbakov
@m.shcherbakov 4 жыл бұрын
You are Amazing!
@kidpog3d101
@kidpog3d101 4 жыл бұрын
Some extra code to add under "Remove Waypoint" : if(GUILayout.Button("Connect current to First")) { Selection.activeGameObject.GetComponent().nextWaypoint = waypointRoot.gameObject.GetComponentInChildren(); Selection.activeGameObject.GetComponent().nextWaypoint.previousWaypoint = Selection.activeGameObject.GetComponent(); }
@CasaSoy
@CasaSoy 5 жыл бұрын
This was such an educational video and it helped me understand much more about programming and what can be done with Unity. I'm still getting errors though and can't figure out why. I think something was missed in the character navigation script that I can't catch with the pause button. Would it be possible to make the scripts available somehow? Thank you!
@asclepiiusunknown1090
@asclepiiusunknown1090 4 жыл бұрын
Yes PLEASE
@MohammadFaizanKhanJ
@MohammadFaizanKhanJ 4 жыл бұрын
Actually he has shared the script of navigation controller! Some additional information required. It will be best of game Dev guide share us the link of Script. Thanks
@thepresidentgaming404
@thepresidentgaming404 4 жыл бұрын
Keep up the good work.You've got new Subscriber
@HurlyBurlyStudios
@HurlyBurlyStudios 5 жыл бұрын
Awesome. That's me subscribed.
@ithanhunt3250
@ithanhunt3250 4 жыл бұрын
*that trembling of the characters when they collide is horrendous*
@razzraziel
@razzraziel 5 жыл бұрын
nice vid and good/fast presentation. subbed. you can do mini series on same topic with 2 or 3 videos max. so you can dive into details and also change the topic shortly after the series for non interested viewers. for example, this video topic is good but it feels like it cut half. thanks.
@499268003
@499268003 3 жыл бұрын
CDPR like "Write that down! Write that down"
@hostmeto
@hostmeto 4 жыл бұрын
How did you make the character controller?
@bluntfist
@bluntfist 4 жыл бұрын
At 9:00, I think you forgot the line newWaypoint.previousWaypoint = selectedWaypoint; Fantastic video, though! This waypoint stuff is extremely useful.
@bibekgamebox1083
@bibekgamebox1083 4 жыл бұрын
Good Video...So this is the magic of video games ??? Cool
@halivudestevez2
@halivudestevez2 3 жыл бұрын
high level deep knowledge ...
@simonhagfalk
@simonhagfalk 4 жыл бұрын
Would love to see one with vehicles!
@ssanimations4785
@ssanimations4785 4 жыл бұрын
I love it please make more videos and if possible can you make a video about how to add behaviour to the pedestrians
@3wGaming
@3wGaming 4 жыл бұрын
I wish this was uploaded earlier! I already made my own traffic system. It is almost similar to yours except yours does not spawn depending on player position yet
@mqoding
@mqoding 5 жыл бұрын
Great channel, lots of very useful content here. Could you do a tutorial on turn-based games? It's a topic that isn't covered in tutorials a lot so it will definately have value I think. I'm extremely interested in a system as used in the game "Dead in Bermuda". Keep up the good work!
@oldshamen
@oldshamen 2 жыл бұрын
How to do Tilt Shift with URP would be REALLY COOL!!
@bz9894
@bz9894 4 жыл бұрын
great job thank you very much good luck
@Definitely_a_Fox
@Definitely_a_Fox 5 жыл бұрын
This tutorial is neat! It would be cool to see a few more things! In a few demonstrations, it showed the Eric's spawning wherever they wanted to, but seeing them spawn on the path would be cool! Also, I saw him cutting corners a little bit. Perhaps we could also create a path that can only be travelled one way, so all of the traffic goes in one direction. Also, a button to automatically close a path would be neat too!
@dmas7749
@dmas7749 Жыл бұрын
it would be weirder if they WEREN'T cutting corners
@johngrey5806
@johngrey5806 4 жыл бұрын
Some people would say this tutorial is better than sex. I'm not saying that I'm one of those people, but it was pretty damn good. Liked and subscribed.
@Rajivrocks-Ltd.
@Rajivrocks-Ltd. 5 жыл бұрын
Damn, I wish I would've stumbled across this video 5 months ago when I started my internship :(
@Rajivrocks-Ltd.
@Rajivrocks-Ltd. 4 жыл бұрын
@Allan Reford My company I interned at bought an asset from the asset store and I heavily modified it. Looking back doing it this way would've been 100x better. But yeah I figured it out!
@AmanKumar-tu2og
@AmanKumar-tu2og 5 жыл бұрын
Awesome video Eric! This can be extended into various possibilities. If it's possible please upload the project repo on github. Even the project without this demo scene will work too. Thanks!
Creating A Replay System In Unity
19:39
Game Dev Guide
Рет қаралды 3 М.
Programming a Traffic System for my Game | Devlog #3
5:22
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 15 МЛН
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 673 М.
Making UI That Looks Good In Unity
18:06
Game Dev Guide
Рет қаралды 694 М.
Building a Camera Controller for a Strategy Game
17:48
Game Dev Guide
Рет қаралды 197 М.
Unlocking The Power Of Unity's Scriptable Render Pipeline
21:05
Game Dev Guide
Рет қаралды 225 М.
Much bigger simulation, AIs learn Phalanx
29:13
Pezzza's Work
Рет қаралды 2,8 МЛН
How To Build An Event System in Unity
8:01
Game Dev Guide
Рет қаралды 416 М.
I Made a Ragdoll Fighting Game | Devlog 1
6:18
kbit
Рет қаралды 821 М.
Traffic AI In Unity | Simple Traffic System
15:30
coding edge (pablos lab)
Рет қаралды 20 М.
ML-Agents 1.0+ Creating a Mario Kart like AI
16:32
Sebastian Schuchmann
Рет қаралды 38 М.
Simple Car AI Driver in Unity!
13:17
Code Monkey
Рет қаралды 68 М.
How to get started with the splines package
19:08
Unity
Рет қаралды 20 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 15 МЛН