Thursday, October 23, 2014

Sorting Out Rendering Bugs

I have started focusing some of my time sorting out some of the bugs that were causing ugly graphics. Screen space reflections are an integral part of UE4's reflection system. It's starting to become a common tool in the industry, but the system still has a few bugs. When applied to dynamic objects, a distracting ghosting effect renders on screen. Thankfully, I spent a great deal of time developing the car paint shader. It is capable of rendering realistic chrome with realtime reflections. Using my own materials it is possible to retain SSR, by use of the environment assets, and assigning my material to anything dynamic.

There were also a couple other features in UE4 that needed some attention, to be better behaved. After all the tweaking, I found a level of quality which I am happy with. Here is a look at one of my test levels:


Monday, October 13, 2014

Rust and Grime


One of the last features I wanted to implement into the car paint shader, before submitting it to Epic, was rust. Now it's finished! The rust is driven through vertex colors, which means you can paint where you want the rust to form. It's still using parameters to affect the look. Which means changes can still be made at run-time! Here is an example of what an instance of the shader is now capable of. 


Sunday, October 5, 2014

A Couple New Shaders

I'm currently working on putting together a package for the UE4 marketplace, which includes the car paint shader. UE4 requires a minimum of 5 unique assets. I decided to build a carbon fiber material and a glass material which both take advantage of my reflections system. Take a look at the results! I am planning to have all the assets ready for submission by next weekend.




Saturday, October 4, 2014

Testing Out Vehicle Physics

Using Unreal's own vehicle physics simulator, I have put together a very rough blueprint to drive the bike. Because the physics engine is optimized for four wheeled vehicles, I will have to do a lot of tinkering to get the desired effect of riding a motorcycle. 

I've also discovered a bug within UE4. While using a scene capture actor with the highest render settings, there is a distracting ghosting effect. In a previous youtube video, I demonstrated the problem and since then, a quick fix hasn't surfaced. It is likely that the problem is hardware related. For now, using the medium detail settings within the editor removes the ghosting, which allows for my carpaint shader to function properly.

   

Monday, September 29, 2014

Car Paint Shader Improvements

I'm am finishing up the final features of the car paint material. Already, there is a functioning masking system and the added ability to use custom normal maps which affect all layers! The last couple of features I would like to add are: grunge/rust based on either mask or vertex colors, and maybe a rain layer. As soon as I implement a feature, there is another good idea around the corner. 

Here is a little preview of what's now possible with the system. 


Teaching a College Course

This news is slightly belated, but I am teaching a course in 3D composition for video games at Columbia College Chicago! It's really exciting to be back at Columbia, where students are learning the skills it takes to be a part of the industry. 

If you yourself are an aspiring artist, or maybe a developer who wants to learn their way around Maya, you can follow the tutorial series I give my students. You can find them on my youtube page: Asset Creation Playlist

Monday, August 25, 2014

Car Paint Shader - Tutorial

Over the summer I spent some of my free time developing the car paint shader which I plan on using in Cafe Races. Initially, it started out as a simple idea, but it quickly evolved into a massive project. It grew in complexity and the graphic qualities also grew. Now I have a system which can simulate hundreds of different types of car paints, and if you are a UE4 developer, I want to share it with you! The tutorial is being hosted here at CafeRaces.com you can find the specific page here: tutorial 

If you give it a shot, I wish you luck. The effort is certainly worth it!