SCAD x TheMill | SCAD SDGM 560 Collaboration
Updated: Jun 2
Hi, My name is Owen Sun and welcome to my SCAD x TheMill blog.
Through this ten week course, SCAD students will be working closely with professors as well as industry professionals from The Mill. The goal of this collaboration is to have students get used to working as a team in an professional environment, from developing a pitch all the way to presenting the final product. Our prompt is as follow:
Create a production-quality vehicle advertisement using visual effects.
Working with me on this project are Julia Epprecht and Zhifan Wang, we were put together as a team by professors Bridget Gaynor and Deborah Fowler due to our combined interest towards a real-time workflow, and to use Unreal Engine as a visual effects medium for photorealistic images.
Here are their blogs for this project:
Our team decided to create an advertisement for the GT650 from Royal Enfields.
There are two things that I have accomplished this week, first is look dev turntable of the 5 shaders we will have for the color changing effect. And second, a paintable water puddle layer for our ground.
Using the "Automotive material" pack from the Unreal market place as a base, I customized the shader network and created the 5 shaders seen in the look dev below. The 5 shaders consist of the same base material, but varies in terms of glossiness, metal flakes, and the imperfections from the car paint. Julia did a priority job on modelling and texturing the fuel tank, in time for our week 3 presentation. The next step for these shaders will be to built into a color changing shader with parameter control.
Water puddle shader
From the Megascans plugin, I've utilized MF_PuddleLayer inside the SurfaceBlend_MasterMaterial to create the water puddle on the ground. This blend material allows the user to mesh paint a material on top of another one. In my case, I've used it to paint the puddle on top of a concrete material.
In order to create the blend material, it usually uses two or more material instance, but since we only needed concrete as the base, I just created a dummy material instance to bypass it.
Select 2 or more material instances from your library, go to Megascans from the toolbar and click on "Create Material Blend".
From there, activate the puddle layer and adjust the parameters. This will allow the user to paint the puddle layer using the Blue channel in Mesh Paint mode (Shift-5).
One important note, in order for the mesh paint to work, the subdivision of the mesh must be high. The default geometry from Unreal will not work.
This week was a lighter week for me. While Julia is finishing up the modelling of the motorcycle, I began creating shaders for the rest of the motorcycle, and creating the look dev in our own environment.
Currently, the biggest note is that due to the lack of detail in our scene, the shaders are looking rather flat. Our plan is to add some geometries like pillars and a roof to our scene to help the with the visual interest in the reflections.
We also mentioned potentially using an HDRI for the reflection capture, but we were not sure if that should be our first approach.
This week I focused on volumetric and fog, I originally started with fog cards with a depth fade, as I thought it would provide a more controlled environment for our render. However I've ran into the problem that the card would create a nasty edge on the ground even with "cast shadows" turned off. I've tried mask it with opacity, but ultimately decided that it is not the way to go.
Then I moved to creating a Niagara fog system, while it gave less physical control over the fog, the extended parameters like spawn rate and opacity curves proves to be much more helpful in creating the fog we want.
Here is our Week 4 progress:
In terms of the overall project, our team had a discussion about the next step, mainly concerns towards syncing the camera with sound design, as well as how the color change would come in play.
Our primary concern is that since the main focus of the Unreal team is to create a photorealistic sequence, having a color changing shader that is not feasible in real life would break the immersion. We do still want to incorporate the color change into our sequence and showcase the whole lineup of GT650, but we are stuck in terms of camera transitions that would be coherent with the rest of the sequence.
We have been in contact with a few sound design people, and decided to go with the direction of grudge and alternative rock, with strong bass lines and electric guitar. They also suggested a chord progression to aid the color change transition.
This week was a little bit different. After hearing the feedback from the mentors, we decided to have all hands on deck to work on the camera and sequence, to focus on the composition of each frame as well to adjust the motion of the sequence. This way we would also be able to lock it down for the sound design students to get a better direction as well.
Currently, the biggest hurdle is with the final product shot. We struggle to find a composition and lighting setup that showcases all 5 bikes without showing too much empty space. These were the last two that we were considering on.
We landed on the first one at the moment, but we are definitely continuing on finding a better composition that ties in with our close up sequence better.
After hearing the mentors feedback, I am on camera duty this week, to add a few more ambiguous close up shots of the motorcycle for the start of the video.
Of the two shots, we think that the first one is much more effective at highlighting the details of the motorcycle and following the visual language of our overall sequence. I thought that the second shot would be interesting in providing some contrast to the rest of the shot, and so we will keep it in for now for the mentors feedback.
After hearing the feedbacks from the mentors, we decided to keep the engine shot and to scrap the second one. At this point we have a pretty solid idea of the final render sequence and started on locking down the sequence.
Additionally, Julia and I have been working on textures and shades for that extra details such as the bumps and logo on the motorcycle and just in general fine tuning some of the shaders based on the camera angles that we have.
Currently, the biggest hurdle we have is with the leather seat and the rubber tires. While we are able to merge the bump normal map with the texture normal map, we lack a lot of control of both that results in a lot of back and forth between Substance and UE4.
A lot of breakthrough were made this week in terms of the shaders of the motorcycle. Firstly, there was a lingering problem where we would need to blend two normal maps for a bump on the geometry as well as the general pattern.
With this shader network setup, we now have control over the both normal maps' intensity, to further fine tune them based how they appear on our camera.
Bump on logo with car paint normal
There was a reflection issue with the metallic shaders would show up like lambert. It turns out to be a setting with material function that defaults roughness to be 1 when ray tracing is turned on. Fixing that gave us back a lot of the detail that was missing from the ground, but it turned out to also be a lot of visual noise.
Roughness at 0.2
Roughness at 0.6
We decided to increase the roughness of the ground from 0.2 to 0.6 right now, but the next step would be trying to maybe use a different material, or add a normal map to break up the ground a bit.
Aside from that, here are a few more changes that we have addressed but not been able to implement into our update for week 9 just yet. Namely the faceting of the speedometer and the curved lines caused by the roughness map on the leather seat.
After weeks of iteration and hard work, I am proud to present our final video.
It has been an absolute blast this quarter working with the mentors from The Mill, the professors, as well as my fellow peers. I have learned so much from this past ten weeks both in terms of technical knowledge and soft skills from working as a group. Thank you to everyone that is involved and you for reading my blog!