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. 


May 16, 2022 | Week 08

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.

Model Updates

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.

Leather Texture Pass 01


Pass 01 in Unreal


Pass 01 Normal Map

Leather Texture Pass 02


Pass 02 in Unreal


Pass 02 Normal Map






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


Dynamic Movements

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.


Shot 01


Shot 03


Shot 05


Shot 07


Shot 02


Shot 04


Shot 06

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 08 Render

Rough Cut V03

What's Next?

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 07

Texture Time!

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.

Model Updates


After adjusting the model, I went back and worked on the UVs.

We are up to 32 materials now. 

  • M_airbox
  • M_airbox2
  • M_brake_disk
  • M_fuel_tank
  • M_glass_headlight
  • M_glass_speedometer
  • M_leather
  • M_lightbulb_headlight
  • M_metal_chrome_brushed
  • M_metal_chrome_shiny
  • M_metal_chrome_shiny_tanks
  • M_metal_gloss
  • M_metal_gloss_steering_lock
  • M_metal_gold
  • M_metal_light_grey
  • M_metal_matte_black
  • M_mirror
  • M_mirror_headlight
  • M_plastic_blinker
  • M_plastic_brake_light
  • M_plastic_matte
  • M_plastic_matte_handle_box
  • M_plastic_shiny
  • M_plastic_speedometer
  • M_plastic_suspension
  • M_plastic_switch
  • M_plastic_wires
  • M_radiator_vent
  • M_rubber_handle
  • M_rubber_tire
  • M_seat_tank
  • M_speedometer_dials

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.





Decals Created in Adobe Illustrator






Logo Decal






Logo Alpha


Steering Lock



Logo Alpha and Ignition Detailing Created in Adobe Illustrator








Week 07 Render

Rough Cut V02

What's Next?

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 06

Picture Perfect


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 06 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. 

  • M_airbox
  • M_fuel_tank
  • M_glass
  • M_leather
  • M_metal_chrome_brushed
  • M_metal_chrome_shiny
  • M_radiator_vent
  • M_metal_gloss
  • M_metal_gold
  • M_metal_light_grey
  • M_metal_matte_black
  • M_mirror
  • M_plastic_blinker
  • M_speedometer
  • M_plastic_brake_light
  • M_plastic_matte
  • M_plastic_shiny
  • M_plastic_suspension
  • M_plastic_switch
  • M_rubber_tire
  • M_speedometer_dials

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

Model Update

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.

What's Next?

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 05

Finalizing Model

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 05 Render

Look Dev V03

What's Next?

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 04

Look Development

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.



Rough Breakdown of Bike Materials

  • M_fuel_tank
  • M_glass
  • M_leather
  • M_metal_chrome_brushed
  • M_metal_chrome_shiny
  • M_metal_gold
  • M_metal_light_grey
  • M_metal_matte_black
  • M_paint_gloss
  • M_plastic_blinker
  • M_plastic_brake_light
  • M_plastic_matte
  • M_plastic_suspension
  • M_rubber_tire

Look Development

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.


Old - Bright Studio Lighting


New - Dark Studio Lighting

Look Dev V02

Generated by pixel @ 2022-03-11T23:59:17.715986

April 09, 2022 | Week 03

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.


Rocker Red


Ventura Storm


British Racing Green


Dux Deluxe


Mister Clean


April 03, 2022 | Week 02


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

Julia Epprecht

Modeling & Texturing

Owen Sun

Shader & Environment

Zhifan Wang

Camera & Lighting


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.


Paint transition reference


Owen is going to develop a shader in Unreal that can achieve the color transitions.

BMW Unveils World’s First Color-Changing Car


- Unreal (4.27.2)

- Maya 

- Substance Designer

- Substance Painter

- Realtime Raytracing

- Nuke


Maya  >  Substance Painter  >  Unreal Engine  >  Nuke