Published 06 October 2010
Posted by Al Dean
KeyShot, as regular readers of DEVELOP3D will be aware has been through some of a tumultuous history of late.
I don’t think it’s worth dragging up the past, facts are that there’s a whole of readers out there that have either been evaluating the system or have already purchased it and integrated it into their workflow. If you haven’t, then KeyShot (sort of ‘formally known as HyperShot’), It’s a cross platform (running on both Windows and natively on OS X) progressive rendering system that’s perhaps one of the easiest to use on the market with a boat load of CAD import formats - and I’ll be honest, it’s a fantastic bit of technology.
But with that, I’ve also been a bit slack looking at what it can do, so I’m going to run through what’s new in this release as well as highlight some of the thing the system has done for a while.
Before we do, here’s a quick rip through where KeyShot is at, at the moment. The video shows two scene set-up processes. it’s the first time I’ve attempted this and the videos are sped up to save you sitting around for 10 minutes waiting for me to decide on a material colour. That said, neither of the set-ups took long that 10 minutes, plus the rendering time, were all done using the OS X variant of KeyShot on a MacBook Pro that’s over a year old. Still, as someone that spent years doing this kind of work professionally the results you can get to are incredible.
Now then, on with the details. Let’s explore some of the things that KeyShot does well.
KeyShot can already import data from a wide range of systems using a variety of formats. IGES, STEP and OBJ are the standards as well as Rhino, SketchUp, Pro/E, SolidWorks. For this release, there’s been some heavy work done on allowing you to import from both Autodesk’s Alias (using the .wire file on Windows and OS X), Siemens’ Solid Edge (PC only) as well as some improvements in of the existing tools (Pro/E is now cross platform). One thing worth noting is the .wire format also requires you to have a license of Alias on the same machine to work, both on Windows and OS X. They all seem to work pretty reliably, but it’s a shame that the Alias importers need the same machine combo, particularly if you’re a visualisation specialist and don’t have, or don’t need access to the full app.
Positioning manipulator, merging BIP files and the scene browser
While the scene browser isn’t new and the ability to merge BIP files (KeyShot’s native format), when combined with the new widget for positioning selected geometry, it’s a very useful set of functionality, as you can build up multiples of the same product model, present them in different colourways, add a little context to a model or simply add a few props. Slick.
New Material types
There’s been a lot of work done on the definition of materials. Yes, the system is supplied with a good range of materials and texture options, but anyone that engages heavily with visualisation will know that you need to be able to define your own. The workflow is now much simpler, the dialogs are slider driven (with fine tuning done with the mouse wheel) and there’s new options for paint without metallic flakes (I tended to default to an adapted plastic material previously, rightly or wrongly), there’s new material types in the form of Gem, Liquid, Solid Glass as well as a brand new Translucent materials - this is said to be ideal for “the creation for plastic and organic materials using subsurface scattering.”
The libraries have seen a good amount of work over the last few releases. Materials and HDR images are more easy to organise, you can rescan the default folder once you’ve put new HDRs in and the materials definition process is much much easier. Both are searchable, you can vary the thumbnail size (personally, I like them about half way, so they’re not huge, but you can still see details).
Hitting Alt+P will switch into Performance mode which cuts out a lot of the effect from the model, presents a pretty basic view of the model, but it’ll pan, zoom, rotate much more efficiently (which is essential if you’re running on a crappy old macbook like me).
This isn’t a feature new to 2.1, in fact, it was released with the last major rev, but its worth a look as there’s been a few changes. KeyShot supports decals or labels in a variety of formats (including .bmp, .png, .tif and .jpg) and gives you full control over how and where they’re placed. there’s a variety of options for mapping to your product model’s surface, but perhaps the most usable is the normal projection combined with dynamic placement. Essentially, you load the label, use the default normal mapping method and use the “position label” option. This allows you to drag the label around to get it in position, then use the scaling, rotation and other controls to fine tune it. New for 2.1 is the ability to add specularity, so your label can be matched to the underlying surface so reflections look right (as if under a clear coat for example) - but as yet, it doesn’t support a bump map.
This is another one that’s not new in 2.1, but worth a mention, the ability to define a material and have it emit light. For those looking to simulate the effect in their renderings of any form of specific light source, it’s ideal. you can see small portions of it in the porsche section of the video, where the environment is darkened, but the halogens in the headlamps still shine. It’s particularly useful when you’re looking to render up products with LED-based light as you only need a representation of the LED source or where the light-tube component is and the system will handle the rest. Even slicker yet - you can add use this as a fill light for certain areas of the model. Merge an object (plane, sphere, cube), postion it apply the emissive material, change color and intensity. Then make the object inivisibly by checking the material’s option “invisible to eye”. This will now still light the object, but without showing you the source it is coming from.
GPU driven features
The 2.1 release sees the integration of GPU-based calculation features. If you’re not aware of the term it refers to Graphics Processing Unit - or the chip on your graphics card. The concept being that you can use these processors for more than just calculating graphics and there’s vendors using it not only for rendering, but also things like simulation. Autodesk has a Moldflow solver that will solve on a GPU and Siemens just released a mechatronics/digital factory simulation tool too. Many of these have proprietary requirements for the GPU in use such as NVIDIA’s Cuda architecture but KeyShot doesn’t. if your workstation or laptop has a GPU in place, it’ll work and have the following effect calculated separately both in real time mode and when rendering out a final pass.
Bloom: Whether you call it Bloom, Light Bleed or something else, this is a naturally occuring phenomenom in photography where light bleeds from source (http://www.neilblevins.com/cg_education/specular_bloom/specular_bloom.htm). If you’ve got emissive materials in your scene, then its worth switching on and rendering with it to see if it adds to your realism - KeyShot has control over both the radius and intensity of the effect..
Vignetting: This is the darkening of the edges around your image. While it’s prevalent in photography, the use isn’t immediately obvious in rendering - but the fact is that by darkening up the edges of your scene and the eventual render, you can have the viewer focus on the object you’re visualising. personally, I think it looks good on everything.
A conclusion of sorts
Let’s cut to the chase, the rendering world is one in which there are a lot of competitors and one in which there’s a hell of a lot of activity these days. Arguably more than ever before. There’s new rendering developers popping up every month it seems and the user has never been more spoiled for choice. Even in the CAD integrated flavours, the tools require to create a decent image have never been more available. SolidWorks has PhotoView, Inventor has its Mental Ray (soon to be iRay-based) solution in the form of Mental Ray and the list goes on. Basically, if you have the time and can summon the effort, you can create some stunning imagery with a wide range of tools. But, my question would be this.
Who’s got the bloody time?
If you’re a visualisation expert, then your job is to do that, if you’re a designer, an engineer, then it isn’t your sole focus and you need not only a powerful tool, but one which is easy to use and one which lets you get on with the other, perhaps more pressing, tasks at hand. In this, KeyShot excels. As you can see from the video, you can import raw geometry from your CAD system, define the materials, add the lighting conditions (using HDRI, which we covered a while back), choose the camera angle, the focus areas if depth of field if your thing and its ready. The progressive nature of KeyShot means that you have a bang on representation of the image you’re going to get - on screen and if not in real time, as close as you need it (that’s highly hardware dependent). If you need something higher res, or more polished, then you hit the render button, add it to a queue (if you’re doing multiples) and its done. then you get on with the next job on your seemingly infinite to-do list.
Of course, if you are more of a visualsiation expert, then there’s enough to sink your teeth into here to get you really excited and do what you do best, create truly jaw droppingly realistic images and renders. But for the rest of us, we can get there and get there as quickly as possible, without too much fannying about.
And for that simple reason alone, i think it’s one of the best products in the world of technology for those involved in product development. Not just in rendering circles, but in general. After all, if you’ve got a job to do, you need to do it well, in a timely manner and as efficiently as possible. That’s what a tool should do.
And KeyShot, frankly, excels.
Sharing the Love
Finally, here’s a few tips that I came across when working my way through KeyShot 2.1.
DropBox as a remote render monitor: When you’re rendering a lot of still you’ll probably be running them as a batch if your rendering tool supports it. I found that if I rendered out to a folder shared by using DropBox.com (a rather nifty file sharing service), then I could pull up my DropBox app on my iPhone (there are similar tools for the Blackberry, Android, iPad, Linux and Mac as well as the web-based service) and see if the renders had completed. Of course, there’s not much you can do if there’s a problem, but you can at least see your results as they output.
Transparency: KeyShot, along with many other rendering systems, supports partially transparent decals or labels. Some systems support graphics file formats (such as .TIF and .PNG) which can hold transparency information. Others can’t but will allow you to load up a monochrome image, known as an alpha image, to define that transparency.
But here’s the rub, you’ll often get an image from a client that doesn’t match your system’s inputs (KeyShot, as an example, doesn’t support alpha images). I couldn’t for the life of me remember how to create a PNG file with transparency from a graphic + alpha image combo (it’s not so simple when you’ve got graduated transparency, rather than a hard outline). The answer in Photoshop is this: Open the graphic, find the channels input, create a new Alpha Channel and paste the alpha into it. Output it as a .PNG and you’re good to go (as I did with the decals you can see in the Alias + KeyShot portion of the video). Works a treat and gives you a great deal of control. The PhotoShop CS 4 help is online which is super handy the link is here.
Compiling a movie: KeyShot at present doesn’t support the output of movies. Turntable animation, frame by frame as graphics files yes, animations? No. What it does do is render a sequence of images that represent the rotation of the model between specific angles (360 obviously for a full rotation). I had a problem getting this into a movie file (part of the video file above) on the OS X platform. Handily I found a wee AppleScript onto which you drag and drop the image sequence. It asks for the number of frames and outputs a QuickTIme file.