Johnny’s Workshop

May 14, 2008

Lightning strikes! Kablammo!

Filed under: Photographs — april15th @ 4:23 am
Tags: , , , ,

Not many people know that I have freakishly good reflexes. I do, though. How else could I have taken all these lightning photographs on Australia Day, 2005? Huh?

(Click to enlarge)

Geelong, Australia Day (2005)Geelong, Australia Day (2005)Geelong, Australia Day (2005)

Geelong, Australia Day (2005)Geelong, Australia Day (2005)Geelong, Australia Day (2005)

Geelong, Australia Day (2005)Geelong, Australia Day (2005)Geelong, Australia Day (2005)

A keen observer may notice that their resolution is the same as the PAL video I record with my Panasonic NV-GS200 digital video camcorder but that’s just a funny coincidence. I probably chose that resolution when I was resizing the images in Photoshop or something. Did I say “images”? I meant “photographs” …

May 13, 2008

My very first YouTube video.

Filed under: Battlefield 2 — april15th @ 3:09 am
Tags: , , , , , ,

I really don’t care for that title but every time I substitute it with my original choice – “Here’s a nice piece of SHIT!” – I feel guilty for using bad language.

Back when I was deeply immersed in the world of Battlefield 2 machinima, I felt contempt for anyone who posted their work on streaming video sites. I wanted crystal-clear, high-quality versions of everything. For a while there, was the most oft-used of those streaming sites but then YouTube arrived on the scene and everyone started posting their horribly-encoded, low-res crap there instead.

Eventually, I, too, was lured in by YouTube’s siren song but I vowed that I would always provide people with high-quality versions of the same clips. All they had to do was ask. (No-one ever did.)

My very first video was posted almost two years ago to the day and has since racked up 7104 views. To put that into context, there’s a ten-minute video on YouTube called Watching Paint Dry; it’s exactly what its name implies and it has amassed 39,720 views. Quite an indictment on the quality of my own videos.

Speaking of which …

The clip was actually a response to someone’s request on the TotalBF2 forums. The game had just been patched to include vehicle drops and someone had asked whether or not it was possible to exit a flying jet or helicopter and then land in an air-dropped vehicle before it reached the ground. I can’t remember how many times I tried it before finally succeeding. Maybe it was five. Maybe it was fifteen. When you think about all the pain and suffering in the world, though, does it really matter? What’s important is that I had a problem (my abject disgust for low-quality streaming video) and I overcame it … the feel-good story of the year.

May 3, 2008

The Hypno-Orb.

I’m back. Don’t pretend you haven’t missed me.

For the past month-and-a-half, I’ve been refining the workflow needed to composite computer-generated images into real-world video footage. I thought I had it figured out months ago but for the very first time in my life, I was wrong.

The techniques involved are reasonably complex, so for the foreseeable future I’m going to practice all the steps and revise my notes over and over again until they’re perfect. The human resources folk at Village Cinemas devised an effective way to keep any part-time projectionist work from slowing me down, so that’ll help, too.

The clip below was created using a number of the techniques I’ve been studying, including match-moving and high dynamic range image-based lighting, so it has a touch of photorealism, despite the mistakes I made:

Except for the reflective sphere, everything in the clip is real. Well, everything except the Hypnotoad sound effect. Originally, the clip was silent but with the presence of an unusual noise, there’s at least a small chance some mindless, drug-addled YouTube visitor will see the video and become confused and/or frightened.

November 15, 2007

UFO Design.

Filed under: 3ds Max 9 — april15th @ 3:32 pm
Tags: , , , , , , , ,

Ever since posting that woeful UFO picture on April 1st, I’ve been meaning to use 3ds Max to come up with some better UFO designs.

No-one’s impressed any more by simplistic-looking flying saucers. They don’t want to see a lamp shade held up by barely-visible string or a nicely-thrown hubcap. They want to see something cool; something Barzloff-esque so that they hesitate for a split-second before writing “FAKE” into the video’s Comments section.

