The Making of a Blender car

Wow, a project I actually finished!

Since I started working on this car project, I’ve been getting a lot of positive feedback which really helped me move the project forward. It’s only fair that I return the favor and share a bit of what I learned here. (The full scene file including model, lighting, material and texture is available at my site)

The entire scene is rendered with the internal renderer in Blender 2.5.  As an artist, I want precise control over each elements of the scene, and the internal renderer allows me to iterate through test renders extremely rapidly to get the look I wanted. A photon-tracer like LuxRender would be too slow for me, with little extra return in image quality in my opinion.

Supposedly, like eyes to a human, car headlights defines the character of a car.  There is really no shortcut to making a sparkly looking headlight, I just modeled everything as geometry and applied a lot of reflection/refraction to the material.  As long as the geometry is there, all the cool effects happen automatically once you hit render.  i also placed a lamp at where the light should be, to throw in a bit of extra lumen.


A lot of that ‘cinematic’ look is due to post-production color correction.  Here you can see my postprocessing nodes setup.

For the animation, I rendered out the entire video at 1280×720, as PNGs.  Because PNG is only 24bit, extra dynamic range is lost, which made all the post-processing and cross-fading look half-assed.  Next time I’ll definitely render to floating-point EXR formats, which should help when I start applying more aggressive processings.  I also realized that a single computer is NEVER fast enough;  The 40 second clip would have taken 83 days to render on a single core, but with the help of 24 cores spanning across 4 PCs, I managed to push out the video in less than 4 days.  Dropbox made file synchronization embarrassingly simple.

A lot of the technical issues with the video (bad driving dynamics; black pixels; flickering) only cropped up last minute in the final rendering, at which point I am just too annoyed to re-render it.  So hopefully I’ll fix these distractions later and release a better version soon.

That’s it for now.  Hope you like what I have so far.

The perfect laptop!

I was window-shopping for laptops today and discovered the amazing Asus UL30 series.  It’s truly an amazing piece of engineering: it’s thin, it’s light, it’s fast, has an insane battery life, and pretty cheap.  Let me break down the specs for you non-geeks:

Core 2 Duo SU7300 Processor:
It has a 1.3Ghz (up to 1.7Ghz with TurboBoost technology), ultra-low-voltage processor manufactured on 45nm technology.  Which really just means the processor can do a LOT of work while barely sipping on your precious battery.  Honestly, it’s unbelievable how fast this processor is while using less than 10W of power.  [Compare with a 13 MacBook Pro: slightly slower, but uses 1/3rd the power)

Nvidia G210M 512MB and Intel 4500 Graphics:
This .93 inch thin laptop has TWO graphics cards.  The Nvidia G210 is probably the fastest graphics card available on a 13 inch laptop.  It's build on 40nm technology, and uses a max of 14W of power, which is still impressive for a graphics card of this caliber.  The Intel is slower, but uses even less power.  You can toggle between the 2 to trade off performance for battery life. [Compare with a 13" MacBook Pro:  The Asus is twice as fast, while using the same amount of juice]

4GB DDR3 RAM:
Also, the laptop can support a max of 8GB of memory, you know… in case you need that much. [Same as Macbooks.]

13inch LED-lit Screen:
LED also means it’s uses less power than regular backlights. [same as Macbooks]

12 hour battery life:
…or so Asus claims, you can probably expect 10 hours of real world usage, and maybe 4-5 hours of gaming/heavy 3D work. [much longer than the MacBook Pros]

Design:
Not quite on par with Apple’s drool inducing one-piece aluminum finish, but it’s one of the nicer laptops I’ve seen (once you get rid of all the stickers).  The design is obviously Macbook inspired.  And it’s really light and thin.

Price:
$800 USD.  I know you can get an even faster 15″ laptop for $900, but the battery life and portability also suffers as you up the screen size.  13″ with this amount of computing power is perfect.  It also comes with all the standard bells and whistles: webcam, bluetooth, 802.11n, and a half terabyte harddrive.

The bottom line:
if you are looking for a portable powerhouse, take a closer look at this laptop.  If you want raw power and don’t care about battery life or portability, skip this.

Update: I’ve had this laptop for almost a year now and am very happy about it.  It’s light enough to be carried everywhere, and with 8 hours of up time on the integrated video card (can be stretched to 10 if you are stingy on screen brighness or wifi), I don’t even need to carry the AC adapter unless I plan an overnight trip.  My only complain is that the screen has an absolutely horrific viewing angle, color shifts are common when viewed off-axis; and black is a muddy gray at best.  But once you plug this thing into an IPS display via the build in VGA or HDMI cable, the Nvidia G210M chip is beefy enough to play StarCraft II at medium settings.

OceanViz: A realtime Blender underwater visualization

I had been lucky enough to be a part of a very cool project taking place at the Fisheries Centre at the University of British Columbia.  In a nut shell, we are trying to create a 3D underwater visualization using the Blender Game Engine to display scientific data in a more pleasing way.  Basically translating a stream of mind-numbing data:

into something prettier:

The visualization data is coming from EwE6, a well-respected ecosystem modeling software.  Blender uses inputs such as biomass, water turbidity and light level to create a realtime visualization that allows the user to ‘swim’ around in the ocean, watch the schools of fish interact, and see their population change over time.

To accomplish all this, the project consists of 3 layers:

The server core does all the heavy computation while the visualization layer does all the graphics, AI, as well as user interaction.  To facilitate the communication across these two separate processes, a third layer (called the GameClient) is created, providing the bridge.

Being a Blender artist, my main focus is on the visualization layer: the Blender Game Engine.  In the following few posts, I will outline the process in creating this application, and describe some of the issues we faced.  Please leave a comment if you are interested, it will motivate me to write more :)

Tip: How to sculpt with 4 million polygons on a laptop

With these tips, you should able to drastically increase your polygon-count limitation while sculpting.

1. Get Blender 2.5 Alpha, also go for the 64bit version if you have 3GB or more of RAM.  2.5 is simply a lot faster and refined than Blender 2.49.  The tools and interface is also much cleaner and more intuitive.  Also, a lot of work has gone into optimizing the sculpting feature in Blender 2.5.

2. Start with a base mesh, then apply the multires modifier.  Do not use a default cube and rely on the multires modifier to do *all* the sub-division.  It’s always better to start with a base mesh with a few thousand polygons, and use multires with a sub-division level of 2-5.

3. Turn off “Double Sided” in the Object Data panel.  This will significantly speed up the redraw.

4. Delete UV texture data and Vertex Color data *might* help speed things up, but I don’t really know for sure.

5. Turn on VBO in the Preference menu.  This will further speed up drawing speed.  (Thanks Gustav!) Okay apparently it doesn’t according to another commenter, since sculpt mode already uses VBO by default.