Share
Scroll down

Exporter documentation

Exhibitcore exporter for 3ds Max User documentation


Last edited: 2013-11-25

First run and authentication

The basic script

Publishing a 3D model

     New item

     Existing item

Viewing the model online

The 3D model

     The bake

     Size and position

Lighting, unwrapping and lightbaking

     Automatic lighting and preview

     Manual lighting

     No baking


Transparency

     Automatic transparency detection

     Custom defined transparency

Thumbnail and preview image

Product options

Render engines and supported materials

Installation

Add a button on a toolbar

Updating

Proxy

Walkthrough


First run and authentication

To do stuff with the script, you need to authenticate the script. Do that by entering your api key. You only need to do that once, the script will remember the next time you run the script. Make sure you press “enter” after you’ve pasted the API key into the field.

You can get the API key for your account here: http://floorplanner.exhibitcore.com/forms/GetApi.aspxAPI key

first run

On first run, the script asks you to authenticate

Get the API key for your account

The basic script

The basic script functions very straightforward. You select one or more objects in the scene, enter a title in the script and press the big green “Publish” button. By default the script will lightbake the scene, detect transparencies and upload the result to your account on the exhibitcore floorplanner. After that, you’ll be able to use your own 3D asset in your floorplans.

There are some options however to tweak the results. These options are shown in the following sections. Mainly you can influence the lightbaking, the lighting and influence how the script deals with transparent objects.

exhibitcore script

the main ui and the most important areas highlighted


Publishing a 3D model

The first rollout deals with actually publishing the 3D model. For this to happen you need to either enter a new title or pick an item to replace.

New item

When using a new title, a new 3D asset is created in your exhibitcore account. When you choose to replace an existing item, only the 3D model of that item is replaced. All other information you might have added previously will be kept.

Existing item

If you choose to replace an existing item, you have to pick that item from a list. Press the “Pick…” button. This will open a popup which displays your categories. Pick a category and all items in that category will be listed. Pick an item in the right column and press the “Confirm” button. Now you’ll use that item to replace the 3D model of. Since the script will connect to the exhibitcore API building the list of items might take a few seconds.

Replacing the  3D model on  an existing item you’ve uploaded earlier

Viewing the model online

After the model has been published, the script automatically opens a webpage with your model in it. Here you can view the result online, check out some properties and edit them

Check out the model online

The 3D model

When publishing a selection of objects a few things are done to (a copy of) your scene to ensure the model is properly lightbaked and exported.

The bake

When publishing you need to consider that only the selected objects will be published. If you’ve selected nothing, the entire scene is published. When lightbaking, only the objects which are going to be published will be baked. Other, non-selected objects will participate in the bake by casting shadows or by appearing in reflections. If you don’t want this, hide those objects before publishing.

Size and position

The script will check the unit-system and make them compatible with the online floorplanner. If you’ve worked in correct units everything’s fine. you can use any unit system 3dsMax offers. If you’ve worked in an imaginary unit system, you need to rescale the model first. Otherwise the item might turn up too big or too small in the floorplanner.

When exporting, your model is repositioned towards the origin of the scene. This avoids having to deal with weird offsets in the online floorplanner. However, some objects do benefit from an offset in the z-direction: lighting fixtures, paintings, kitchen cabinets and such. You can move these objects upwards in the online floorplanner, but you can also give them a default Z-elevation when exporting. Check out the “Product options” rollout for this.

Lighting, unwrapping and lightbaking

A major feature of the script is it’s lightbaking capability. This will help make you 3D models look good on your floor plans. There are some scenarios which the script supports:

  • you want to unwrap and bake with automatic settings
  • you want to bake, but already have unwrapped your models yourself
  • you want to bake and have your own custom lighting
  • you already have baked your model and don’t want to do it twice

Bake and unwrap options

Automatic lighting and preview

The automatic lighting provides a lighting setup which will work for most objects. It’s omnidirectional and provides some “footing” to the models which makes them appear fixed to the ground. If you’ve got very bright or very dark objects in your scene, you can tweak the overall brightness of the auto-lighting.

Automatic and manual lighting

Using a lighting preview can help to determine the final look of the export. When using the “Manual” lighting option, you can also just render a preview yourself.

Lighting preview

Manual lighting

If you’ve got your own lighting setup and want to use that to lightbake your model: pick the “Manual” option in the lighting settings. This will tell the script to use the lights already present in the scene. All lights in the scene will be used, also hidden ones. If you want to skip lights, switch them off or delete them. You can pick a camera to use for lightbaking. If there’s no camera present, the script will create one for you.

Keep in mind that you can rotate your objects on the exhibitcore floor plans. Using a strong directional lighting element is not advised since this will look awkward if objects will be rotated. It’s good practice to keep the lighting omnidirectional.

No baking

