I finished the animation course I was taking from CGCookie, and the last exercise is a full walk cycle with a bipedal character. CGCookie provided the fully-rigged character, so the exercise was completely focused on animating the full walk cycle, including translation while the character moved.
It was a fun exercise, and getting each little movement down to a believable action was challenging. Here’s the final result!
I started to dive into Blender animation techniques by taking the CGCookie Animation Bootcamp course. It’s a good introduction to the controls available in Blender for animation, along with a refresher on basic animation concepts.
For one of the exercises, I animated falling balls and had them interact with each other and the uneven ground. There is no squash or stretch yet in the animation: this is a straight-on shot with some simple translation and rotation changes.
It was fun getting the different interactions, and I am proud of the result. It has been quite a while since I opened up a graph editor and moved around keyframes and spline handles.
Here is my final result, using a simple viewport render straight to a video file (in other words: low quality).
I am still playing with Blender, learning more about the software, and improving my general 3D skills.
I bought a course on Udemy for creating 3D environments in Blender, which I have been slowly getting through. I have learned some new photorealistic techniques, but I also found that I disagreed with some of the steps taken by the instructor. Also, I ran into problems with scene complexity, where the scene had so much geometry and heavy texture images that I could no longer render an image on my GPU (video card). It also slowed down the GUI significantly, which made working on the scene painful.
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.