Friday, January 19, 2018

Cloth Cape on a character in Unity

I like the look of cloth simulation in games!

So I decided to put a cloth cape onto my 3D scan of myself.

First attempt took some tweaking, but is working quite well!

Takes a while to build and place the appropriate colliders on the player for the cloth to collide with!

I added colliders to the following bones...
  • Spine 1 (as the torso)
  • Spine 2 (as the shoulders)
  • Left Arm & Right Arm
  • Shield

Friday, January 12, 2018

Low poly 3D scan of myself in Unity - Mixamo rigging & animations

I'm excited to have discovered a workflow to get a fairly quick and easy 3D scan (using my HP laptop with a RealSense camera) of a person (myself in this case) to rig and put into Unity via Mixamo.

I feel that this may finally provide me with a workflow to have characters in my games.  I'd like to try making a GUARD character, by scanning someone dressed up in a costume as a guard, then apply animation to that, and work on the AI from there.  :D

Here I've reduced the poly count of the character from about 100,000+ down to 2000 polys.  I think I could keep it higher, and also tweak or stylize the texture more.  A good start, though!

Second iteration:

Tweaked up the pipeline a bit, and got a much nicer looking result.

Did a new scan with more suitable clothing and room lighting.
Then reduced mesh from about 200k polys to about 10k polys, using MeshLab which is super easy and great, and kept the texture intact! And used a 41 bone rig, instead of 21 bone rig in Mixamo (although still using some of my older 21 bone animations here, so not making use of the improved hands, except on the "Sword & Shield" guy.

Here's a more detailed breakdown of the workflow so far...


I use ItSeez3D (free), which is designed to just scan 3D models of people, so it automates that process quite well. You just stand the person somewhere with fairly even lighting, and start scanning. You basically just walk around the person in realtime, and you can see the mesh roughly forming around the person as you go. Takes about 3 minutes to get all the way around, starting at the face, then go around the head, torso, and then arms, legs, feet and finish. 

(We tried a few times to try to get an optimal scan - if you go around too many times it can start to add extra arms or heads out of confusion! So you kinda get the hang of the scanning process and the best pose to stand in (arms out a little bit, legs a bit apart - if you try for a full extreme t-pose, we were finding it kinda barfed - I think it's designed to just scan people standing at ease, which isn't great for getting a nicely separated rig pose.)

Then you can see a quick local preview in the app, or tap Final Model to upload your data to their server, it processes it and sends back the final model. That is a bit slow, and takes about 20 minutes of waiting - mainly because the upload is slow.

Then it spits out a 100k - 200k high resolution model and texture, which you can save as an OBJ.


This gives you a pretty-much-ready-to-go model and texture, with feet separated from the floor, etc. It's basically a fairly clean human scan.

The issues that I have with the data at that stage (for my purposes) are:

  • It's too high poly for my needs.
  • Possibly some of the mesh hasn't scanned clearly, such as the legs below the crotch being joined together a bit too much, or not enough separation between thumbs and hands, etc.
  • The UV mapping is OK, but there's generally a few places (under arm pits, between crotch, perhaps top of head) where it didn't quite scan the texture, or a strange seem occurs such as the camera's auto-exposure causing a light part being butted up against a dark part, for example, or just a jaggy seem here or there).


So, I'm trying to simplify the steps as much as possible, but currently, I solved these issues by:

  • I used Mesh Lab to open the high poly mesh, and save it out at 10k polys. And it automatically does that in a few seconds, and keeps the texture mapped correctly! Easy, free, quick! Takes about 2 mins.
  • I opened the OBJ in Maya to tweak a few places where I didn't like the mesh separation. I had an issue where the legs were joined together a bit too high up. Tweaked it by hand. Took about 3-5 mins, just moving verts with soft selection.
  • To tweak the texture, I loaded it up in 3D Coat, and used Clone paint tool to clone things around to patch up any bits (under the arm pits, etc) that came out white, or something. I just clone nearby bits of the texture over it to cover it up. (Generally these things happen in hard-to-see places, so it worked fine to do this fairly roughly.) Took about 3-5 mins. Exported the texture again from 3D Coat.


So, my issue with the process so far is mainly just 3D Coat. I can use that at work, but I don't own it myself. So I'd love to replace that part of the process with something free! Then it'd be a very straight forward process, all using free software.

Currently, it would take about 60 minutes to scan someone and have them in Unity with their mesh and texture cleaned up a bit, including waiting about 30 mins for the initial scan to get processed through ItSeez3D.

Tuesday, December 26, 2017

Lofi Epic - Dev Log #3 - Magic Portals

Here I've added MAGIC PORTALS!

The player can see through the portal into the other location, and they can also jump through themself.

I am still developing the actual ideas of what to do with my portals in the game.  Yet to be finalised!  But these are just test ones for now!

Saturday, December 23, 2017

Lofi Epic - Dev Log #2 - Guards, Animals, Banners, Portals

Here I've added...
  • Some GUARDS with basic detection AI.  (They detect you based on whether you're standing in the light.)
  • Some ANIMALS with basic ecology AI (they get hungry and thirsty, and go to eat and drink as needed.  They flee from you if they detect you).
  • Added CLOTH BANNERS that blow in the wind.
  • A basic DAY/NIGHT CYCLE.
  • I wrote my own cross-platform CUSTOM PLAYER CONTROLLER.  I'm using InControl so I can support Windows, Xbox One, PS4, etc.  It has support for keyboard/mouse, or gamepad.

Wednesday, November 29, 2017

Lofi Epic - Dev Log #1 - Map Blockout

This is a prototype I'm building, which might become my next released game.

It's working project title is "Lofi Epic", because I want it to feel epic and meaningful, to have a resonant story with a good start, middle and end, but to be able top produce it as a lone developer, it has to be lofi!

Here I've blocked out the map for the game in very rough terms.

Monday, November 20, 2017

Lofi Epic - Dev Log #0 - Map Foundations

This is a glimpse of the first steps of putting together my Lofi Epic prototype.

I started by blocking out the map based on an old piece I did in high school in 1995!

I always intended this map to be fuel for a game, or a book (or even a movie or TV show).

So here goes!

My concept for this game is for it to be an "immersive adventure game", taking a lot from the immersive sim genre, but also from adventure games such as King's Quest 3!

Follow along to see the progress.

Saturday, November 18, 2017

Werewolf in the Wild - Development Oddments

Werewolf in the Wild - Development Oddments

Here are some old screenshots I found from the time I spent developing Werewolf in the Wild in 2016.

I liked 'em, so here they are.  :D