1- ---
2- title: Train Station
1+ ---
2+ title : Train Station
33type : art
4+ showTableOfContents : false
5+ layout : " simple"
46---
57
68I saw [ this] ( https://joshuaautumn.artstation.com/projects/qAmeAz ) picture on
79Reddit or something, and I decided to recreate it. There were other decorations
810I wanted to put in the train station, like a Goblin-themed vending machine and
911better-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
1214arranging the tiles by hand, I was able to use my level editor in Godot, then
1315snapshot 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
1921whether this is something that can be optimized in Godot's exporter or is a
2022restriction 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 >}}
0 commit comments