Skip to content

Commit 50c3201

Browse files
committed
many changes
1 parent 3118b9a commit 50c3201

File tree

225 files changed

+10926
-151
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

225 files changed

+10926
-151
lines changed

assets/train.png

2.94 MB
Loading

config/_default/params.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ enableSearch=false
66
autoSwitchAppearance=false
77

88
[homepage]
9-
layout="page"
9+
layout="custom"
10+
# layout="page"
11+
homepageImage="train.png"
1012

1113
[article]
1214
showDate=false

content/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
---
33

4-
{{< list limit=10 cardView=true title="Technical Posts" where="Type" value="tech">}}
4+
{{< list limit=100 cardView=true title="Technical Posts" where="Type" value="tech">}}
55

6-
{{< list limit=10 cardView=true title="Art" where="Type" value="art">}}
6+
{{< list limit=100 cardView=true title="Art" where="Type" value="art">}}

content/art/characters/index.md

Lines changed: 21 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,42 @@
11
---
2-
title: Characters and Animation
2+
title: My First Character Models
33
type: art
4+
layout: "simple"
45
---
56

67
{{<video "showcase.webm">}}
78

8-
I have yet to spend a _ton_ of time character modeling. These characters are the
9-
best of what I've made so far.
9+
These are a few of the first things I ever made in Blender. It turns out
10+
characters are way harder than hard surface.
1011

11-
## Legfish
12+
### Legfish
1213

