Carpet Tech
I was thinking about carpets. Specifically, the beautiful shag carpet in Event[0]:
extraordinary shag carpet in Event[0] pic.twitter.com/aT3A08H92H
— Brendon Chung (@BlendoGames) September 26, 2016
When I played Event[0], this carpet mesmerized me. It looked so fluffy and soft. Glorious. It is the bar to which I compare all carpets.
Right now I’m building Skin Deep. A few days ago I had a sudden realization: my game has carpets. I get to make carpets. This was extremely exciting.
FINAL RESULTS
Here’s the final results of my carpet:
And here’s how the carpet looks in the model editor:
It’s pretty performant (it consists of eleven polygons) and looks like a carpet! I’m very happy with it.
HOW IT WORKS
I don’t know how Event[0] made their carpets, but I had an idea of a possible way to do it. I remembered reading this tech writeup of the fur tech in Shadow of Colossus, and was always curious about attempting it myself. This carpet was my perfect excuse to do so.
Basically, my carpet consists of a series of layers:
Each layer is a flat plane. The texture is a bunch of dots, representing the carpet fibers. When you stack layers tightly together, it creates the illusion of a fluffy carpet.
Here are some animations of the layers getting stacked up:
Click this image to get a better look at how the layers stack up:
THE PARTS
I used eleven flat planes. Eleven was an arbitrary quantity – I think you could use less layers and it’d still look good.
I used three textures, each of them 1024x1024.
This is the texture used for the bottom five layers:
This is the texture used for the middle three layers:
This is the texture used for the top three layers:
There’s a few things happening here:
- Notice the texture gets more sparse as they rise higher. This is to give the carpet fibers some height variation.
- Dark splotches are overlayed on each texture. This gives the carpet the illusion of having distressed areas, valleys, and matted-down parts.
- At Ben Esposito’s suggestion, the carpet fibers start dark on the bottom layers and get brighter on the top layers. This baked-in lighting effect does a ton of heavy lifting in making the illusion work.
That’s pretty much it. This can be used for things like animal fur, hair, grass, foliage – try it out and see.
ET AL
When I was a kid, my dad told me that the more moving parts a machine has, the more likely something can go wrong with it. Whereas something like a hammer or screwdriver will almost never break, on account of them basically having zero moving parts.
Under the hood, video games are basically a writhing mass of a million malformed moving parts, hissing and teeming.
I like this “shell fur” solution a lot because of how low-tech and straight-forward it is. It is essentially a machine with zero moving parts. It is the opposite of a writhing mass. It is a solution that could’ve worked in 1996.
There’s something comforting and beautiful about that, and I love it.