065 - Learning to See

May 3, 2020

A couple weeks ago I started a new routine where I start everyday by modeling in Blender.

The guidelines were very simple. As long as I open Blender and move at least one vertex, it counts.

The idea was to bring the barrier to entry close to zero so that I could stay on the wagon and begin to build a habit.

So far I've completed fourteen days in a row.

At the beginning it required some motivation, but by now it's beginning to feel as natural as showering or brushing my teeth every day.

I'm enjoying watching my mindset and skillset evolve in real time as this deliberate practice has begun to shape my understanding of what 3d modeling is.

Learning to Think

My mental model of what 3d modeling is has begun to take form over these last two weeks.

Two weeks ago I thought that I was trying to make a human, and that's about where my ability to conceptualize what I was doing ended.

Today I see it differently. At a macro level, yes, I am trying to make a human mesh.

But within that are many different sub-problems.

It's similar to how someone new to programming might think that they want to "code a website", whereas the more experienced developer can peer beneath that directive and see the pieces of that puzzle at multiple levels of detail.

I now see that what I'm really trying to do is take some vertices and position them in order to approximate a shape.

To better approximate a shape you either need more vertices or better positioning of your existing vertices.

This sounds simple, but coming to this conclusion was a revelation for me.

When following tutorials the author would add an edge loop here or extrude a face there and I could never quite tell how or why they knew that they needed to do that.

Now the answer has become clear to me.

They were trying to represent a shape and their existing vertices did not allow them to do that, so they created more.

There are other considerations such as making the mesh easy to rig or easy to texture, so I'll need to build those factors into my mental model over time as well.

Learning to See

I've come to realize that complex meshes are comprised of many connected simpler shapes.

I'm beginning to be able to see those shapes in isolation.

When I see a hand I also see cylinders of different lengths, protrusions for knuckles each slightly above or below the other, and the lines where the hand bends into itself that will need their own sets of vertices.

Over time my ability to see the smaller structures within the larger structure will sharpen, alongside my understanding of how to quickly create and connect these sub-structures.

There's nothing to do but practice and improve.

Art Practice

In my morning practice sessions I'll work on modeling something. It might take a few practice sessions before I finish.

Two weeks ago each session was around 10-30 minutes. Now we're in the 60-90 minute range.

When I'm done with a mesh I throw it away and model something else.

Here's the first human I made over a year ago in #024.

Other than these last two weeks I haven't done much modeling since then so we can say that this is approximately where I was talent wise two weeks ago.

Old human model We all start somewhere.

Here's my most recent iteration. I called it quits before working on the head details, so it's an incomplete model but still a very big step forwards for me.

Human attempt Didn't do the ears or mouth, got to a point where I felt done with this attempt and wanted a clean slate.

After deleting the human I worked on making my left hand. What I'm happy about is that I did it without following any guides as I worked.

I just looked at my left hand and used my right hand to measure it.

For example, if I knew that something was about the length of my index finger then I could duplicate the index finger in Blender and to measure how long the thing should be.

Hand Really poor edge topology but I'm happy that I was able to do it without a tutorial. Practice will make perfect!

Next up I'm working on an elephant. I have a mini elephant statue in my apartment so I've put it on my desk and I'm modeling it by eye without taking any measurements.

Not that that's the best way to approach when modeling, but rather in an effort to continue to train my eye's ability to see structures and then re-create them with vertices.

Elephant Started working on modeling an elephant. First I'm blocking out the larger structures and shape, then I'll work on honing the details. I'll include the final mesh in next week's journal entry.

I'm enjoying practicing by using real things from the physical world as reference.

Maybe after the elephant I'll see about getting other figurines to model at a local shop or online.

Other Notes and Progress

  • Added a textured quad example to the metal-rs repository.

  • Got a few touches onto the renderer-metal crate within the Akigi cargo workspace. No renderer-tests passing yet, still setting the foundation. I don't plan to release a MacOS version of the game this year. I'm only working on the metal renderer backend so that I can start to build tooling for the game that doesn't rely on a web browser (since right now there is only a WebGL renderer). One of the first tools that I want is a function to render to a window or generate a PNG from any specs::World that I create. One benefit of this being that it allows me to more quickly iterate when working on user interfaces. Turning a specs::World into pixels is how the game already works, so I just need to enable myself to do it outside of a browser.

  • Abandoned my exploration of using GitHub Actions for Akigi as I couldn't figure out how to get one of the integration tests to pass and in general most things ran slower than they did in CircleCI. I still use GitHub Actions for my open source work and I'll try them again in Akigi in a year or two. I got continuous deployment to my Kubernetes cluster working this week so there is once again a forcing function for keeping the test suite passing at all times.


Our financials for April 2020 were:

itemcost / earning
revenue+ $4.99
aws- $148.30
adobe substance- $19.90
GitHub LFS data pack- $5.00
photoshop- $10.65
chinedun@akigi.com Google email- $12.00
total- $190.86

Our AWS costs have increased since we moved to our Kubernetes from around $110 per month to around $150+ per month.

A steep increaase but our total expenses are still in the cost bracket of other medium-cost hobbies such as a monthly martial arts membership.

I cancelled the chinedufn@akigi.com email so we should only get a smaller pro-rated charge in May.

Next Week

I'll be working on adding a few individuals to Jaw Jaw Island.

By the end of the week I'd like to have the Tutor of War in game along with his dialogue and the skills that he teaches you.

Cya next time!