My Uncle Ben always used to say, “With great 3D applications and post-production software comes great responsibility,” and in the years since he was gunned down by street hoodlums, I’ve gained a much better appreciation for what he meant.

For most of the past week, I’ve been suffering a bad cold and sore throat, so I’ve happily devoted less time toward studying and more time toward projects requiring no serious thought, including this new UFO design. The work was very stimulating, mind you, because it was all done whilst listening to lectures about the decline of the US dollar, the arrival of peak oil (and its catastrophic consequences) and the possible collapse of the US economy in the near future. The lecturers were kind of hazy on the details but essentially we’re all doomed.

Anyway, check out my UFO design! As you can tell, it’s a work in progress and not at all complex but WIPs can be fun to share, too.

November 10, 2007

Battlefield 2 in Real-Life.

Edit: The tutorial on getting Battlefield 2 models into 3ds Max is now available here:

Keen to put my patience to the test, I recently forced myself to learn the process of importing BF2 models into 3ds Max 9. I figure it’s another skill that’ll look great on a résumé; especially when applying for a job in which the ability to import BF2 models into 3ds Max 9 is a vital prerequisite.

BF2 models aren’t as high-poly or nicely-textured as those found in HL2 but they look fairly realistic nonetheless; especially when rendered using HDR Image-Based Lighting:

F35b BF2


I’ll try to do something creative with them soon and hope that Electronic Arts doesn’t sue. Not that you can get blood from a stone …

Click to enlarge:

October 25, 2007

Getting Half-Life 2 Models Into 3ds Max

Yesterday, via one of my YouTube accounts, I received an unexpected missive from a young fellow named Charles who was keen for information.

Charles wanted to learn how I’d managed to get certain models from Half-Life2 into 3ds Max. Hopefully, he won’t mind my inclusion of the message in this post:

Mainly because Charles asked so nicely, I’ve decided to write out what I hope will be a comprehensive, relatively easy-to-follow tutorial on the subject.

Generally-speaking, I hate online tutorials. Too many of them gloss over crucial information and assume the reader has prior knowledge that he/she usually lacks. Far better, I always say, to include too much information than nowhere near enough. In the movie Philadelphia, Denzel Washington’s character, Joe Miller, says, “Explain this to me like I’m a four-year-old,” and I think that’s a good quote to keep in mind when trying to impart certain types of knowledge.

So, here goes …

What You’ll Need:

Half-Life2 | The PC game. Obviously.

Source SDK | The Source Software Development Kit. Download this via Steam.

3ds Max 6/7/8 | (There is an SMD Importer for 3ds Max 9, too. Visit THIS post for the details).

GCFScape v1.6.6 Full | Extraction tool used to glean desired files from HL2‘s .gcf files.

VPK Tool | Tool used for conversion of .vtf files into .tga files that 3ds Max can handle.

MDLDecompiler Version 0.5 | Decompiles the .mdl files extracted from Half-Life2.

Max 6/7 SMD Importer | A plug-in for 3ds Max. Allows the user to import .smd files.

(At the time of writing, all those links were valid. If you’re reading this months from now and some of them are no longer working, let me know and I’ll do an update.)

Downloading and Installation

Everything listed above has to be correctly installed if you’re to stand any chance of success. Installing 3ds Max and Half-Life2 shouldn’t be an issue and I’ll assume anyone reading this tutorial already has both installed, anyway.

The Source SDK is to be downloaded and installed via the ‘Tools’ tab in Steam:

GCFScape, VPK Tool, MDLDecompiler, and the SMD Importer can be accessed via the links above. After clicking the links, initiating the downloads is fairly straight-forward but just in case, here’s a badly-presented table that shows exactly what you’re after:

The SMD Importer is a plug-in for 3ds Max 6/7 (it also works for Version 8 but not Version 9) and basically adds files with the extension .smd to the list of files that can be imported into 3ds Max:

