Ian Tan told us about the working process behind the Ferrari 330 P4 project, talked about collecting different kinds of references, and shared a detailed breakdown of the composition.
Hi everyone, my name is Ian Tan and I’m a 21-year-old freelance 3D Artist and Designer based in Singapore. I specialize in the creation of hard-surface models and designs for commercials and VFX.
I got my diploma in Animation in 2020. After that, I took various freelance projects here and there. I have created hero models for projects such as the Razer DeathAdder 2 and Razer Viper Mini commercials while doing work for Masonry Studios. I am currently working as a freelance designer and modeler for a few upcoming NFT projects.
I have spent a lot of my free time improving my skills by self-studying and seeking out feedback otherwise.
My fascination with mechanical objects began early, I remember sketching robots and making an AK47 and a bow out of Lego when I was young.
It’s only in the past year or so that I got into automobiles. Something about the way the smooth flowing lines and plane changes on a car body masking the complicated inner-workings to create a masterpiece of art and engineering really sits well with me.
The Ferrari 330 P4 Project
I set out to recreate the historical Ferrari 330 P4 and its internal pieces in CG. I wanted to understand the inner workings of a combustion engine automobile and improve my modeling, texturing, and set dressing skills at the same time. Knowing more about automobiles also feeds into my designs.
The Ferrari 330 P4 was a legendary line of vehicles, part of an intense rivalry with Ford’s GT40. The P4 got 1st, 2nd, and 3rd places in the 1967 24 Hours of Daytona in counter to Ford’s 1st, 2nd, and 3rd finishers in the 1966 24 Hours of Le Mans. The P4 has also been called the most beautiful vehicle ever made.
I modeled the vehicle in Maya and Fusion 360, textured it in Substance 3D Painter, and rendered it using Arnold.
Here’s what sort of images I searched for in the creation of this project.
Images to look for (modeling).
- Blueprints. These can be found from sites like this one or from scale model websites. Blueprints help greatly in the initial placement of curves and getting the proportions right.
- Photographs of the real vehicle. If you’re creating a limited run racecar that has small differences between each model, it can be a good idea to collect as many images from one model number and group them together, collect images from another number and group those together as well. This will allow you to notice the differences between each model and integrate each feature as you deem fit.
- Scale models. These can be an option if you’re missing some views from actual photographs. These are useful for providing information on the layout of the model. However, they can be misleading if replicated 1 to 1 as the fillets and bevels on them are typically enlarged compared to the real thing.
- Images/diagrams for specific parts. Even after collecting images of the real vehicle and the scale models, you might still need images of specific parts. Examples include images of the brake disc and brake calipers, fire extinguisher, wheel rim, and tires.
- Inspiration. Images that allow you to envision how the final result will turn out can also be collected. These can be movie screenshots, car photos/renders, or just images that give you a sense of the emotion that you want the final piece to have. A sort of mood board, if you will.
Images to look for (texturing).
I think it’s important to first come up with a backstory by asking yourself questions of what the object has been through. Did it just complete a 24-Hour race? Is it brand new from the factory? Where has it been? Any specific details it would have? This will facilitate the search for more relevant references and make the textures more interesting overall.
- Material-specific. After breaking down the materials that are needed for the project, close-up images of each specific material with the correct finish should be collected. For example, anodized aluminum, carbon-coated steel, ABS, ASA, and PVS (plastics) were some materials I used in this project. High-res images of vehicles are really good for this, so it's great if you can find those.
- Weathering references. My intention with the vehicle was to make it look like it has been driven for a couple of days on the track, so it would have a light to moderate amount of breakup. I searched for high-res images of racecars that had just completed rallies for this purpose. I found a really nice set of photographs of a Ford vehicle that had just completed a 24-Hour race. It has thousands of flies splattered on the front, scratched-up headlights, and dirt scattered in really specific patterns on the rear and sides. That really influenced how I would texture the vehicle later on.
Modeling with curves
I started modeling by setting up the blueprint images and drawing NURBS curves to match the contours of the vehicle. At this point, I also used the photographs collected to reference where the peaks and valleys of the various plane changes were.
After the curves were in place, I created a plane and snapped it to the curves created. I created a low poly yet accurate representation of the vehicle using the curves as a guide at this point. I was constantly making sure the surfaces looked good and accurate when viewed in 3D. I paid close attention to the size of the fillets and the bevels in place.
I smoothed the mesh and then added details after settling on the major form changes of the vehicle. A good rule of thumb is to only smooth as much as the detail requires. Keeping topology as low as possible at this stage will allow you to make form changes quickly and without much hassle.
With modeling tire and wheel rims, it’s all about finding the repeating pattern, modeling it once, and duplicating it around. I often used duplicate special with instances selected in Maya while modeling.
Andreas Ezelius has a great series on YouTube explaining his process of modeling cars with curves and modeling wheels, which goes into a lot more detail.
I decided early on that I would potentially show close-up shots of the headlights, wheels, the rear components, the steering wheel, and the fire extinguisher, so I paid extra attention when modeling to make sure all the fillets/bevels were accurate, all the details were in place and also added slight imperfections to the mesh during the modeling process.
Anatomy of a combustion engine vehicle
After I modeled the body panels, the exterior glass parts, and the wheels, I looked at the specific part in one of the breakaway views and looked for it on the internet to try to figure out what it is and what it does. And then, through that, I got a complete picture of how everything fits together.
YouTube channels Engineering Explained, Donut Media, The Engineering Mindset, the HowACarWorks website, Wikipedia, sites of various car manufacturers like Porsche have been instrumental in improving my understanding of how vehicles work.
A very brief overview of the anatomy of the P4
This is not an extensive resource by any means and only covers the main components and their basic functions. More research is required to derive more complete understanding of automobiles.
Parts modeled in Fusion 360
UVs & Unwrapping
I used UDIMs for this project and separated the tiles according to their relative positions. Objects in the middle group were in their own rows, objects on the left and right were on other rows. I decided on this over separating the UV tiles by materials because it would make it easier to split texturing into different painter files and tackle each region as its own little project. This is the process Jay Machado taught in his Hard-Surface Modeling course on CGMA.
I used the backstory created for texturing to guide my thought process. I also logically broke down the materials into the layers used. For example, for the car paint, the base layer would be aluminum, followed by a layer of primer, then the car paint and a layer of clear coat. Breakup in the form of sand, dirt, and dead bugs came after that. I then attempted to recreate each of these layers using references to help with specifics. Here’s a rough breakdown I made before texturing.
To start the texturing process, I used 3D scans from Quixel Megascans or photographs as a base before adding layers of color, roughness, and height breakup on top and creating a smart material to be used throughout the project. Some examples are shown below.
I also made use of stencils to add specific breakup patterns to parts of the vehicle. For example, on the front of the vehicle, since I wanted the vehicle to look like it has been driven for a couple of days, I painted on bugs splattered across the front, as per Arvid Schneider's suggestion. I found images of splattered bugs on cars on the internet, created a black and white mask out of them, and used it as a stencil to add breakup to the front regions in Substance 3D Painter.
Jason Ord has a fantastic tutorial on ArtStation, where he shows how he uses stencils in his texturing workflow.
Texturing is definitely not a one-and-done process. It requires many passes going between Substance 3D Painter and the render engine. So it’s important to have high iteration speed (fast render settings or real-time applications) as well as critical feedback (from yourself or others) so you can get through the phase where everything looks bad quickly. The Pareto Principle comes into play here. Spend 20% of the time getting to 80% of the result, and the remaining 80% of time finessing the textures so that it looks as good as possible.
I also received feedback from Kirill Chepizhko about the scale of my textures being too large and too intense, which made me realize that paying attention to the scale of details is super important for making an object look realistic and of the correct size.
For my lighting setup while texturing, I used the same HDRI in Arnold as I used in Substance 3D Painter.
When lighting your final images, it’s paramount to consider what your intention is with each image. Is it to showcase the entire object? Is there a specific area you wish to highlight? Then consider how you can execute that with the variety of lighting tools at your disposal. For these renders, I really wanted to show off the forms of the car. Therefore, I tried to make sure the forms were easy to read, plane changes were evident, and that regions of the car were neither too bright nor too dark.
For the final lighting, I opted to place the vehicle in a CG version of the Batcave from Nolan's Batman trilogy (don’t ask why). The CG environment helped get some nice reflections onto the car, and reflections of the ceiling tiles of the car body inadvertently helped create guiding lines, which in turn helped to guide the eye between the front and the back of the vehicle. I also made sure to brighten the wheel rims to get a nice metallic sparkle in the renders.
During compositing, I like to work with Photoshop’s Camera Raw Filter to tweak values, add vignettes, brighten regions to bring attention to, and darken regions to detract attention from. Again, carefully consider what’s important to show in the image and make use of value to help you to achieve that. Final touches in the form of LUTs, Depth of Field, Lens Distortion, Chromatic Aberration, and Film Grain were added after that.
Alex Senechal has a great tutorial on the fundamentals of lighting and compositing, which helped me view lighting in a more methodical manner.
I’m no expert at composition by any means, but here’s a breakdown of one of my final renders' composition to give you an insight into my thought process.
- The eye will immediately be drawn to the rear headlights and rear wheels region, as they have the highest detail, color intensity of the whole image, and is close to the center of the image.
- The eye will jump to the text or the front wheel next. These are regions of high contrast.
- The curves of the car help guide the flow of the eye between the front and the back.
- The lines on the ceiling help push the eye across the composition. A slight blur and gradient also make it less visually important.
- The ground is darkened and blurred slightly to bring attention to the visually striking car.
When creating personal projects, pushing at least one aspect of it further than I have ever gone, learning new tools and skills in the process has helped me improve my work over time. Also, having people better than you who can give you feedback has been tremendous in opening my eyes to avenues in which my work can be improved. You will be surprised who you can reach if you just ask nicely.
I also think that there’s an important distinction that can be made for personal projects. Smaller scale, higher volume projects can allow one to rapidly improve a certain skill, putting the reps in to make it truly intuitive. Larger scale, lower volume projects can be good as portfolio pieces, bringing all the practice you have done together into one complete piece.
The 3D model of the Ferrari can be downloaded on my Gumroad for free.
I would like to thank Arti and the 80 Level team for the opportunity to work on this article.
Big thanks to Ong Jun An for assistance with the UVs of the internals, Andreas Ezelius for the inspiration, Michael Wilde, Arvid Schneider, Kirill Chepizhko, Steffen Hampel, Ivan Lim, and many others for their invaluable feedback.
Ian Tan, 3D Artist
You may find these articles interesting