Eventually the scene has to have one or more objects with a material. There is only one single bitmaptexture (e.g. jpg, png) allowed. The 3D engine of exhibitcore will only display objects with a single texture. If you let the script deal with the lightbaking, the export will comply to this rule. If you have already baked your object yourself and don’t want the script to do it again, you need to consider this rule. The script will notify you if there’s an issue with the object you want to publish.

Transparency

The 3D engine of the floorplanner can deal with transparent materials. Objects with transparent materials are actually baked as well. In the online 3D floorplan, transparent materials are displayed by applying an opacity value to the baked texture. There are three ways to apply this opacity-value to materials:

  • let the script deal with it
  • set a value manually
  • a combination of both

Automatic transparency detection

By default, the script detects if a material is transparent and to what extent. Opacitymaps are also detected. It can detect transparency on many materials:

  • Standard
  • vrayMtl
  • Raytrace
  • Architectural
  • Arch&Design

The auto-detect only works if these materials are applied directly to objects. If a material is used in a compound material, such as a multi-sub, mask or mix-material, transparencies aren’t detected.

You can see how the scripts interprets these transparencies by either viewing a preview in the viewport or checking on a list of materials. You can also force the script to interpret certain materials as opaque or transparent. Use the buttons in the rollout to manage these overrides.

View transparencies in the scene

This scene contains objects with materials which the script considers transparent

This is a preview in the viewport  of the objects with transparent materials. A legend is shown in the lower left corner of the viewport

Custom defined transparency

You can also override the automatic transparency detection on a per-object basis by using a specific object naming scheme: “op_##”. If you name objects according to this scheme and enable the “Preserve custom defined transparency” option, you can completely bypass the automatic transparency detection. The naming scheme uses an opacity value. So “op_00” is 0% opaque and “op_75” is 75% opaque.

You can use either the automatic detection, or the custom bypass in a single publish. You can’t use both at the same time.

Bypass the automatic detection of transparent objects

Special objects

It’s also possible to use objects with a special purpose of behaviour. You have to name these according to a special naming convention in the scene and enable the “Keep special objects” option. There are four types of special objects with their own behaviour:

  • gra_ graphics objects
  • sdw_ shadow object
  • scr_ video screen objects
  • dbl_ double sided objects

Thumbnail and preview image

When publishing a model for the first time, a thumbnail and preview image is automatically created by making a render of the model in the chosen lighting setting. You can pick a custom image here in the script. You can also change this image later in the online exhibitcore environment.

Upload a custom thumbnail and preview image directly with the 3D model

Product options

You can send a few extra information with the uploaded model. If you’re going to upload many objects this might come in handy to synchronize product catalogs.

The Z elevation option will offset the model from the groundplane.


Render engines and supported materials

The script supports lightbaking with scanline, mentalray and vray. It will bake any material compatible with the renderengine you’re using. It will only detect transparencies on the materials listed in the chapter about transparencies.

Installation

Install the script by either dragging the .mzp file into a viewport or by using the menu: Maxscript > Run script…

After that a dialog appears. Press the “Install ExhibitCore Publisher [version number]” button. A dialog appears to ask you if you’re sure. If the installation has been successful, another dialog appears which tells you how to add the script to a toolbar, quad, shortcut or menu. Close the installation dialog.

The installation dialog

Are you sure?

The success message with an instruction on how to add the script to the gui

Add a button on a toolbar

To add the script to a toolbar, use the menu: Customize > Customize User Interface… Go to the “Toolbar” tab and in the “Category” list pick the “ExhibitCore tools” item. A list of scripts in that category appears. Pick the “ExhibitCorePublisher [version number]” item and drag that to an existing toolbar or make a new toolbar for it. Save the ui layout if you want to keep it.

You can also put the script in a menu, quad, under a keyboard shortcut or a combination of these.

The customize user interface dialog

Add the script to a toolbar


Updating

The script checks for an update on a server every time it starts up. If there’s an update available, the script will notify you with a big colored button. Press it to download the update and start the installer. Follow the instructions under the “Installation” chapter. However, you don’t need to customize the gui again. Just close the installer and script and reopen the script. It’s been updated now.

An update is available, go get it

Proxy

If you’re behind a proxy, you can set it up here. Either use the default proxy settings stored in the internet settings, or specify one manually. You can also enter credentials if needed. Press the “Test proxy settings” button to check if the connection works. The script tries to connect to exhibitcore.com while testing the proxy.

proxy

Testing the default proxy settings

Walkthrough

Here’s how you upload and bake a new item:

  • install the script and enter your API code
  • open a scene and select the objects you want to publish
  • enable texturebaking, set a texture quality, set the unwrap setting and pick a lighting setup (either automatic or manual)
  • press the big green “Publish” button
  • wait for the rendering process to finish
  • the script opens the model online, inspect it