All you need to do is extract the smdimp.dli file from the smdimp_max6.v013a.rar archive you’ve downloaded, then move the file into your 3dsMax\plugins folder:

From now on, you’ll be able to import .smd files into your 3ds Max scene(s). Nifty, eh? Another thing you must do is move the mdldecompiler.exe file into your sourcesdk\bin folder:

Okay, moving on …

Extracting the 3D Model from Half-Life2

For this tutorial, I’ll explain how to extract the Strider but the same principles apply for the other 3D models. For some models, it’s a bit more of a challenge to find all the associated files (due to Valve’s naming conventions) but this guide should lead you in the right direction.

01. Create a ‘destination folder’ and give it an appropriate name, eg. Strider. This is the folder that will eventually contain all the files associated with the 3D model:

02. Navigate to your \Valve\Steam\SteamApps folder. This is where all the game cache files (.gcf) are stored:

The ones of interest to us are the source models.gcf and source materials.gcf files.

03. Double-click the source models.gcf file to open it within GCFScape.

04. With the source models.gcf file now open, expand the hl2 folder. Select the now-visible models folder, then click the Edit menu and choose Find (shortcut: Ctrl + F). Type ‘Strider’ into the search field and hit Enter. GCFScape will then search for all files that include the word ‘Strider’ and will display the results in the window pane on the right:

05. We want all the files identified by the search, so select one at random, then use the Ctrl + A shortcut (Select All) to group highlight all the others.

06. Okay, time to extract. Right-click on the highlighted files (making sure not to deselect them) and from the context menu that appears, choose Extract.

Via the Browse For Folder window, choose the Strider folder that was created earlier and click OK:

Here ends our fleeting interest in the source models.gcf file.

07. Now, double-click the source materials.gcf file to open it within GCFScape.

08. With source materials.gcf now open, expand the hl2 folder, then materials > models > Combine_Strider:

Within the Combine_Strider folder, you’ll see three files: striderdecalsheet.vmt, striderdecalsheet.vtf and striderdecalsheet_normal.vtf. We’re going to extract all three using the same method we used earlier.

09. In the pane on the right, select one of the three files at random, then use the Ctrl + A shortcut (Select All) to group highlight the rest.

10. Right-click on the highlighted files (again, making sure not to deselect them) and from the context menu that appears, choose Extract. Via the Browse For Folder window, as in Step 06, choose the Strider folder and click OK.

Here ends the ‘extraction’ phase. We’re doing well. I just hope, thus far, this has all been making sense. The next thing we must do is decompile the primary model file we extracted earlier.

Decompiling the Model (.mdl) File

11. Double-click the mdldecompiler.exe file to launch Cannonfodder’s MDL Decompiler. Remember that the executable should be in your sourcesdk\bin folder:

12. Uncheck the Use Steam File Access checkbox, then left-click the ellipsis button for the Choose Model File field and navigate to the Strider folder.

13. In the Strider folder, there should be a number of .mdl files. From the list, select Combine_Strider.mdl and hit Open.

14. Time now to choose an Output Directory. Left-click the ellipsis button for the Choose Model File field and again navigate to the Strider folder. Click the Select button to accept the folder as the Output Directory.

15. Click Extract. The extraction process will involve two additional prompts:

Click OK for each prompt, then click Exit to close Cannonfodder’s MDL Decompiler.

Almost finished!

Converting .VTF Files

16. Launch the VPK Tool downloaded earlier by double-clicking the VPKTool.exe file included within the download:

I should mention: there are alternatives to this particular tool but I’ve not yet tried the others, nor have I experienced any trouble with this one.

17. Select the Texture tools tab, then the Open file button.

18. Navigate to the Strider folder and change the Files of Type: field to Source VTF texture:

You should see the two .vtf files extracted earlier: striderdecalsheet.vtf and striderdecalsheet_normal.vtf.

