Character Creator

I have completed another small project for a larger game project I am contributing to. This project is a 3D character editor for a sports game. The screen shots below show the progression from the original draft to the final version.

This was a fantastic introduction to the visual scripting system Playmaker as well as a good project for drilling deeper into Unity’s UI canvas.

Here is the first draft of the editor scene:

And here are screen grabs from the completed scene:




You can also try out a low-resolution WebGL build by clicking here.

Fixing “Headlight Nostrils” in Adobe Fuse / Mixamo

One of the first things I noticed when importing Adobe Fuse models into Unity was that all of my characters seemed to have super-bright nostrils. Notice the brightness of the nostrils in my “Jill” model above.

A relatively easy way to repair this is to open up the character’s prefab and locate the body diffuse map (in my project, it was Jill_Body_Diffuse.png). It took me a while to figure out where the nostrils were, but they are above the “head” in the texture map, as indicated in the image below (note the red arrow).

For a quick and dirty fix, open the image in your preferred image editor and darken the nostril areas. The key is to do this iteratively with a soft brush and low opacity. I just did one quick pass, and already the results are better.

Feel free to play around with my Jill model:

Download:

[Jill Unity Package]

Source Control in Unity

It’s been a minute since I’ve used source control tools on mid-to-large sized software projects. Back in the day, we used Perforce and I recently revisited Perforce (which has a nice, free package for small teams). Plus I believe Unity has built-in support for Perforce integration. But I simply could not get it up and running.

Next up I considered using Github, which I have used more recently for a number of (small) Angular projects. The Github workflow took some getting used to, but I did finally get the hang of it. However, I closed my paid account last year (the paid account allows, among other things, private collaboration).

Until I take the plunge for a full, paid Unity license(s), I’m looking for a source control solution that is inexpensive (or free) that isn’t too complicated to get set up and running. Thankfully, I found this tutorial on the Unity website:

Creating Your First Source Control Repository

The gist of this setup is that you use these three tools:

  • Bitbucket: A free repository for small projects
  • Git: A popular source control system, integrated with Bitbucket
  • SourceTree: A user-friendly GUI that works with Git and Bitbucket

I was able to get a sample Unity project up, running, and synced in just under ten minutes. I’m able to commit changes and push to the repo. Still trying to figure out how to rollback to a previous commit, but for now, this looks like a nice, clean solution for collaborative source control.

* Update 4/21/19: After much trail and error, I decided to go back to GitHub and GitHub Desktop. I couldn’t get Bitbucket and SourceTree to work across multiple devices (though the was likely due to how I had things set up on my Mac and Windows boxes). Additionally GitHub now offer collaboration on privates repositories on its free plan.

Fallingwater

My first playable Unity project is called Fallingwater. This is based on a fantastic LinkedIn Learning (formerly Lynda.com) tutorial showing how Unity can be used not just to build games, but other things like (in this case) visualizing architectural models in 3D.

The centerpiece of the build is Frank Lloyd Wright’s Fallingwater, one of America’s most iconic architectural achievements. It is included among Smithsonian’s list of “28 places to visit before you die,” and the house was designated a National Historic Landmark in 1966. You can read more about Fallingwater here.

The build is playable, although not very polished. There are performance issues, some clipping, and the controls aren’t very crisp. Still, it looks pretty nice, and it was a great introduction to Unity basics like importing assets, lighting, cameras, controllers, and colliders.

Here are some screenshots:

After completing the tutorial, I challenged myself to figure out how to add the following features (strictly using documentation and online resources, mostly YouTube videos):

    • Build the game for Windows and WebGL (native build was for Mac)
    • Build and deploy to Xbox One devkit
    • Import Oculus Integration from asset store and make build playable in VR
    • Add some polish to the launch menu and launch process, adding custom logos and art as well as a custom app icon
    • Add ambient music (I used Joe Jackson and Steve Vai’s beautiful rendition of Duke Ellington’s Isfahan) and a few sound effects
    • Add a very basic options menu
    • Add an LCD (screen) model inside the house that plays a looping video with accompanying audio

I was able to kinda / sorta get all of the above extras working (although the VR made me nauseous lol). However, I didn’t have much success deploying to the Xbox, even though I have been able to do that with a different (2D) project.

I’ll probably put this project “in the books,” but two things I would like to revisit are 1) making the audio from the video player get louder as you get closer to it, and 2) toggle on/off individual Unity post FX in the options menu.

You can check this out for yourself at the links below (heads up: Windows and MacOS will probably complain about the apps being unsigned, but they will still run).

Downloads:

[Mac OS build]
[Windows build]
[WebGL build]

* Note that there are no performance optimizations for these builds, so unless you have a AAA gaming rig, I recommend dialing down the resolution and quality settings – like WAY down 🙂 The WebGL build has all post FX disabled, and the video player may not work.