13-
![legfish wireframe](legfish-wire.png)
14-
15-
The first character I made. Inspired by a figurine my wife made with some
16-
leftover clay.
17-
18-
![skin workflow](skin.png)
19-
20-
For this, I used a [Skin
14+
Literally the first completed model I ever made in Blender. For this, I used a [Skin
2115
Modifier](https://docs.blender.org/manual/en/latest/modeling/modifiers/generate/skin.html)
2216
and [Subdivision
2317
Surface](https://docs.blender.org/manual/en/latest/modeling/modifiers/generate/subdivision_surface.html)
2418
based workflow. Joey Carlino has some great
2519
[tutorials](https://www.youtube.com/watch?v=DAAwy_l4jw4&t=2s) for this on
26-
YouTube.
27-
28-
The significant advantage is that we only work with a skeleton instead of actual
29-
geometry until the modifier is applied. This approach delays the need to think
30-
about topology, which was very helpful as this project was one of my first ever
31-
in Blender. The branch merging behavior confused me, so I avoided this workflow
32-
to have 100% control of the topology. In the future, I want to revisit this
33-
approach. Now, I am confident I can fix things by hand as needed.
34-
35-
## Cat Knight
36-
37-
{{<video "cat-run.webm">}}
20+
YouTube. A nice starting point, but a bit finnicky.
3821

39-
My first run/walk cycle! I'm proud of it. At first, I was resigned to using
40-
[Mixamo](https://www.mixamo.com/#/) because animation is too hard. Their library
41-
wasn't compatible with my stylized characters' oversized heads. The animations
42-
were too "real" as well. The model is cartoony, and the motion should be too.
22+
### Cat Knight
4323

4424
I read the first few chapters of [The Animator's Survival
45-
Kit](http://www.theanimatorssurvivalkit.com/) because winging it produced
46-
unsatisfying results. While my focus will never be animation, learning the basic
47-
concepts went a long way.
25+
Kit](http://www.theanimatorssurvivalkit.com/) because Mixamo animations look
26+
pretty bad on stylized characters, and winging it produced wasn't working
27+
either. I'm never going to be a professional animator, but it's nice to be able
28+
to throw things together for my own use. So this is my first run cycle.
4829

49-
![cat wireframe](cat-wire.png)
50-
51-
I box-modeled this mesh instead of generating it with the skin modifier. To make
52-
things smoother, I used Catmull-Clark Subdivision and then used the
53-
[Un-Subdivide](https://docs.blender.org/manual/en/latest/modeling/meshes/editing/edge/unsubdivide.html)
54-
operator to keep the amount of geometry manageable while still getting a bit
55-
more smoothness/roundness in the mesh. I got to try out some topology tricks at
56-
the knees and elbows to help them deform properly.
57-
58-
I just copied the head and cut out some parts to make the helmet. Same with the
59-
boots. I lifted the armor from the [Synty Fantasy
60-
Hero](https://syntystore.com/products/polygon-modular-fantasy-hero-characters)
61-
asset pack and played with the scale until it fit the character. I don't plan to
62-
keep it long-term , but it looks good enough for now.
63-
64-
## Gobgob
65-
66-
![gobgob](gobgob.png)
30+
### Gobgob
6731

6832
Because I already had a stylized biped base rigged, I reused that, modeled a new
6933
head, and stitched that on. After extruding the ears, I learned a bit about
7034
rerouting edge/face flow. I like him a lot.
35+
36+
{{< gallery >}}
37+
<img src="legfish-wire.png" class="grid-w50">
38+
<img src="skin.png" class="grid-w50">
39+
<img src="cat-wire.png" class="grid-w50">
40+
<video src="cat-run.webm" class="grid-w50" autoplay muted loop></video>
41+
<img src="gobgob.png" class="grid-w50">
42+
{{< /gallery >}}

content/art/kopitiam/featured.png

2.89 MB
Loading

content/art/kopitiam/index.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: Kopitiam
3+
type: art
4+
showTableOfContents: false
5+
layout: "simple"
6+
---
7+
8+
{{< gallery >}}
9+
10+
<img src="kopitiam_ext.png" class="rounded-2xl grid-w100" />
11+
<img src="kopitiam_int.png" class="rounded-2xl grid-w100" />
12+
13+
{{< /gallery >}}
2.42 MB
Loading
2.89 MB
Loading

content/art/train/index.md

Lines changed: 16 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
---
2-
title: Train Station
1+
---
2+
title: Train Station
33
type: art
4+
showTableOfContents: false
5+
layout: "simple"
46
---
57

68
I saw [this](https://joshuaautumn.artstation.com/projects/qAmeAz) picture on
79
Reddit or something, and I decided to recreate it. There were other decorations
810
I wanted to put in the train station, like a Goblin-themed vending machine and
911
better-looking torches. I needed to wrap it up and move on.
10-
To build the environment, I re-used the tileset that I made for my Wave Function
11-
Collapse level editor. Rather than copying the tiles into this blender file and
12+
To build the environment, I re-used the tileset that I made for my [Wave Function
13+
Collapse](/tech/wfc-02-advanced-wfc/) level editor. Rather than copying the tiles into this blender file and
1214
arranging the tiles by hand, I was able to use my level editor in Godot, then
1315
snapshot the scene using
1416
[PackedScene](https://docs.godotengine.org/en/stable/classes/class_packedscene.html),
@@ -19,69 +21,20 @@ scene, the exported GLTF contains duplicated mesh data. I plan on looking into
1921
whether this is something that can be optimized in Godot's exporter or is a
2022
restriction in the GLTF format. The `blend` file should not be 90 megabytes.
2123

22-
---
24+
I also played around with keying arbitrary properties and actually touched the
25+
Non-Linear animation stuff for the first time.
2326

24-
### Animation
2527

2628
{{<video anim.webm >}}
2729

28-
This was my first time doing a couple of things in Blender.
29-
30-
1. Keying arbitrary properties. The torches have their "Power" animated to go up
31-
and down. The phase offset on the wave texture is also keyed to increase with
32-
time.
33-
34-
2. Using the Non-Linear Animation Tool. Before I would just duplicate the
35-
keyframes for the duration of the clip. I wanted to repeat the idle animation
36-
of my character.
37-
38-
### Projection
39-
40-
![orthographic](ortho-train.png)
41-
42-
I personally liked using an orthographic camera for rendering as an art piece.
43-
44-
![perspective](persp-train.png)
45-
46-
Perspective projection gives much more of an "in-game" feel. It would be cool to
47-
make put this in a game someday. Maybe as a fast travel system like Hollow
48-
Knight's stag.
49-
50-
### Wireframes
51-
52-
![wireframe](train-wire.png)
53-
54-
One lesson I learned during this project is that it's probably not worth cutting
55-
holes in things that will never deform, and you can cover them using separate
56-
objects. It was also the first time I'd used the bevel modifier, and I needed to
57-
keep the topology clean enough for smooth shading.
58-
59-
![wireframe](train-wire-inside.png)
60-
61-
Although not strictly necessary, I did take the time to model the interior of
62-
the train.
63-
64-
### Texturing
65-
66-
![pallete](pallete.png)
67-
68-
To color, I used a simple palette texture. Entire faces are each assigned a
69-
color using this texture. Except for the "LCD" screen on the front of the
70-
train. While I referenced a Japanese subway train, I can't speak or read
71-
Japanese. I do like the style of Kanji here, and I a decent amount of Chinese,
72-
so I just put "火车站" (huo che zhan) meaning train station.
73-
74-
![emissive check](emissive.png)
30+
{{< gallery >}}
7531

76-
I wanted only the text on the screen to be emissive. It probably isn't the
77-
simplest solution, but I first thought to check for specific colors and plug
78-
that into the "emissive" socket of Blender's BSDF node. I ended up also using
79-
that for the lights on the interior.
8032

81-
![levitation](levitation.png)
33+
<!--<video src="anim.webm" class="grid-w50" />-->
34+
<img src="train.png" class="grid-w50" />
35+
<img src="ortho-train.png" class="grid-w50" />
36+
<img src="persp-train.png" class="grid-w50" />
37+
<img src="train-wire.png" class="grid-w50" />
38+
<img src="train-wire-inside.png" class="grid-w50" />
8239

83-
I didn't feel like modeling anything else. Instead of building the mechanisms
84-
beneath the train car, we will say, "It's magic." I decided to mess around with
85-
some built-in noise textures, and the Wave Texture node is pretty cool. I made
86-
parts of it transparent and most of it emissive. The result is decent. Plugging
87-
it into the volume output seemed fine in the render, so I left it.
40+
{{< /gallery >}}

content/art/train/train.png

2.94 MB
Loading

0 commit comments

Comments
 (0)