19. Select the striderdecalsheet.vtf file and click Open. You’ll now be able to convert the .vtf file into the .tga format. As a .tga file, the texture can be applied to a 3D model within 3ds Max and that’s exactly what we want. Just click the Convert to TGA button:

20. Now, repeat the above step to convert striderdecalsheet_normal.vtf into a .tga file.

Thankfully, the Strider only has those two .vtf files. Some of the other 3D models have more. For those other models, you’ll need to convert all the .vtf files, one-by-one.

21. Now that it’s no longer needed, you can close the VPK Tool.

Finally! All the necessary files have been extracted / converted and the model is ready to be imported into 3ds Max.

Importing the Model into 3ds Max

This part is easy!

22. Open 3ds Max (Version 6, 7 or 8; whichever one you’re using) and from the File menu, select Import.

23. Navigate to the Strider folder and change the Files of Type: field to Half-Life 2 SMD (*.SMD):

24. Most the of .smd files you’ll see in the Strider folder are actually animation files. They can be imported afterwards if you’re keen on using Valve’s keyframe data to animate the model. Right now, you should select the model’s _reference.smd. In the case of the Strider, it’s the Strider_reference.smd file.

At this point, I sincerely hope, the Strider will appear in your Viewports and you’ll be very happy.


Now, to get on with life …

*If you’d like to get the same model into 3ds Max 9, simply go through all the steps above, save the .max scene and close your old version of 3ds Max. Open 3ds Max 9 and then simply Open the .max file you saved earlier.

September 26, 2007


Over the past couple of weeks, I’ve devoured a number of tutorials on High Dynamic Range lighting and reflections. Most of them were shit. However, their deficiencies were eventually addressed thanks to the sheer volume of information they yielded as a whole.

All the same, I think someone should carefully organise all the information available online. I’m tired of going through this ordeal every time I want to learn something cool.

Thanks to all the recent studying, my quest to composite photorealistic CG elements into real-world environments has been progressing well. The real test will come when I post UFO hoaxes on YouTube and fierce debate erupts between close-minded skeptics and close-minded believers. In the meantime, here’s another rendering:

Oh, yeah, the title of this post. Whenever I render a ‘glossy’ version of the Strider, I find myself thinking of a line from the ‘Method to Madness’ episode of Family Guy: “Now you’re being born … ready? And BURST through the placenta!”

September 20, 2007

CGI Recognition Challenge! (Part 2)

Filed under: 3ds Max 9,CGI Recognition,Photographs — april15th @ 12:47 am
Tags: , , , , , ,

This one’s somewhat trickier than the last but if you know anything about Newton’s law of universal gravitation, you’re off to a good start.

September 14, 2007

A Strider from Half-Life 2.

Filed under: 3ds Max 9 — april15th @ 5:49 pm
Tags: , , , , , , ,

In recent days, I’ve rendered some very short animation sequences. In fact, they’ve all been a mere 91 frames in length because that’s how many frames make up the single animation file I’ve been using for all these experiments.

The file, a_walkN.smd, is from the game Half-Life 2 and I’m guessing the ‘a’ stands for ‘animation,’ ‘walk’ refers to the type of motion, and ‘N’ stands for ‘North’ … and that concludes our intensive three-week course.

What does this magical 99.3KB file animate? A Strider. They’re similar in many ways to the tripods in “War of the Worlds,” except that if they came across Dakota Fanning, they’d waste no time blasting her brains out.

The clip below was originally just a test to see how long it’d take 3ds Max 9 to render the animation with a simple lighting setup but the end result looked rather nice, so I thought I’d be polite and share.

September 4, 2007

CGI Recognition Challenge!

Filed under: 3ds Max 9,CGI Recognition — april15th @ 1:19 am
Tags: , , , ,

The photograph below shows my fireplace mantel, along with an assortment of random objects. Composited somewhere amongst the real-world objects is a synthetic object rendered with light more or less identical to that found in the original scene.

Can you spot the computer-generated image?

« Previous PageNext Page »

Create a free website or blog at