KeyShot Featured

Importing models into Luxion Keyshot 3.0


In this article, I’m going to look at the process of taking a model in to Keyshot 3.0 (though the same process applies to previous version of Keyshot and Hypershot). They key stages involved are:

  • Preparing the model in your modelling software
  • Importing in to Keyshot
  • Composing your model/components within Keyshot
  • Applying materials to your model
  • Selecting the environment for your scene
  • Setting up the camera(s) for your scene
  • Rendering your scene

This is not to say that what I do is the definitive ‘how to’. Other folks may have a slightly or totally different approach, but how I do it works, and will give you an idea of what’s involved, and how to get started. As you progress with Keyshot, you may find you do things differently. If you think its worth other people knowing, do drop me a line and let me know.

Exporting your model

The first step is to look at exporting your model to bring in to Keyshot. I personally use Newtek Lightwave 3D for my modelling work, and so for exporting, OBJ is the best option. It will preserve my assigned surface names, as well as UV sets and texture map references. Although Lightwave exports OBJ files, I have for a long time preferred to use Deep Exploration from Right Hemisphere for that job.

To prepare model for export, a couple of primary factors will decide how you approach it;

How much ram does your workstation have?

How close do I anticipate getting to the model?

One prudent approach (and really should apply regardless of the above points) is to export your model as pieces or groups of the model that are close in proximity and/or visibility. This will allow you to easily export at a lower geometry density for those parts seen less readily in you render, and even to exclude them from the scene completely. Which is more; you could have high and low density versions which could allow for an unexpected close quarters render further down the line.

In Lightwave I freeze the subdivided geometry, and then look at key areas where there are lots of polygons that will be unseen, and band glue these to single rows. It shows how much geometry is processed in Lightwave when rendering subdivision geometry that is unnecessary.

The model I am using is a version of my trusty Bugatti Veyron, and it serves well to illustrate the geometry density points. With that in mind the model is separated up thus;

  1. Main vehicle including all body panels, belly pan, spoilers & diffusers, headlights, taillights, mirrors, and windows.
  2. Upper visible area of engine
  3. Interior including seats, steering wheel, roll cage, and other miscellaneous details.
  4. Wheels including brake callipers and discs.

The exterior I will generally export pretty high density, so I know there should be no major issues for 90% of likely renders. The engine can be removed for a significant number of renders, or a switch made for low and high density versions. The interior medium level, as I never had the intention of showing big close-ups of the interior, but it’s sufficient for an open door or window. The wheels are exported in line with the exterior of the car, but the brake components are lower density as they are only seen through the spokes of the wheels. By keeping them separated, I can relatively easily exchange them for entirely different models.

One final consideration and one that I fall foul of more often than I’d like; is the model FINISHED?! Sounds daft, but Keyshot is a one way journey. If you get your model in to Keyshot, get all your shaders applied, and then find you want to change or add things, the model can’t be pulled back in to your software. It means exporting the model again and re-importing, or at best importing a new model with additional geometry. Tweaking the model itself isn’t possible, so you need to be as certain as you can be that the geometry is finalised.

Importing your model

When you import, you’ll be asked to set a few parameters for the process, starting with ‘centre geometry’ and ‘snap to ground’. The former will position the imported geometry in the centre of your scene space, which for a multipart model is not desirable. We require the parts to import and keep the relative positions. The latter is optional, and will simply rest the geometry on the ground, however we can do this is a single click operation at any stage.

More important is specifying which axis represents up. Lightwave uses the Y axis as up, but this could vary depending on your software and OBJ export settings. If your model comes in to Keyshot tipped over on any axis, you can correct this afterward, but this could save you a little work.

At this point I typically switch to performance mode by pressing ALT+P, which switches off raytracing shadows, full reflections, and refractions. If your work station is powerful enough, you’ll never need to do this, but my Quad Core machine is pretty modest, and so it helps me out.

As you import your second item, you’ll get similar options to the first time, but make sure this time that ‘add to scene’ is checked, and that coordinates is set to ‘from previous import’. Nothing else needs to be checked. We should then find everything imports in the correct position relative to everything else.


Useful Information before Proceeding

Before doing too much else let’s take a quick look at the main interface elements we will be using. The main two area of interaction are the Project and Library windows. Expand each section below for an overview.

Project Window
Library Window

Composing your model / components in Keyshot

The way my models are created in Lightwave means two things. One is that the wheels import into Keyshot located at 0,0,0 and that much of the model is totally black (due to the surface attributes being carried through in the OBJ). The colour issue not serious but makes positioning things tricky unless you assign a new colour first. Worth remembering! In this screen shot you can see the wheels being aligned. This achieved by simply selecting the root scene node for the model.

Using the numeric translation fields, the wheels are easy to shuffle in to position one by one. You can set the cameras to be preset left, right, top, bottom, front, and rear for this, making sure you set the camera to be orthographic rather than perspective.


The model then is imported, looking good, and is just gagging for some cool materials. At this stage I tend to keep it in performance mode for speedier response, as once the materials are applied, it’ll be a little heavier going.



Adding materials is a simple drag and drop affair. Open the library window, browse your materials, and drag them on the model. They appear straight away and begin rendering. In this shot I have hidden the models I am not shading by un-checking them in the Scene Tree in the Project window.



We can see lots of materials in place. Use the scene tree to hide parts to give you access to the ones behind (or right click on the model and hide the part). Some textures like the chrome grill mesh default to using UV coordinates, but if you don’t have UVs you can switch to planar, box, cylindrical, and spherical mapping. Then just scale the textures to match. If you make sure that the textures for specularity, bump etc.. have sync checked, they will scale to match the colour map.


With our model fully kitted out in materials, all we need to do is compose our render by configuring and positioning our camera, and drag the environment of our choice in to the render window to set our HDRI map (or change it). Backplates can be added the same way, it’s drag and drop pretty much all the way.

Final Rendering

For many applications such as email and web use, the resolution available through the on-screen real-time renderer is sufficient, however for print and so on much higher resolutions are required. This is where the off line renderer comes in. With the off-line renderer you have a set of paramters that you can set before you hit the go button!

Settings cover the output directory and output format, along with resolution and DPI. You can also specifiy rendering to take place in the background, potentially making the workstation more usable.



You next have three subsets for configuring the quality of the rendering. You can firstly specify a defined render duration. Secondly you can specify the sampling level controlling the number of rays per pixel used to evaluate the scene. Thirdly you can control the quality levels of anti-aliasing, shadows, global illumination, depth of field, as well as ray depth levels. Pixel Filter size controls the over all edge sharpness for seating rendered content in to specific backplates.

Rendering multiple jobs is no problem. You can configure your final render settings and then simply add it to your queue, and then later set off your jobs. Great for maximising the use of rendering time.



Our last option is to render a specific region of our frame. We may have made a slight tweak, and rather than wait for the entire frame, we can isolate the area where our changes will be seen.



All systems GO!

With all the preceding steps completed, we’re ready to go, and sit back and wait for our render to complete!



Leave a Reply

You must be logged in to post a comment.

If you have requirements for modelling, contact us today!