SCAD x The Mill
SCAD and The Mill have partnered up to create a class where students work as a team to research, conceptualize, and develop creative solutions.
Task: Create a production-quality vehicle advertisement using Visual Effects (Unreal).
June 1, 2022 | Week 10
After meeting with the mentors one last time this week, there were a few minor changes they suggested. Firstly, the audio. We changed the track to a slower, mellow tune to create a more elegant, dramatic piece. The other note we were given was to change the final logo reveal from a hard cut to a fade-in!
Enjoy the final result!
Maya, Unreal, Photoshop, Illustrator, Substance Designer, Substance Painter, Premiere Pro
I am so grateful to have had the opportunity to work with such an amazing team. Owen and Zhifan, thank you for being such great teammates. I learned so much from you both and valued our time together. We really made something incredible.
Professor Bridget and Professor Deborah, thank you for trusting us and being a constant source of encouragement. This class taught me so much and brought the SCAD community even closer. Lastly, to all the mentors at The Mill, thank you for taking the time to help us grow and being humble guides throughout this process. You are all so inspiring! It was truly an unforgettable experience.
May 30, 2022 | Week 09
For the detailing on the sides of the tire, it was important to find solid reference images so I could recreate the text and graphics as closely as possible. The images below are a selection of the references that I used.
I came across the image below (on the left) and used the information from it to create an alpha that I later brought into Substance Painter. To extract the text information, I used the Color Range feature to isolate the white text and pasted it into a new layer.
Below (on the right) are the settings and a preview of what the isolated parts looked like in Photoshop. There were some gaps within the text so to fix that I added a Brightness/ Contrast Adjustment Layer and increased the brightness.
Substance Painter has a great feature where you can drag and drop your assets from your library right onto your model in 3D space. Since the UVs were a straight line and the alpha I generated was circular based on the tire's profile, I took advantage of this feature.
After I dragged the alpha onto the mesh, it generated a Fill layer and I was able to adjust the placement accordingly. I had trouble aligning my maps so I changed the view from Material to Mask which gave me a better idea of where the layer was in the space.
Changing the viewport settings to Normal+Height+Mesh also gave me a better understanding of how the maps were interacting with each other.
I redid the seams by using the Stitches Straight brush (the altered settings are in the "Stitching" section) and adjusted the width and height of the horizontal stipes that run through the seat.
Owen and I felt that it was best to separate the seams and stripes with the main leather texture so we could have more control over their height intensity.
Handle Bar Box
Even though the box information that is on the box that sits on the handle bar is super sublte, I felt that adding this minor detail was important to creating a convinging piece.
Week 09 Render
May 23, 2022 | Week 08
This week I focused a lot on refining the texture maps in addition to remodeling the seat and working on the audio track with Owen and Leny. For starters, I made some tweaks to the seat's geometry. I gave it a bit more of a distinct edge, so there is a more defined highlight when the light follows the curvature of the geometry.
We also received some feedback from Billy suggesting we decrease the height of the textures because it did not align with the visuals of the shot and was a bit distracting. We separated the seat's normal map into two separate maps so we could have more control of the base leather and the horizontal divets that sit on the top of the seat.
Since the geometry changed, I had to redo the textures in Substance Painter. This gave me the opportunity to try out more efficient techniques when approaching the materials.
The first time around, I was using Paint Layers which worked, but this technique made modifying the layer after the fact more difficult and added more steps to the workflow. For example, if I wanted to change the location or height information of the layer, I would have to add a Filter channel to be able to manipulate those attributes, and even then there was a level of restriction to the modifications.
The second time around, I made a Fill Layer and added a Bitmap Mask with the desired normal map or alpha to generate the desired results. Here I was able to change the location or height by going into the designated channel in the layer which was way more efficient than what I was doing originally.
Substance Painter Overview
Preview Render in Substance Painter
Below are the attributes of the stitches that were drawn onto the seat. I used the Symmetry setting in Substance Painter to create an evenly shaped curve. To keep a steady line, I activated the Lazy Mouse and adjusted the radius to a size just large enough to have the control I needed for a steady stroke.
For the Tanks, I used the same Bitmap mask technique I used for the seat.
When creating the detailing on the tanks below, I applied the Royal Enfield alpha into a Bitmap mask I created and used the Warp Tool to shape the logo to follow the contours of the circular detailing on the tank. At one point, I was struggling to see the detailing with the reflections from the metal so I changed the view from Material to Normal+Height+Mesh.
I was unhappy with the treads that I created last week, so I tried a different approach to see if it would generate a higher-quality map with more room for customization. A few weeks ago, I exported the material I created into a .sbsar file and imported it into Substance Painter, which worked but was not ideal.
In an effort to successfully generate the treads, I wanted to see if I could create the texture maps exclusively in Substance Designer. After some time and experimenting, I found that it would be easier to export a single Tire Tread Alpha and use the tiling feature in Substance Painter to generate the consecutive strip of tracks. While doing this and some masking with the bitmap masks, I achieved the results envisioned.
The steering lock may not look much different from last week but I promise it is. I remade the logo using the Bitmap mask technique which improved the quality greatly and gave the logo an evenly solid white instead of a gradient (that was in last week's iteration).
Ending the Commercial
For the final logo reveal, Stephen suggested that we keep the logo in the same spot when transitioning between the 3D and 2D logo instead of having the logo cut to the center of the composition like we had last week.
To avoid the logo being too far off-center from the composition when it cuts to black, Owen and I made the logo slightly bigger and moved it down in the final shot. We also had to adjust the vertical lights in the back because the composition felt a bit off once we enlarged the logo.
Cut to Logo V02
Week 08 Render
Rough Cut V04
Finalize textures and audio!!
May 16, 2022 | Week 07
The Last 20%
With our deadline rapidly approaching, Team Peach has been pushing towards refining the last 20% of our commercial! The closer and closer we get to the deadline, the smaller the adjustments may seem but the weight of those minor details is crucial for a successful photorealistic CG commercial.
This week, my responsibilities included remodeling the seat and back tank, fixing UVs, creating more textures, and helping transform the camera from static shots to dynamic movements.
When looking at the references for the motorcycle, I found some inconsistencies with the seat and its adjacent tank I had modeled so I went back and remade them. There was some faceting that needed to be corrected as well.
I attempted to reshape the seat using Maya’s Sculpting Tools. I found it helpful at first but when I would smooth or relax areas near the crisp edges, it would round them out compromising the form. Since this was happening, I went back to an earlier version of the seat that still had Smooth Proxy applied and adjusted the geometry accordingly. When creating the tank, I used a sphere with a poly count just high enough to avoid faceting.
Since the seat and tank were remodeled, I created new UVs. I also did some cleanup to the other materials UVs since I was having some issues last week.
Below is a complete collection of all the UVs for the bike.
For the seat, I hand-painted the normal maps with Substance Painters, Basic Hard brush to give the illusion of divets in the seat, and then applied a blur to soften out the areas that had a more subtle bump. For the seams, I adjusted the settings to the Paint Roller Stitches brush and painted the stitches with a Color and Normal map.
Substance Painter Overview
Preview Render in Substance Painter
When I was working on the leather in Substance Painter, the texture looked pretty solid but when we brought it into Unreal, the scaling of the leather seemed a bit large so I went back and increased the scale of the grain pattern from 1 to 3.
The approach I used for creating the tire treads was a bit different than the rest. Instead of painting the maps directly onto the mesh that was imported into Substance Painter, I created a material in Substance Designer.
Substance Designer Node Tree for Tire Treads
After creating the material in Substance Designer, I exported it out as a .sbsar file and imported the material into the Substance Painter file with the tire assets. I'm pretty happy with how they turned out however, I would like more depth from the map and add more detail to the sides of the tires. I think this is something I can achieve in Unreals material settings with displacement?
Substance Painter Overview
Preview Render in Substance Painter
I spent some time with Zhifan this week adding motion to our camera, which the Mentors suggested. We still need to work on timing a bit, but you can see how much a subtle camera movement adds to each shot.
The shots below are a guide to the lighting and camera movements. The red arrows indicate the direction of the light, whereas the green arrows indicate the camera's direction. Also, the 'X' is a marker of the general area where the light starts in the composition.
We decided to keep the first two shots static and then couple the rest of the shots with subtle movements. Billy brought up an insightful point, mentioning that once the moving camera is introduced into the sequence, all the shots following should also be moving to keep the rhythm and pace. In our previous rough cuts, it’s evident that going from a moving shot to a static shot disrupts the flow and is a bit awkward.
Ending the Commercial
We are at the point where figuring out how to end the commercial is getting higher on our priority list, so I spent some time brainstorming on how we could end the sequence. Last week, I asked the Mentors if fading to black was a solid route to end the commercial, and they were not opposed but did not seem excited about it.
I started experimenting with taking the logo we have in the background of the final shot and transitioning it into a white 2D element while the rest of the shot fades to black ending the sequence with the logo. What was tricky about this shot is that the logo does not sit in the middle of the composition so the fade to black transition could work but the composition will be top-heavy and awkward.
Ending Test Version 01 - Fade In to Logo
This lead me to experiment with a shot that cuts to the logo which is centered more within the frame (Test Version 02). This is the cut we ended up using for our submission this week.
Ending Test Version 02 - Cut To Logo
Week 07 Render
Rough Cut V03
This week I'd like to focus on camera speed. I think some shots are a bit faster than others. If the camera is the same speed in all the shots then the cuts will be smoother and the piece will be more cohesive.
I will also be adding more detailing to the model with more texture maps. The tire specifically has more detail on the sides that I would like to incorporate, even if it's super subtle. Lastly, I am going to continue working with Leny and Owen on the audio track and making sure that the vibe suits the commercial and brand.
May 09, 2022 | Week 06
This week my main priorities included cleaning up the final pieces of geometry, organizing UVs, and working on the textures (decals, speedometer, tanks, seat).
I started the week off by adding a few more subtle additions to the model. This included adding more wires, backing for the speedometer, bolts that were missing, redoing the headlight and seat/ tank to be more accurate to the reference, as well as enhancing the details of the lower tanks. These tweaks may seem minor however these small details make the model more realistic/ convincing.
After adjusting the model, I went back and worked on the UVs.
We are up to 32 materials now.
I was having issues with the normals on the air tanks. When creating the model, I modeled a majority of one side of the bike and then mirrored the necessary pieces using Edit > Duplicate Special > and then changed the scale from 1,1,1 to -1,-1,-1. After duplicating the desired pieces, I would then freeze the transformations to reset the mesh scale from -1 to 1.
This would result in the normals being flipped. One way I tried to fix the normals was by selecting the grouped mesh and reversing the normals by going to Mesh Display > Reverse. This would completely reverse the normals turning the mesh black indicating that the normals are facing the interior of the mesh.
What I ended up doing was flipping the normals in the UV editor and that resolved the issue.
Flipping UV Demo
Another issue I ran into was that when I would select the M_metal_chrome_shiny material in the Hypershade, those materials would become highlighted in white as they typically would on the mesh but some parts would highlight orange. Then, if I were to look in the UV editor, the parts that were highlighted orange on the model were also highlighted in the editor and I would not be able to select them with the other parts. I have yet to find a solution/ reasoning for this problem.
Once the UVs were solid, I started working on creating textures! This is one of my favorite parts. To start, I exported specific parts of the bike that I was going to add textures to individual .fbx files. Then I imported the designated .fbx files into Substance Painter where I added the decals that I made or downloaded.
I downloaded the GT logo for the airbox tanks along with a .svg file of the written logo that is found on the bottom chrome tanks. I used a height and normal map to give the illusion that the surfaces had raised/ indented surfaces.
Week 06 Render
Rough Cut V02
Next, the plan is to refine and finish the textures shown above and create the tire texture and wrap up the camera shots/ sequence. I will also be meeting with Leny and Owen to talk about the audio track!
May 02, 2022 | Week 05
The main priority of this week was to nail down our camera shots. Now that we have a solid version of the model in our scene, orchestrating the shots we want in our final cut has been easier. Team Peach decided that Owen was going to work on the final shot in our sequence while Zhifan and I worked together to add additional shots within.
Zhifan and I met up in person and spent some time together focussing on new additions to our shot sequence. Keeping in mind that every shot should look picture perfect at any point, SHOT #5 was the perfect opportunity to display the logo that resides on the side paneling. We took advantage of the bar that runs through the bike and used it as a leading line within the composition to bring the viewer's eye from the logo to the back of the bike, just barely exposing the tail light and spring.
With SHOT #6, the main focus was showcasing the repetition of the geometry but not overcrowding the composition with its complexity. When Zhifan and I first worked on this shot, the model had our first shader pass on it and some of the geometry needed to be altered. We updated the shaders and model later in the week, and as a result, the lighting did not interact the same therefore we had to adjust the lighting accordingly. We ended up putting an additional light in between the brake disk and exhaust to illuminate the detail that was lost.
SHOT #6 V1
SHOT #6 V2
When arranging this shot, we found that there was some faceting in the geometry (specifically the spring) so I went back and smoothed out those edges to maintain the quality. Once the viewer sees flaws in the geometry, the photorealistic CG piece is no longer convincing and loses its believability.
With SHOT#1, we were inspired by an Apple Watch concept piece by Hunter Liu. Initially, we thought this could be a great way to start the sequence where the frame holds on black for a few seconds, and then the lighting brushes over the bike to highlight the refined geometry.
Lighting Reference - Apple Watch X Concept
When we introduced this shot to Owen, it was brought to our attention that the composition of the shot resembles a smiley face. I totally missed that until he brought it up and now I can not unsee it (thank you, Owen). Owen, Zhifan, and I spent some time arranging the composition together to see if there was a better way to approach the shot that highlights the speedometers. Below is what we came up with.
SHOT #1 V1
SHOT #1 V2
Owen, Zhifan, and I also spent a lot of time together figuring out the sequence in which the shots should go. We want this commercial to be seamless without any abrupt camera cuts or awkward lighting transitions. When organizing the shots, we are following the way the light moves throughout each and using that as our guide along with the motion of the camera.
Week 05 Render
Rough Cut V01
Spending time on the camera shots this week was a nice break from modeling but I did not fully step away. Owen is making progress on the shaders and with these up-close camera shots, we need the model to look as real as can be which means UVs need to be all set.
Currently, we have 21 materials.
I had never unwrapped a helix before and was having issues getting the UVs to be straight. After doing some research, I found two links helpful in successfully unwrapping a coil and one way to straighten out UVs that may not be completely straight.
Unwrap a Helix - Maya
Maya Tips & Tricks - Straighten UVs
The updates made to the model this week were determined by where the camera will be and the specific parts we will focus on. Any geometry that displayed faceting/low-quality modeling was a high priority for revisions. If it is not one of the main shots, it is not our primary concern right now.
* The shots below were arranged to display the updated modifications to the model and will not appear in the final cut.
Next the plan is to add the kickstand to the model as well as working on the shader/ material for the seat and the tire!
April 24, 2022 | Week 04
According to our schedule, the completed model was due this week. A majority of the model has been completed however, some minor additions and tweaks need to be made. Being at the beginning of the pipeline and working within a team that relies on me for the next steps has made me more aware of my decisions and the speed I work. I am detail-oriented, so it is hard to ignore the urge to model every detail within the subject matter.
The more I worked on the motorcycle, the more I realized that I have to trust that the textures maps will bring the same level of detail polygons would. In the beginning, I spent a lot of time adding tertiary details when I could have left that to the texture maps. Not only will that cut down modeling production time, but it will also reduce the number of polygons which is important when it comes to rendering.
The motorcycle is made up of a lot of parts, varying in all different shapes and sizes. There were two main approaches that I took when modeling the bike.
For the larger, more organic parts (fuel tank, seat, etc.) I modeled the basic shape with low polys and then converted the geometry using Smooth Proxy > Suvdiv Proxy. This gave me the opportunity to manipulate the low poly parent mesh, where I had more control while simultaneously viewing the new smooth child mesh.
Smooth Proxy Demo with Fuel Tank
For almost all of the other parts, I used Smooth Mesh Preview and then converted Smooth Mesh Preview to Polygons (Modify > Convert > Smooth Mesh Preview to Polygons) and adjusted the edge flow/ polycount accordingly.
I used this approach because Smooth Preview is non-destructive. If I were to bevel an edge to achieve the same effect, the edge flow could be inconsistent with the current mesh, with the chance of ngons being formed. Also, if I wanted to change the size of the bevel, I could go back into the history with the chance of it not working or manipulating it manually which can be time-consuming.
I did occasionally bevel smaller meshes like nuts and bolts.
This week, Team Peach also started to brainstorm the audio that we would like to pair with the final render. Yes, it is only Week 04 however, the sooner we figure out the audio, the sooner the camera movements/ cuts can be finalized.
As of now, we are thinking of a track that has a solid drum beat with an electric guitar, very rock biker vibes. Leny Shen who is a Fashion Design student at SCAD and part of the band, ambiwnt agreed to help us create a track.
Audio Track Inspiration
Week 04 Render
Look Dev V03
This upcoming week I plan on completing the UVs for the model and adding the rest of the parts that did not make it into this week's rough cut. I am also going to bring the model into Substance Painter and get the textures going! It is really starting to come together and I could not be more excited!
April 17, 2022 | Week 03
This week I have been focused on wrapping up the Continental GT 650 model. We are currently using a placeholder model we found on CG Trader, which has been very helpful during the previsualization process, but it is time to move on! It is important that we get the model into Unreal to move forward with the camera shots and lighting.
Below is our most recent render of the camera and lighting with the placeholder bike, created by Zhifan. The camera shots target different parts of the bike without exposing it as a whole until the very end. In addition, the slow-moving lights delicately highlight the contour of the bike giving the viewers a glimpse of the high-quality craftsmanship of the vehicle.
Even though the model is not 100% complete, the model was exported as an FBX and brought into Unreal so we can apply the shaders Owen has been working on. Before bringing the model into Unreal, I made a list of a majority of the materials that will be applied to the model and used that list to generate Lambert materials in Maya and assigned them to their corresponding parts on the bike. The material assignments are subject to change since it's still a work in progress.
During our feedback with The Mill Mentors, they suggested we change our HDRI in our Look Development turntable to fit the lighting that we will be using as opposed to the bright studio lighting we had before.
Look Dev V02
April 09, 2022 | Week 02
Reference, Reference, Reference!
References are so important, especially in the beginning stages of a project. Whenever I feel stuck, it's usually because I do not have enough references or the reference I am using is not giving me the information that I need.
Since I am modeling the Continental GT 650 Motorcycle from scratch, I went right to the Royal Enfield website to download as many images, with as many angles as possible. This will help me be as accurate as possible when it comes to modeling as well as texturing. After I was happy with the images I found on the Royal Enfield website, I downloaded more high-quality images from articles and websites.
I struggled to find reliable blueprints of the motorcycle to refer to for accuracy, so I used a series of images that consisted of the motorcycle in different views instead. I brought each image into Maya and paired them with their corresponding view. The photos didn't 100% match up, but I think I got them pretty close.
Since we are in the beginning stages of look development, I focussed on completing the fuel tank mesh so we can apply the materials that Owen and I have been working on and display them in our weekly update on Tuesday.
Below are work in progress screenshots of the fuel tank in Substance Painter with the various colors and names offered for the bike.
With the chrome tank (Mister Clean), I ran into some issues with the logo. I applied the logo using an alpha map; however, there's a subtle white stroke around the text that is not supposed to be there when I do this. The stroke is less visible when I deactivate the metallic channel, which I found interesting. Maybe it's because the tank is metallic?
In my next iteration, I plan on converting the image into a decal/ sticker and applying it to the mesh that way.
April 03, 2022 | Week 01
Hello there, and welcome to my SCAD x The Mill blog page!
My name is Julia, and I am currently in my second year at Savannah College of Art and Design, pursuing my MFA in Visual Effects. As part of the Visual Effects MFA curriculum, it is a requirement to take five electives. These classes have allowed me to explore many interests and expand my knowledge beyond Visual Effects. This blog is dedicated to SDGM 560 - Collaborative Experience in the School of Digitial Media, my last elective.
I was assigned to Team Peach 🍑 , with Owen Sun and Zhifan Wang, both Visual Effects majors and both highly interested in real-time software and workflows, like myself. Our professors, Deborah Fowler and Bridget Gaynor teamed us up specifically to utilize Unreal's software.
For this project, Team Peach decided that we are going to create an ad for Royal Enfields, Continental GT 650 Motorcycle.
Roles & Responsibilities
Below are some visual references/ inspiration for the project.
BMW Commercial in Unreal Engine
iPhone 8 (PRODUCT)RED™ Special Edition - Commercial
Camera & Cuts
Royal Enfield | SG650 Concept
The New Aston Martin V12 Vantage
The Continental GT 650 Motorcycle comes in five different colors so we thought it could be neat if, throughout the ad, the color transitioned through them all.
BMW Unveils World’s First Color-Changing Car
- Unreal (4.27.2)
- Substance Designer
- Substance Painter
- Realtime Raytracing
Maya > Substance Painter > Unreal Engine > Nuke