Loading word count...
My original idea was to make a cinematic trailer featuring the cars I mentioned in my planning however, due to spending too much time making the cars I decided I had to change my idea as learning cinematics could prove hard and therefore, I ditched the idea. I then moved to my second idea which was to create an open city with moving cars using the cars from the cinematic trailer as I thought creating AI cars would be easy as I have done humanoid AI’s however, after a week I was deeply mistaken and as I had even more limited time than what I had I to mash up what I had. Which lead me to my final idea which was to make a simple racer which will allow me to clutch the deadline in the neck of time.
However, you can break down all my ideas with the basic list
These are my top 3 main things I wanted to feature within my projects. Therefore, the concept and ground work was mostly the same. For each it was a matter of how well I could handle my time management.
Below you will be able to find my journal of what I have been doing. My fails on the above ideas and how I got the results I did.

To create the Sky I used 2 things which helped me get the results I wanted. This is because finding original anime skies are hard to find and therefore, I had to turn a realistic HDR into an anime sky.
The first resource I used a tutorial done by Comfee Mug. They went very in depth into what I needed to do and why I needed to do it. This helped me understand how to do an anime sky and the fundamentals to making anything from realism to anime. Such as using nodes such as color ramps to create contrasts within the model.
https://polyhaven.com/a/kloofendal_48d_partly_cloudy_puresky
I then used a site called Poly Haven which allowed me to find a sky that I wanted to use. I used the same one as the one in the video this is because I didn’t want to do many changes and believed that it would be good enough for me.
The licensing is classed as CC0 which means it is public domain and you can use the raw file for all purposes, all without asking permission. Can not be trademarked by anyone.

Here is the finished product of what I made imported into Unreal Engine 5. This was a simple process however, later I will have to play with the lighting this is because the default Unreal Engine lighting isn’t great for this sky.
I also had a play with the default lighting values. To get the end result I did. This is probably the best I could have done as coloring and lighting isn’t my strong suite. However, thanks to the lighting research I did on PBR and the tutorial above I was able to make something nice.
Making a YouTube Car
This is the tutorial I am using in order to create my car . This is because the final results they got is what I want to achieve. I decided to do the car from the video this is because it would let me get a understanding of the method they used.
Part 1

In part 1 we was laying out the references. They did it in away I have never thought of doing before. What happens is it is a plane that you put the image on you then cut it where you want it spit then parent it and position it to the reference. This is amazing as now you don’t have over sized images and makes it a little easier to follow.
Part 2



In part 2 we being to start making the car. We covered the modelling the hood and creating the side fender. This video helped a lot as seeing where they placed the cuts made me realise that I wasn’t cutting properly where I need to. This took a lot longer than expected as I kept rewinding the video in order to understand it better. But before I move to the next part I want to try and tidy mine up and make it more similar to his. I decided to post it on Twitter and got a feedback from the guy who made the tutorial. The hardest thing to do with this model is try an get the indents correctly. However, his feedback was very kind and thoughtful. Having the creator comment on my model has made me feel more motivated and that it is worth carrying on with.
Part 3


In part 3 we covered how modeling the Front Bumper, air intake and details and creating turn signal cutouts. I felt unsure however, the positive feedback I got early on from Josh motivated me to keep going and not start from scratch. The hardest thing to do within the modelling process right now is the indents and adding small touches which has always been a weakness of mine however, in this model I feel like I am improving slowly. You can see it is coming along nicely but does lack a little bit of the small details this is something I am working on getting better at.
Part 4


In part 4 we worked on the windshield & Glass. This was the shortest part so far and overall I think I am doing very well with the tutorial series. Mine is a little less detailed and more jagged than his however, for a first attempt at a new method I am doing very well. I have also learned a few new techniques. I feel like I need to play with some vertices in order to best make it look better.
Part 5


In part 5 we worked on the Soft Top & Windows and now it is really coming together. My main goal isn’t to go 1:1 but instead to get it to look very similar. So far this is good but I need to play with it which I still haven’t done this is because I am worried I would break the model therefore, I have now created a back up and should be able to modify it without worry.
Tweaks


I created a backup project and decided to make some noticeable changes such as the grill is no more acute to the model. I also removed duplicated vertices this helped a lot in managing the topology. There is still room for topology improvements. However. this is coming along nicely. I also made the light more pronounced. I now feel ready to do Part 6. I have also decided that I don’t want to do the pop up lights that is a key feature of the car this is because on a time crunch there is no point adding details which don’t matter too much. I enjoyed doing these tweaks because it wasn’t part of the video and was nice to have a small break.
Part 6


