I recently watched the anime film Blame! on Netflix and really enjoyed some of the artwork, especially the environments.
So I spent a little time with Blender 3D and the default cube to create a very simple, stylized environment in the same vein.
To make the floor and ceiling, I scaled the default cube in different ways and duplicated it, many many times (about 1600 total cubes, I think). The environment is lit using three area lights – one far out in the distance, one above the ceiling to add more ambient light, and a fill light coming from near the camera.
The character is from Mixamo.com, a resource from Adobe for free fully-rigged characters (and even some pregenerated animations). I added an extra spotlight to the scene to add some focus to that character.
Finally, I used some compositing nodes to complete the scene. The “bright light” in the distance was added in the compositor using an Alpha Over node to add a bright color, and some additional blur to complete that effect. I used a Mist Pass to fake some atmospheric haze. I added a little Lens Distortion to better mimic a wide-angle lens. And lastly I added a RGB Curves node to make some final color adjustments.
It was fun putting together a full composition, even if the elements were actually pretty simple. The scale of the scene created the biggest challenge, which was lighting. The distant area light, for instance, is 15km wide and puts out 200 MW of power! I still think the lighting could be improved, but I’m happy with this fun little test.
One of my interests in 3D is generating cel-shaded images and animations. Blender supports cel (aka toon) shading and other non-photorealistic (NPR) shading methods through clever uses of node networks. If you’re using the Cycles render engine, you can even use the built-in Toon Shader.
But the Blender comes with a real-time render engine, Eevee, and it would be great to combine its fast render times with a cel-shading solution. Unfortunately, the Toon Shader BDSF only works with Cycles (as of v2.82), but there are some workarounds for using Eevee.
For reference, I rendered this image with Cycles with no light bounces. Both objects use the same single Toon BSDF shader and the ground plane uses a Principled BSDF. This one frame took over a minute (1:06) to render.
My test scene is lit with a HDRI image outside for global illumination and a single Sun lamp to add some directional light coming in through the window. I also added an area light in the window configured as a portal, to improve performance of the HDRI lighting inside the room.
One of the more interesting effects in 3D programs is volumetrics, which gives the ability to add mist, fog, atmosphere, god rays, and more to a scene. When I played around with LightWave and Maya in the past, I experimented with volumetrics but they came with a cost: significantly increased render times.
I started playing with some volumetric solutions in Blender 3D and unfortunately that cost has not gone away. When using full-blown volumetric effects, the render times go up 10 times or more.
In this first look at volumetrics, I am limiting my experiments to a quick outdoor scene I created, where I attempt to add an atmospheric light-scattering effect.
I started playing around with Blender 3D around the time 2.80 came out last year, and I am very impressed with the software. Although I haven’t dedicated enough time to it the last six months, I’m starting to focus more on learning the ins-and-outs of the software.
I’ve gone through some tutorials (including the entire donut tutorial, which I highly recommend if you’re trying to learn the software), so I feel pretty comfortable with the basics. Now I’m starting to play around with miscellaneous features, which will also give me more practice in the software. I plan on posting some of my experiments with Blender features here, as I learn about them.
First up: motion blur. This feature is pretty simple to play with, so I set up a very basic scene. It’s basically a light-saber, with a simple black handle and a cylinder “blade” with an emission shader.
The first thing to know about motion blur in Blender is that currently (v2.82) there are limitations with EEVEE, the real-time render engine. Although motion blur works if you want to blur due to a moving camera, you cannot blur based on moving objects. Since I want to test moving objects, I had to change the render engine to Cycles.
This is the first piece of fine woodworking I’ve done, and I am very proud of the finished result!
As I mentioned in the original post, I started with red oak plywood and boards. The vertical posts in the corners and between each column of drawers is solid wood; so are the drawer fronts, the trim, and the border around the top of the chest. The rest is plywood, although I tried to hide all of the edges of the plywood.
The weather here in the Midwest has been brutally cold and snowy, which has been preventing me from getting much work done on my woodworking project I mentioned a few weeks ago. I normally use my garage for cutting larger pieces of wood, but my garage has frequently been below freezing and often covered with salty sludge.
But I have at least finished one project: I needed to come up with a way for my wife’s new office to receive faxes even though she switched to Twilio SIP for phone. The solution I came up with uses a Raspberry Pi, custom Node.js code, and Twilio Programmable Fax for a (very) low-cost fax server that both receives incoming faxes and has a web interface for sending faxes.
The final result is available on github. Installation is a multi-step, manual process. And received faxes are stored in a Maildir format so that multiple computers can access the files through POP3 (which is probably not how everyone wants to retrieve received faxes). But the code is open-source and easy to modify, so it could be tweaked to meet your requirements if you need an inexpensive way to send and receive faxes without an actual fax machine connected to an old-school phone line.
If you install it for yourself, let me know what you think!
I finally have some free time again to spend on fun personal projects! I decided to try something a little more ambitious with woodworking, and I just bought all the wood I need.
The lumber yard pre-cut the larger pieces for me, so I could easily fit it all into my car. But since I was not sure of the exact final dimensions, I will still need to trim many of the pieces to an exact size before I can put anything together.
I have already started working this project, and I’m enjoying using my tools again! Stay tuned for updates on what I’m making!