Jump to content
  • Advertisement
  • 08/18/19 03:25 AM

    How to Create a Realistic Formula 1 car in 3D

    Visual Arts

    adityarajani

    In this article, 3D Environment Artist Aditya Rajani goes in-depth in how he created a Ferrari Formula 1 car in 3D using Maya and Quixel. He shared insights on how to avoid some common mistakes while modeling and texturing and achieve realistic results.

    Background

    Aditya Rajani is a widely renowned 3D Environment Artist who has made significant contributions to numerous award-winning video games and applications for virtual reality (VR), console and mobile platforms with companies including Warner Bros. Games, Survios, and Ten O’ Six Productions. His work can be seen on some of the most critically acclaimed releases like CREED: Rise to Glory, a 2019 nominee for the VR Awards “Game of the Year”. He also lent his talents to the upcoming pirate simulator Battlewake for PlayStation VR, Oculus Rift and HTC VIVE. Other major achievements of Mr. Rajani include his work with Tiered World Studios on a STEM- themed mobile education application for children. As one of the project’s Lead 3D Artist and Designers, Rajani helped bring to life the characters and environment integral to the game which introduces young learners to art, innovation and entrepreneurship.

    Breakdown

    Step 1: References

    Formula 1 car is a complex machine. The sheer technical aspect of constructing a Formula 1 car is immense. Weight Distribution, Aerodynamics, Engine Power, Hydraulics, Downforce - all these factors change the complexion of the game. And so, to build a Formula 1 car in 3D, collecting reference images is key. It comprises of so many little parts, that having a few good reference images can really help push the realism further.

    concept.thumb.jpg.1eac64da2e3dbc48aa987180d7d402f2.jpg

    There are several websites where you can grab reference images from - google, pinterest and most important - blueprints.com. To match the photorealistic aspect of a real F1 car, having orthographic views of a previous model is extremely important. With the help of the front, top and side view images, you can trace the car with the exact size and scale just like a real-world car.

    Front_View_resized.thumb.jpg.3191fd5ac6b062b1e89a9245f705d908.jpg

    Side_View.thumb.jpg.bfa9ba23b17bcdb9c384b50821a6f248.jpg

    Step 2: Modeling/UV unwrapping

    Once you match the overall size and shape with the references, then you can start adding more details to the model by way of subD modeling i.e, by adding subdivisions/edge loops. It's important to stress that by adding too many unnecessary edge loops, the model can become quite high poly fairly quickly and practically unusable. One quick tip that I wanted to share is that with models like cars or other vehicles and weapons, there are so many little objects and keeping track of them can be a bit of a headache. Naming them appropriately can go a long way in saving you time later down the line. It's fair to assume that naming objects is something that can be completely overlooked while modeling or grouping objects, but by developing a habit to name those, it'll save you precious time which can be focused on other tasks. It's also important to plan ahead by looking at textures before you add details. In this case, since the car had different colors on the same part of the mesh (red/white patches), I made the faces/edges follow the color pattern so I can quickly mask it by assigning a material ID to it. Little things like these will save you a lot of time and often times, fixing it later will cost you more time and effort than recreating it so having that awareness can help you grow as an artist.

    body_COLOR.thumb.png.6ba918a3a4e7dbdf459f577dd389fe9b.png

    seat_COLOR.thumb.png.2003b372543c7b13aa0de6151a52d3d6.png

    Step 3: Texturing

    Texturing is the most fun part for me. It's like a puzzle - trying to piece everything together. An average looking model can look great with the help of awesome textures but a great looking model can get ruined by mediocre looking textures. Establishing proper surface depth of materials is extremely important as it's the first thing people see when they look at a model. Adding small surface details like roughness variation, grunge, dirt, oil leaks, grease etc. can convey a lot of information and storytelling like how old a model is, what type of environment it was exposed to, whether that place is old or new, what type of weather an object went through etc. By adding details via textures, these questions can be answered automatically and gives the environment/object strong personality.

    For texturing this car, I used a combination of Quixel Suite and Substance Painter. I feel like both tools can be used to your advantage. Since there were a lot of sponsor logos that I had to put on, Substance Painter was the superior choice because of its easy interface. Quixel had a lot of good metal smart materials in their library at the time so I used it for texturing the main body. When using logos, it's important to make sure that the resolution is set to very high (at least 600 dpi), else the edges might appear jagged and can look very ugly.

    836771247_logossheetall-in-one.jpg.28f7fda65358a3fffa9a0e9c00d5d30a.jpg

    For adding normal wear and tear to a model in Substance Painter, smart masks can be a great starting point but it's important to not rely on them too much. It can look really robotic and rigid. For adding things like rust, studying an object that you're making can be really beneficial too. For example, if you're making a helmet, find reference images of a helmet exposed to natural surroundings and study the effects it has on it. If it's a place where it rains a lot, and the helmet was lying on the ground for years, then it's going to have even more wear and tear than usual. Pay close attention to the direction of the rust and try to replicate that on your 3D object.

    Step 4: Rendering

    Lighting and Rendering plays a vital role in presentation. It's essential to spend enough time presenting your work on your portfolio by choosing different camera angles that are pleasing to the eye. With the help of Marmoset Toolbag, it takes only a few mins to present high quality work thanks to its real-time rendering capabilities. For this project, I'm just using one directional light and an HDRI. For post-processing, I played around with Brightness, Contrast, Exposure and Gamma values until I was happy with the result. Showcasing how your model looks under different lighting conditions is also a good idea. Turntables can be quite effective in presenting the models in real-time. Breaking down your render shots shows an insight into your process and highlights different stages of production. It's always good to post different types of screenshots like AO only, Grayscale only and Wireframe to break it down further.

    001.thumb.jpg.36837d978373e13a99a2298e0551b78b.jpg

    003.thumb.jpg.ffe61f6b316faa9b9ec97c60c5819e08.jpg

    002.thumb.jpg.5b7810a122e1191a5bdac1909de56918.jpg

    004.thumb.jpg.39374aa27100758e6b7007c641872b9e.jpg

     



      Report Article


    User Feedback


    There are no comments to display.



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Advertisement
  • Game Developer Survey

    completed-task.png

    We are looking for qualified game developers to participate in a 10-minute online survey. Qualified participants will be offered a $15 incentive for your time and insights. Click here to start!

    Take me to the survey!

  • Advertisement
  • Latest Featured Articles

  • Featured Blogs

  • Advertisement
  • Popular Now

  • Similar Content

    • By syedMohib44
      Hello guys I am a bit confused on rotation and position in unity. The thing is when I am at 0 rotation on X-Axis and I restricted my player to not let it go more than 10 on x-axis and less than -10 x-axis but when I rotated it to 90 degree It stated to move forward on left key press and backward to right key press. I just want to clamp position between 10 and -10 on every rotation It must not move differently when rotated... e.g for some understanding the scenario If a player is on a road and it is restricted to go on foot path then it should also be restricted when rotated to left or right... Please help me with this guys any help would be appreciated. 
      Thank You.
    • By VoroNoise
      Main designer here with a massive scale RTS/grand strategy/city builder/god game. If this sounds interesting and you're an artist or programmer with ideas then please contact me! We can make a bundle! I already have musicians with solid tracks. About three quarters of the way through total development, just need minor details filled out and a lot of art assets worked in.

    • By INTwindwolf
      THE PROJECT

      INT is a 3D Sci-fi RPG with a strong emphasis on story, role playing, and innovative RPG features such as randomized companions. The focus is on the journey through a war-torn world with fast-paced combat against hordes of enemies. The player must accomplish quests like a traditional RPG, complete objectives, and meet lively crew members who will aid in the player's survival. Throughout the game you can side and complete missions through criminal cartels, and the two major combatants, the UCE and ACP, of the Interstellar Civil War.
      Please note that all of our current positions are remote work. You will not be required to travel.
      For more information about us, follow the links listed below.
      INT Official website
      IndieDB page
      Also follow social media platforms for the latest news regarding our projects.
      Facebook
      Twitter
      CURRENT OPEN POSITIONS
      Website Manager
      3D Character Modeler
      3D Environment Modeler
      3D Animator
      Unity Engine Programmer
      REVENUE-SHARE
      The project is marching increasingly closer to be ready for our crowd-funding campaign. Being an Indie team we do not have the creative restrictions often imposed by publishers or other third parties. We are extremely conscientious of our work and continuously uphold a high level of quality throughout our project.
      We are unable to offer wages or per-item payments at this time. However revenue-sharing from crowd-funding is offered to team members who contribute 15-20 hours per week to company projects, as well as maintain constant communication and adhere to deadlines. Your understanding is dearly appreciated.
      TO APPLY
      Please send your Cover Letter, CV, Portfolio (if applicable), and other relevant documents/information to this email: JohnHR@int-game.net
      Thank you for your time! Please feel free to contact me via the email provided should you have any questions or are interested to apply for this position. We look forward to hearing from you!
      John Shen
      HR Lead
      Starboard Games LLC
    • By doug25
      Hi,
      I want to start a team with the goal of creating a simple game
      this will be good project experience for working together
      The game can be 2d or 3d, might have multiple programmers
      I'm thinking a medieval/Egyptian theme fantasy possibly
      I will want one or two writers if needed, and we all may contribute to the storyline
      I think characters and dialogue can work really well-Zelda,Diablo,Neverwinter nights for example
      Looking for
      Artist
      Writer
      Musician
      Programmer
      Sound ok?
      My name's dougie
      If you're interested contact me here on the forum or email me:
      sound_of_solos@hotmail.com, but beware I might not see your email because my inbox is loaded.
      I'm a C++ programmer and I use Unreal Engine as my engine of choice
      so I'll be the project lead most likely
    • By Flyverse
      Hi, 
       
      I'm currently getting started with learning about computer graphics. To do so, I am planning on doing a project such as a small minecraft clone or something to learn various techniques. 
      Since I thought it'd be nice to have something "better looking" than just blocks, the marching cube algorithm seemed to be a nice option to smooth the blocks into some other mesh shape. 
      However, I had a question regarding that. 
      As far as I understood, the neat thing about voxels is that you can just send the position of the voxel, ie one vertex per voxel, to the GPU, and a geometry shader can then take care of building the actual blocky mesh from that data. Therefore, I thought it'd be useful to include something like the marching cubes algorithm in the geometry shader, since it'll save work. However, I read online that marching cubes is usually only executed on the CPU and not in a shader, for various reasons. 
       
      I was wondering if anybody had any thoughts on this? Wouldn't using it on cpu before shading make me lose the advantage of just sending 1vertex per voxel to the gpu instead of a whole mesh? 
       
      Thanks! 
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!