I resumed the tutorials and we focused on the doors & side body. However, I did run into a little issue which was my mirror modifier not applying properly. To overcome this I just place it by hand which gave me more control over where the rear wheel fender. I feel very uncertain about the side coming along this is because theirs is much more smoother than mine. I don’t know how to feel about it cause well… There is a huge difference but I think I might keep it so I understand the method then I will work on it again maybe after mustang. However, that is very time consuming and will be the last of my priorities.
This is the most liked post so far for the MX5 this liking has made me more wanting to carry on with this car due to the positive feedback however, the edges are a bit harsh to me so I want to smoother them out some more.
Part 7


So I did some refining on the sides as feedback from both myself said it looked too lumpy on the side to fix this I added a sub division modifier. This has a lot of vertices as it is and that the sub division is X2 there is going to be a lot of geometry. I feel like there needs to be more attention to deal and to optimise the amount of vertices on the mesh. In this part we spent a long time refining the side as well as adding the door handle. Part 7 was mostly a 2nd segment of part 6 however, this was good as I think the pacing of the videos are amazing. This is honestly breath taking on how this is coming together.

Here is a wireframe view as you can tell it is mostly made of quads which allows better topology however, there are way to many varices to manage so when the sub division is applied by 2 then it will be very dense. This is NOT how it looks in the tutorial as his wireframe is minimal but I added more cuts to give more control to the mesh but in reality it has made it much hard to work with. I feel like I need to have a play with it before it gets too late to make it match the blueprint the best as I can.
Part 8


In part 8 we worked on the rear fender, trunk & taillights which turned out alright this took a long time to get right as I realised that my topology was getting too different to the tutorials making it harder to follow step by step. However, putting that aside it is coming on well. I am now approaching the half way mark and this is worth it. I have scanned a lot of it and he makes a higher poly version of this soon. However, I will not be wanting this as I don’t think that it is needed for the project I want to create. I also do not want the pop up headlights as they won’t be need for the trailer therefore, if I don’t need it then I won’t make it.
Part 9


I have now reached the half way point rear bumper & undercarriage are now complete. Although there are imperfections and things that don’t look right to me in this model this is something that I am proud of. My topology still sucks but I think I will amend it once the car has been made to the best I can do it. This is important to do as I plan on UV wrapping the model this is because it will benefit it in the cel shader. As I hope to get a physical based cel shader to work.
Part 10 + Tweaks 2


I decided to do some tweaking to the wireframe at this stage. This is because I felt the wireframe was too dense and was making it hard to work with. I then decided to cary on with the tutorials which now added the mirror and antena. It is coming along nicly however, there are still a lot of inperfections which it part of the learning process.
Part 11


This is where I was doing things in a rush this is because time is running short however, based on the feedback I was getting from Twitter and from friends I was doing very well.
Part 12


We are nearing the end however, out of everything I have had to model for this car I found the wheels the hardest. I don’t understand why I found them hard because in my head it was simple. But this is the final version of the car this is because if I progress any further I won’t be able to make the Mustang which I want to make.

I rigged up the car now it was ready to set up inside of Unreal Engine. This is the thing which I thought would be the hardest however, I was mistaken as I found the modelling on some areas of the car to be harder.
After watching the YouTube video I feel like my understanding of blender and how to model has grown. I will be using the same method they did but for the Ford Mustang.

First I used Figma in order to help me scale and organize the plans this is because this was a issue when making the MX5 therefore, to prevent this I used figma. I then imported it into Blender which looked very aligned. This was something I relied when making my MX5. Though I tried to fix it I never found a decent scale to build the car on.

The bonnet on the left hand side was my first attempt and I didn’t like it which caused me to redo it a second time which looked miles better than it did before. This shows that time will give you greater results.

I decide to do something a little more different in terms of the front this is because the grill is very different to the MX5 as it is a main characteristic of the vehicle.

I decided to hide the grill as I was unhappy with it and decided that I wanted to redo it another day.

I then redone the grill which was much better using arrays which allowed even spacing between each grill part adding to the realism that I was aiming for the grill to look like.

I then worked on the side and started to do the back. The wireframe looked very dense however, I was happy with how this was looking.


