Fast Environment Rendering Study: Warehouse
A study of a warehouse, made to practice a design toolchain for quickly producing reusable environments. Krita, Illustrator, Photoshop, Blender, and Godot.Ceres Miller, 2023
I worked out this process for speed, to produce detailed-looking, modifiable environments easily. Environments are made up of 12x12 unit tiles. By splitting tiles up into descrete parts, usually material by material, and reusing them over and over, rooms of variable shape and size can be created while avoiding lots of hard drive calls that make rendering more time-consuming.
Overall the modelling, texturing, and assembly of this warehouse took 4 days.
The files for this study can be found on my Github. If you look at them, you will need to generate the lightmap using GIProbe in Godot yourself, as it takes up 700mb, so I didn't upload it.
Showing the wireframe, the warehouse is made up of repeatable parts. A 12x12 unit standard means that proportioning repeatable pieces is easy, and textures (1024x1024px) are pixel-accurate to the model at many sizes.
I made all the meshes in Blender and textured them there. I exported them from Blender as seperate .glb files based on the texture, which makes UVing much easier. I didn't spend a lot of time fiddling with UVs and accepted just using flat, repeating textures for most things, because I'd rely on using lots of simple meshes to add depth because polygons don't cost much performance wise. Godot can generate AO and shadows for models in-engine, so letting Godot do that for lots of simple geometry instead of painting a lot of detailed textures for models is a lot faster and makes a pretty good result.
In Godot everything is a scene, and scenes can contain scenes. So to make a lot of different wall pieces, I only need to have one 12x12 tile or piece for each wall, floor, ceiling section or object. I assembled the model pieces from Blender in Godot to make a variable tileset I can use for environment construction.
I made all the textures with image compositing using procedural noise, scans, and painting.
If I need textures with shadows, I can model the material's shape in Blender and apply a flat texture to start with, and by rendering an orthographic view of the model directly onto an image I can get textures that appear 3D. I can get multiple image maps out of this model (normal, AO, height) that Godot or any other rendering software can use to do Physically Based Rendering (PBR). These textures provide a lot of complicated detail and depth by having pre-rendered a lot of the lighting.
These are techniques and methods that I picked up over a long time, by working out what I enjoyed doing and where my skills are. For texturing, I could have used a parametric software like Substance Designer, which I have played with before, but found that for most things, just working with images in Photoshop was faster.
Fast Environment Rendering Study: Tables and Chairs
Studies of environmental clutter made quickly. Photoshop, Illustrator, Blender.Ceres Miller, 2023
I kept the polygon count of these studies as low as possible because I wanted to see if I could draw lots of pipes using just four faces, i.e. cylinders with a square cross section. Almost all modern rendering software will render surfaces with a sort of bezeled edge, so that models look rounder and more detailed. I wanted to know if I could use this to draw pipes quickly freehand in Blender, and so made village hall chairs and a folding table.