Secondary Research:
Here is the secondary research I have done during the third week.
Research on the mechanics:
For the first form of secondary research, I decided to find info on how to make basic driving in unity.
To do this I looked up on youtube how to make a car controller to find videos going over the entire prosses of making a basic car controller.
For this I wanted the video to go over how to set up the car as we are using models made in 3ds max and not pre-made cars for unity.
I also want a camera controller but that is not as important so the video doesn't have to contain it.
For each video, I will also make a prototype using their scripts so I can feel each driving controller to find which is the best feeling for our game.
Here is my research on the first video.
The video: https://www.youtube.com/watch?v=Z4HA8zJhGEk&ab_channel=GameDevChef
My video: https://youtu.be/Ib2LKCi-eog
Here are my Thoughts on the first video and my test video.
Thoughts
For my thoughts on the video, I am happy that he went over the entire prosses of setting up the car going over how to make the wheel collisions and give the car gravity. He also added both driving and braking which is what we are looking for.
Unfortunately, he did not go over specific drifting controls so the only way to drift is to brake and he used the old unity input system which is outdated compared to the new one.
So for this controller, it feels nice and all the functions work. There are some problems the main ones I found were the car jittering but I fixed that by changing the mass and the car flipping on its side when turning which I could not get to completely go away.
This video is a great choice and if I can fix the issues and tweak the values then it will be a very good one to use.
The test video: https://youtu.be/7x3GaUJMKgs
Here is my research on the second video.
The video: https://www.youtube.com/watch?v=QQs9MWLU_tU&ab_channel=b3agz
My video: https://youtu.be/BsXFvtxPCdU
Here are my Thoughts on the second video and my test video.
Thoughts
For my thoughts on the video I am happy that this one feels more stable than the original and in my testing fell over less unfortunately this controller drifts slightly when turning and the turning is very sensitive these could be fixed but if not then this would be a bad choice.
So for this controller, it feels decent and all the functions work. The problems with the original video do not apply as I did not get the car to flip which is nice. So I would use this one if I can not fix the original one.
This video is a great choice and if I can fix the issues and tweak the values then it will be a good one to use.
The test video: https://youtu.be/gcG2z0-0iVQ
Here are my Thoughts on the third video.
Thoughts
For my thoughts on the series, I am happy that he goes over many aspects of making a racing game so I can look back to this tutorial when I move on to the next part of the game.
Unfortunately, he did not go over how to create a racing controller he simply used a pre-made one which will not work for my needs as I aim to create one from scratch.
This series is a bad choice to use for the driving as he did not make a driving controller but will be good for the rest of the game.
Here are my Thoughts on the fourth video.
Thoughts
For the fourth video due to the difference in car rig and pivot points in our models, I was unable to get his to work making it a unusable choice for our game.
If I were to use the same model as him I could get it to work but because I am using ones made by a team member I must not. I would like to try it in the future and I will research more into this for a different project but for this one, it simply will not work.
For the fourth video, this style of car controller using a sphere as a main controller is another one I saw quite often with many more doing the same but this method gives a arcade style affect which isn’t what I'm going for.
Conclusion:
Here is my conclusion on this secondary research:
In conclusion from my research, there seem to be two main ways to make a car controller one: using wheel colliders to make each wheel move by adding torque and two: by adding force to a sphere and parenting a car to it so it follows.
For our needs method two is not optimal as it requires more complicated code and requires all of the pivot points to be in the same place. The controller also gives a loose and arcade-style feeling which is not what we want.
That is why we have decided to go with method one using wheel colliders to make our racing game as not only does it feel better for our desired effect it also gives a more grounded and realistic feel to racing. But it does require a lot of tweaking and comes with problems like drifting and flipping.
Reflection:
Here is my reflection on the secondary research:
For this week, my aim was to research and prototype multiple types of driving scripts to find out the best for my racing game. Overall, I believe I achieved my goal not only have I found multiple ways and tutorials on making a car controller I have spent time researching and prototyping them to better understand which was a big part of the aim.
Another goal was to find which method of making a car controller would work best and I have managed to achieve this by going through and prototyping each I have found which ones will work and which ones will not. I have also found many videos that will help in later parts of my coding prosses.
During this task, my biggest struggle was getting the porotypes to work in the case of the fourth video I simply couldn’t be due to pivot points, so I had to scrap that option unless the next car doesn’t have pivot issues. But I still researched this method so if the pivot issue is fixed, I will still be able to use it as I understand the idea behind it.
To improve I think I could have gone more in-depth with unity car physics to make an even more realistic car controller which would not only make our game feel better but improve my skills even further. I think I could also improve by finding even more methods of driving in Unity because even in the many videos I found there were only a couple of ways that it was done. Not only does this limit my learning it also limits my choices for this project and future projects.