Today is the day I finished the mustang as I needed to get it done and therefore, I feel like I have lost significant quality to what I wanted to do. In conclusion my Mustang turned out alright however, I did have to rush it towards the end otherwise I wouldn’t have time to move to something else and therefore, it didn’t look as good as what I thought it would be. I even had to copy and paste the MX5 wheels to cut back on time however, this would have proven futile in the future as I still couldn’t set it up. I also rigged it up expecting for it to be ready by deadline however, I was mistaken.

The road was very simple to do it was just a cube which was scaled down and wide. Then with a bunch of cuts. Why cuts? Well this is because in order to get the road to deform it needs geometry so the splines can blend the mesh. The more cuts it has the smoother the transformation will be along bends whereas, less will be more sharp. This is what the mesh looks like in Unreal Engine with it’s texture as the blender preview didn’t look exiting.
https://freepbr.com/product/highway-lanes-pbr/
For the texture of my roads I decided to use PBR materials which is physically based rendering. This is often with realistic type of games. However, I believed that it would match my game.
The licensing for this is free to use unless I plan on using it these commercially. For a college project this will be fine as it is free to use with no plans on releasing it and making money from my product. However, for those who are intreased in doing it commercially there is a $16 fee which will allow you to use all PBR materials.

https://freepbr.com/product/stylized-grass1/
https://freepbr.com/product/pine-forest-ground/
For my map I wanted to use a landscape that had PBR materials on them. This is because I wanted the world to feel more natural and that it the player blends into the world. This also made me learn about landscape layers this is because I wanted to hand paint the ground myself to make the world feel stylized as humans often see realism as perfect whereas, in stylized art which I mentioned in my research there is room for human error.

Now I want to do my track before painting this is because I can get a sense of scale and structure. I wanted to add elevations to the roads as well for a more styled track. I also made this track in my planning in figma. This is a great start.

After thinking about my game felt missed match I decided to use the industry standard color pallet and therefore, I decided to make my own texture in figma. This was very simple to make and fits a low poly cel shaded look.

After doing the landscape spline method I found out that Landscape Splines are designed to modify terrain, while Spline Components are designed for positioning actors. However, recreating the map this late on meant a possibility of not finish on time. Therefore, I decided to dive into the the dark side of Unreal Engine and do C++.
https://medium.com/@werysgamestudio/unreal-engine-landscape-spline-to-spline-component-3733d97f33ee
This was inspired by a post I found on Medium which made the fundamentals to my spine system. I did also find a plugin however, it was out dated to Unreal 5.3 and was uncomeatable to 5.7 therefore, I decided to make my own. Which gave me amazing results as it is very customizable.
I attempted some of this work myself, following the medium post and having Claude on the side if I had any questions. Which came in handy as it was teaching me where I was going wrong and answered the questions in a easy to understand way. The reason why there are so many spline points is because of how dense I made it. I made it this dense because I wanted the AI to be as smooth as it could. This is bad for optimization but for the fact there won’t be a lot for the project optimization isn’t a huge worry.

Great it works but I have ran into an issue. You see the PC at college don’t have VS 2022 installed therefore, when trying to open my project on the other end I couldn’t. So now I had to think? How could I fix this without messing with the system I have already? Answer package it as an plugin. This plugin would compile all my c++ into an easy to use plugin. This fixed the issue I was facing.
https://github.com/KingOwen2006/LandscapeSplineToSpline/tree/main
In the above link you will be able to access the Plugin and it’s source code in order to copy what I managed to achieve.
Now I have got it plugin now I can move to the logic of the blueprint. On how the AI can follow the spline. Let’s have a look.

First part of the code is the sequence 0 this checks to see if the spline actor which we made is valid and if it is it moves to the next node which is the chain of events first we have a function which is the main source of how it works. As it calculates the steering input.


Let’s have a look at the function shall we? On the left we away to track the spline meaning the car should snap to the spline to follow it. On the bottom we set the speed of the car these values are very customizable. Then now we found both the speed and spline we can do the steering calculations. Then after the branch node we draw debugs which allow the developer to see where the car is heading and where.
In short it continuously finds where the car is follows the spline and works out how much turn it needs with the speed.

This calculates the throttle which is different to speed. Throttle is the input that controls the power whereas, speed is how fast something is.
Due to the fact that the Mustang took longer to develop than expected and issues when trying to create it’s blueprint I needed to come up with some replacement. How am I going to make the cars feel different. I then looked to my research particularly the gameplay footage that I took. I relished when racing with the MX5 all other cars was also MX5 just different colors therefore, I decided to make that feature myself and for once it was easy.

