Rally Car Concept - WIP
Hi everyone. I have been a long time member but have not really had the time to jump onto the forums and introduce myself. I am a 3D artist currently working in the Industry at a game company in Phoenix, AZ.
I thought I would share some of my workflow on a concept Rally Car that I started on and then ran out of time to finish. I am finally venturing back to the project to finish it after being idle for so long. Parts of my model are influenced by a sweet Volvo drift car I found awhile back. I will post a picture of it once I find my old reference images. I will be using Maya, Mudbox, Photoshop and a proprietary game engine to showcase this whole project from start to finish. You will see this car actually driving in a game with next-gen quality graphics by the time I am done.
Rally Car statistic goals:
Game Focus - Next Gen PS3/Xbox 360
Triangles - Approximately 20,000
Body Panel Textures - 3 Total
- Diffuse Texture 1024x1024 DDS DXT5
- Spec Texture 1024x1024 DDS "in alpha channel of Diffuse"
- Normal Texture 1024x1024 DDS DXT1
Internal Textures - 3 Total
- Diffuse Texture 1024x1024 DDS DXT5
- Spec Texture 1024x1024 DDS "in alpha channel of Diffuse"
- Normal Texture 1024x1024 DDS DXT1
Tire Textures - 3 Total (This may change to a 1024x1024 map for a mud map)
- Diffuse Texture 256x256 DDS DXT5
- Spec Texture 256x256 DDS "in alpha channel of Diffuse"
- Normal Texture 256x256 DDS DXT1
Rim Textures - This may change to a 1024x1024 map for a mud map
- Diffuse Texture 256x256 DDS DXT5 w alpha "for cutout transparency"
- Spec Texture 256x256 DDS "in alpha channel of Normal"
- Normal Texture 256x256 DDS DXT1
I have planned out this project to be completed in the following stages. Some of which I have already completed or will be going back to refine. It has been about a year since I stopped working on this project so I will probably see things I want to change or fix. ;/
These stages are created just like I would present them to my Producer or team lead for a realistic project completion goal. This prevents any confusion and makes sure you and your supervisors know exactly what you are doing.
Stage 1 - Concept High Polygon Modeling of Car Panels (This is the stage where the art director and game designer tells me to make changes or continue on)
Stage 2 - Creating low res car panel mesh using Nex Quadraw plugin for Maya
Stage 3 - cleanup of low res mesh. Double check I have squeezed out as many triangles as I can.
Stage 4 - UV map Low res mesh. (I may use Headus UV if Maya's unwrap isn't sufficient enough.)
Stage 5 - Bake out car panel normal map and ambient occlusion
Stage 6 - Preview normal map on low res mesh and double check edge flow for artifacts or problems and perform cleanup (Again I would show to art director and game designer for approval before moving on)
Stage 7 - Phase 1 car panel texturing. Blocking out the panel boundaries in Photoshop from the UV snapshot and structuring the PSD file layers. Very important... This PSD file is created to plan for change so someone else can take over without a doubt if some crazy thing happens like; I get hit by a bus or abducted by aliens.
Stage 8 - Model high res tires and rims. I will be modeling a Toyo Proxes T1R tire because it looks cool. (Again, I would show to art director and game designer for approval before moving on)
Stage 9 - Create low res tire and rims using Nex
Stage 10 - UV map low res tire and rim mesh
Stage 11 - Bake out tire/rim normal maps and ambient occlusion. Create extra normal details using Mudbox and Photoshop.
Stage 12 - Preview normal map on low res tire mesh and double check edge flow for artifacts or problems and perform cleanup (Again, I would show to art director and game designer for approval before moving on)
Stage 13 - Phase 1 tire texturing. Blocking out the panel boundaries in Photoshop from the UV snapshot and structuring the PSD file layers.
Stage 14 - Modeling the windows
Stage 15 - UV Mapping the windows
Stage 16 - Phase 1 window texturing. Blocking out the window boundaries in Photoshop from the UV snapshot and structuring the PSD file layers.
Stage 17 - Modeling the interior mesh
Stage 18 - UV Mapping the interior
Stage 19 - Phase 1 interior texturing. Blocking out the interior boundaries in Photoshop from the UV snapshot and structuring the PSD file layers.
Stage 20 - Before final texturing preview in game engine for any performance or visual problems. (Again, I would show to art director and game designer for approval before moving on to final texturing)
Stage 21 - Begin Final texturing of body panels & windows (Preview in game)
Stage 22 - Begin Final texturing of tires (Preview in game)
Stage 24 - Begin Final texturing of internal parts (Preview in game)
Stage 25 - create final approval renders and in game Fraps turntable video
Stage 25 - RIG vehicle to work with game physics.
Stage 26 - Create Fraps video of vehicle racing in game
Wheeew move on to next project
I am sharing this project here on the forums because if I don't, it is similar to going to the gym. If you have people there with you for the experience, you are more likely to keep at it so you don't let them down.
My goal for this project is to finish it in a 1 month period during my spare time when I can find it between work and family life. Wish me luck!
so Awesome
Fantastic!
Cant wait to see more 
Really nicely done so far!
This is really coming along great. I can see it all textured up now 
-Jeremy-
Thanks guys!
I have completed stage 3. I have finished refining the triangles to a point that I can live with. In the previous image above, the triangles were 10,836. I have now reduced them by a little over 1,000 to 9,820 triangles.
I am now doing the UV unwrap and will have that posted with the normal bake a little later today.
Very nice work Gregory.
Don't be shy to share any detail of the process, some of us are eager to know more 
Really great progress. Capturing the silhouette really nicely! Can't wait to see this thing all textured up 
-Jeremy-
So my Saturday afternoon was not fun. I worked late into the day baking out my normal maps and tweaking edge loops, uv's etc to get perfect normals. At about 9 PM Saturday night I saved my Maya file and went to bed. Sunday morning came around and I went to open my file to post some screenshots of the normals I created. Low and behold my Maya file was corrupted beyond repair. I do save in revisions but the last one I did was at noon on Saturday. Thats what I get for getting to involved and not doing proper backups. So all of my hard work was gone. *Sigh*
I really wish Murphy would move out of my house already.
So I wasn't able to break away for some free time until tonight. Luchianull mentioned above that he wanted to see more detail in the process.
Here is a screenshot of the front fender baked out with Normals.
Screenshot Top = Mesh without Normals
Screenshot Middle = Mesh with Normals showing wireframe
Screnshot Bottom = Low Poly Mesh with normal map applied
You will notice that the the panel looks almost exactly like the high res version now.
I will post the rest of the panels as I find time to bake them out and make the necessary tweaks. At least this tie I won't have to troubleshoot the meshes as much.
I will also post a final UV layout with the Normal map texture as well.
Man that always is bad :/
I have had things like that happen to me before, and it can sometimes be one of the most powerful inspiration breakers.
Looks good though bud! I will stay frequent on this thread.
-Jeremy-
Nice 
I have finished baking out all of the normals for the panels. Here are some screenshots. I will post the UV map and Normal Texture later tonight. I have to get going to work. This was all I had time this morning to prepare for presentation.
Without the headlights and tail lights, the total Triangle count is 9,378 for the panels. That leaves me over 10,000 for the tires, Lights, Glass and internal parts.
Hey Gregory,
I find your topic quite inspirational. Keep up the good work and thank you for sharing. Can't wait to see it finished.
Luchian
nice!
There seems to be some places where you have un-needed geo, so you could reduce this by a bunch and still retain the same silhouette.
It would be worth removing anything that isnt needed 
Luchian - Thanks!, I am glad I could add some inspiration. It has been a long time since I jumped in the forums to show how I work. I let my job suck my life away for the last three years and I realized I was no longer being involved with the online community anymore. Just sharing my work gives me inspiration to start working on my own projects again. So I decided recently to get involved again.
Andy - Thanks for the input. I will do one more pass over of it tonight. I think I might be able to get it down to 9,000 even or so.
The problem I was running into was the slight curve variations I have in some places not looking right after a bake unless I added more endges than I usually would. The area I was running into this problem the most was the front wheel hub fender area. I had to add some more edges in there to make the normal map look right because of the harsh angle changes and the curve of the wheel well. Certan camera angles were showing the fasciting too much in that area.
This vehicle will be similar to how Dirt 2 & 3 works with closeup cameras being able to show all angles on replay. If I cut away too many triangles, it will show the fasceting when I get up close in some areas.
I do have some tricks I am going to present later on that help show how to make seperate shadow geometry to help performance on the shadow being generated in game. This way the higher triangle count of the panels are not being used to project the shadow. Instead it is about half that amount.
More to come!
Looking forward to seeing how it finishes up! I'm a big fan of rally racing
It's great to see how your workflow is laid out in stages. Very helpful! Curious to know if you've used Topogun to retopologize and how you would compare it to the Nex plug-in...
Again, great job and glad to see you pick up this project again!
I have posted a link to a video I made of the Rally car panels in Marmoset Toolkit with the baked out normals applied. You can see it embeded in my first post. As you can see I have some artifacts I need to fix that I did not see in the Maya viewport 2.0. Most likely it is the triangle edges that are auto generated. My next course of action will be to go back into Maya and triangulate my mesh and turn the edges in the direction that works best so they get exported correctly. Then I will have to re-bake the normals so it matches the new edges.
I have attached my UV layout and the generated normal map with the areas marked that I am seeing issues to help me troubleshoot the mesh.
Feel free to leave any suggestions. There could be a better way to fix the artifacts that I don't know about. 
External link to Vimeo video Stage 5 Panels in Marmoset
If the problems are not showing up in Maya, it could be that the meshes normals have changed when you export the mesh. Make sure you Freeze transformations and then triangulate before you export, and see if that works.
The gradients that you see are not errors. They are baked into the map to compensate for the curvature of the LP surface in comparison to the HP (the larger the difference, the more gradients/colours, in the map).
If that doesnt work, then its prob. a mismatch with the tangent basis between Marmoset and Maya. Then you would prob. be best rebaking in xNormal as the tangent basis is a very good match to Marmoset. 
Thanks for the tip Andy. I re-baked my normals after I triangulated my meshes before exporting from Maya. I also went in and optimized my UV's and hard edges for a cleaner look.
Here is the link to the video capture I took of it in Marmoset Toolbag.
So awesomeeee
Nice 
You could prob. get away with mirroring half the geo and increasing the texel density too 
I was thinking of doing that as a seperate uv channel. The texture for the car is going to have logos so I cannot duplicate UV's in order to prevent reversed words. I was going to make the normal map be the second UV channel but then I realized the game engine I am using only allows for two UV channels right now. The second UV channel is going to be used for the reflection on the vehicle. I would try to fix this but my graphics programming knowledge is limited in that area. I am going to try and get one of my coworkers to help solve the problem.
In the meantime, I am open to someone helping me through doing this correctly in UDK. I can get my car in the game but do not know how to setup the materials to use two different UV sets like that.
Here is the tutorial I found on setting up the vehicle rig. This is something I need to learn how to do anyways. Might as well do it now. 
Hey everyone, I wanted to get in an update and let you know why I have been MIA.
My baby girl was born Saturday the 9th 2 weeks early at 2:46 PM. She was 7 Pounds 6 Ounces. Her name is Inara. Her early coming has caused me to not be able to work on anything right now. I am very sleep deprived and had to return to work today. I am going to be putting my focus more towards the Hard Surface Competition for the next few weeks. Once I get that done I will come back and finish this model. I may even jump in and do some stuff to take a break from the other model.
-Greg
Congratulations, McGergs! Hope things have settled down a little bit
Good luck in the contests!
Congrats indeed Greg for your newly enlaged family
.
Will be following this topic for your updated, whenever you will have time for them.
Cheers and good luck.
Thanks guys. She has been a great addition to my life. Her mother and I are in awww every day with how amazing she is.
She has been a handful though. A combination of milk allergies along with her being slightly tongue tied has made all of my time besides work go straight to helping take care of her. When things slow down a little I will come back and finish this project.
It looks like I will finally have time to start working on this again now that the schedule is under control with the baby.
A couple edits to my plan.
I plan to put the final car asset into four game engines when I am done.
- UDK
- Unity
- CryEngine 3
- XLEngine - Proprietery engine at my work
I may need some assistance with UDK and Cryengine if anyone would like to help when I have questions. Most of it will be proper technical rigging and getting some good physics working.
nice work dude !
but you should give more time to the model , you have some bumps all around the model and you can save a lot of poly and keep the same quality , if you want i can help you with that
.
best regards,
Salim Ljabli
at the end of the last stage (Stage 26), make sure to add - BONUS
Make this into PDF. This is just way too cool to leave it to only forum, must have - dedicated piece!. would be a great contribution to everyone who is learning/wants to know more or professionals to explore alternative techniques.
Thank you!
Greg, great work as always!!! Cant wait to see more of your work locally here in SV!!!
Nice! Are you using ref. for the tyre?
Thanks guys.
Andy - To answer your question I thought I would do a quick screenshot overview of my process.
I found a good profile shot of the actual tire tread to use as a reference. I mapped it to a reference plane in Maya in the TOP view.
From there I used a Maya plugin called Nex which is developed by draster.com. I use the Quadraw tool that comes with Nex to plan out my polygon flow for the tire tread. Quadraw not only works as a good re-topology tool but it also can be used to make quick polygon flow on the virtual grid in Maya. This made the planning process much easier since the tire tread has a very elongated shape to it. This helped me figure out how I will be repeating the tread pattern for duplication and eventually bending it into a circle.
Once I started getting the polygons laid out the way I wanted, I duplicated it as an instance in negative and positive 10 units. I tried to keep my initial tread pattern to be 10 units in size to allow for easy duplication using a whole number. By making the copies an instance, I was able to make sure they matched up vertex to vertex perfectly no matter which tread piece I worked on.
One thing to note: When I extruded the tread pattern up, I made sure there was a slight incline in the inner tread walls. This will allow for the normal map I generate later to get baked out correctly. If they were straight up and down it would cause a problem.
Once I had my tread pattern done, I duplicated it 16 times. This is an estimated number based on how many tread pieces I counted in the original reference photo. Once duplicated I combined them and merged the vertices. Because I instanced the meshes earlier and made sure all the vertices matched up, they all merged with no problem.
After merging, I applied a nonlinear bend deformer. I had to rotate the bend deformer on y=-90 and z=-90 to make sure it was bending the tire direction I wanted. You can see the settings in my screenshot. From there, I just had to tweak the curvature number amount to make sure the verteces matched up perfectly. I think my final number was 3.5171. Sometimes using a number of four decimals is necessary even though Maya only shows 3. You can type in more than 3 characters and Maya will still recognize it.
After that I merged the last remaining vertices and applied a smooth with 3 divisions.
For the sidewall tread pattern I repeated this same process.
I hope all of this makes sense. More to come soon on the RIM design.
Ahh nice!
I would consider adding a small bevel to the edges of the tread, so they will catch the normal map better...and make them a little deeper too 
Keep it up!
Thanks Metalliandy,
Hopefully I will have some time in the near future to actually get started on this project again.
































Stage 1 is complete
Here is Stage 2 using Nex to retopo on top of the smoothed high res mesh.