In our last post we talked about our plans to update the look of Cecil, the main character in The Phantom P.I. Well I'm happy to report that the operation was a success and that Cecil made it through the process without any serious complications.
Here's a side-by-side comparison of old vs. new Cecil models in the game:
The big changes to look for are: he has ears, sideburns and a nose and we scaled up the mustache. We're also thinking of scaling up his bangs.
The next problem to solve is that the character looks pretty flat in the game and he doesn't really stand out against most of the backgrounds. All of the lighting information in the game is baked into the static textures and all dynamic objects (like the player) receive lighting information from Light Probes. While the light probes do a great job of helping dynamic objects look like they're moving in and out of light correctly, they're not all that great and showing finer shadow details like you'd expect to see on a main character. I've been searching around for a good mobile-optimized shader solution for a while and then yesterday the Toony Colors Pro shader pack was on sale on the Unity asset store so I thought I'd check it out.
Using the Toony Colors Pro/Normal/OneDirLight/Basic shader with the "old school" ramp and 1 dynamic directional light, you can see that Cecil "pops" much better in the scene without being all blown out like you get with just Unity's default mobile diffuse shader and a directional light. He also has nice shading across his contours thanks to the ramp texture.
Next I'll be adding a "blob" shadow under the player to help root him to the wold. For that I'm going to try to use Fast Shadows (also on the Unity asset store), but I haven't looked into it enough to know for sure how well it'll work in this game.
If you have any tips on character shaders or lighting, let me know.