So when the game start it picks a random color between the set materials within a range. This was super easy.


So I was facing some significant issues on FPS and saving. At first I thought it was something to do with Luman or Nanite (Unreal Engine lighting system) however, this was a fix for the FPS as I had to manually edit the ini files this was just changing some statements from true to fales and lowering the values so it could get a stable FPS.
When I went to save it would take up to 30 mins and therefore, I really wanted to get this fix as this wasn’t helping with the motivation of the project. So what was the fix for auto saving? Well you see there are 2 main file formats that Windows reads. exFat and NTFS. Well NTFS comes with the benefit of data reliability via journaling therefore, the issue was that each time Unreal was building everything from scratch instead of having that journal.
Attempt 1

I tried to use the unreal mannequin a test subject before making my own models and importing them this is because I want to create. However, this did not work well and in attempt 2 I changed my test subject. I used a material function however, it didn’t adapt to the lighting well.
Attempt 2

I decided that I wanted to add the P3 character from my research this is because it would give me a better test subject before importing my own models. This was a choice in order to try and get it as close as I can to the original product.


This is what I got for my second attempt this is slightly different from the first attempt. I decided to take a very similar approach this still uses a material function but this time it is blended between a regular material to. Which basically gets the material function + texture allowing it to be more optimised than having to redo the same function in multiple materials. In this I still think I need another version this is because it lacks in signifcant characteristics to that guilty gear has.
Attempt 3



Instead of using a material function I have decided to do it for each as the only thing that changes is the texture which allows duplicating easier. Material function also had different effects to the cel shader. This is also three banded giving it more of a anime look however, it doesn’t look as nice on the character. I feel the more I attempt the cel shader the further away I am from achieving it.
Attempt 4
For attempt 4 I decided to have a break and work on the MX5 so then I could actually have a game ready model so I could test it on. It was also at this point I began to run out of time. Therefore, I went with an easier option and used Post Process this is because it was an all round way of it being quick but good results.


I decided to use this YouTube tutorial in my final attempt this is because I was running out of time and I needed to get something done quickly. I was able to understand the tutorial and have comments which allowed me to greater my understanding of it. Post processing wasn’t the way I wanted to go however, I am pleased with the results I got and therefore I could start working on something else. Due to also making the car it wasn’t properly UV edited meaning physical cel shading wouldn’t have worked.
I found a video which was very useful this is because it went into much depth on what I was supposed to of done and therefore, I was able to set up the car perfectly however, something felt off. It was the values so I decided to do further research into cars and how I could make my MX5 feel better.

Here is what the event graph looks like it was very simple as most relied on another plugin called chaos vehicle plugin which is great because it mean I didn’t have to do too much to it.

I also created a Chaos vehicle wheel which allowed me to customize how the Car presets interacts with the world for example it’s radius and about of slip and fraction I could use. I duplicated this blueprint and made it for the rear wheels to but changed a few values to give it the look I wanted to get.


This lead me to discover throttle curves. Why did it make a difference? Well this is because it controls the engine’s power and speed which allowed for nice acceleration. However, 2 things still remain off which was suspension and wheels. But I decided to move on as I still have another car to do.

Now both cars are inside of Unreal Engine with the cel shader applied meaning I can set up the mustang.


I also set the blueprint the exact same however, I ran into some issues setting the Mustang up. Due to I only had a few days to set it up I have decide to abandon it this is because I am unable to finish all on time therefore, I only managed to get one working car.
Although I got it to work I noticed that the scaling was completely off and learned how it is important to make sure that you have scale in games and not just shrink them down. This is because it messes with the physics.

When the player hits the checkpoint it checks how many you have crossed and make sure that it knows what was your last. Which if last lap is finish then that event triggers.

In the finished event It checks the current lap to see if you can finish the race.


As mentioned in planning I was going to have some very basic UI. This is how it works. First we have the play menu which set the players camera at location that is facing front of car. Why did I do this? Well it was to add more depth within the play menu. This is done by the spring arm changing location because of rotation. When play is pressed it reverts it back into it original state which is the default player view. I made this using my own logic this probably wasn’t the ideal way as this is not an industry standard technique.

There is nothing in the other UI apart from text labels which we fetched and set the value within the MX5. This goes for the same as speed since I made this using my own logic this probably wasn’t the ideal way. However, as this was made using my own knowledge I am very proud that I got it to function.