[Sketchlife logo]

Sketchlife

As the export process has been outlined on the Home page, here we copy it verbatim, expanding on each point.

First you will need to build a new model (or recast an existing model) using only Sketchlife primitives — those provided by the drawing tools from the toolbar. See the Tools page.

Note again, that using standard SketchUp tools is often helpful for providing lines and points to snap to. Having used the tools for a few hours, I almost always start with the Line tool before drawing a primitive.

The size of the model is restricted only by the size of the island. In fact, one of the first models I have imported was a full island-sized tiling.

The primitives can be textured using normal SketchUp tools, or using the Sketchlife bucket (which is often more convenient).

It is safer to use the Skechlife bucket because of a certain problem with the SketchUp Ruby API (see the Tools page for details).

Then the prims making up the model should be selected and the export button (with the red arrow) pressed.

Also the Filter Selection button might be helpful.

This will bring up a web dialog. It will first inform you if there is anything wrong with the model as it is.

There is a security warning to remind you that the service is in beta, so there may still be bugs, and the transmission used is inherently not secure (similar to email), so we disclaim any liability arising from your use of the service. Use it at your own risk.

Note however, that as a Second Life viewer downloads data without significant security measures (any third party can get a viewer and access Second Life), all data that you upload to Second Life becomes exposed to third parties anyway.

Three things are checked:

  1. A warning is shown if there are any entities selected that are not valid Sketchlife primitives. There is a button allowing you to highlight these invalid entities (the current selection in the SketchUp window will be changed to contain only these invalid entities). You will have the option to proceed, discarding these entities.
  2. A warning will be shown if there are any textured faces which have incompatible texture maps. Such maps may result from various sequences of actions. To be compatible with Second Life, a texture map must not only be affine, but its U and V axes must be orthogonal. There is a button on this warning screen, allowing the primitives with faces with such incompatible mapping to be selected. If you want to find out which particular face is mapped incompatibly, double-click on a group to go into group-edit mode, then hit the button again, and the incompatible faces will be selected. Again, you can proceed, and these faces will not be textured in Second Life.
  3. A warning will be displayed if some of the textures have filenames indicating formats not supported by Second Life. This means you should convert these textures to a supported format before uploading to Second Life.
From here, follow the prompts of the web dialog, and the Sketchlife Importer. Below is a summary of what will take place.
Then it will give a code for you to say in Second Life. Copy and Paste it while near your copy of the Sketchlife Importer.

This key is a light security measure (we have tried to put in a few security measures against very simple hacks, but a resourceful-enough attacker could still compromise the system). Also the code, or model key facilitates the process of texture registration.

The Sketchlife Importer will forward the key to vrshed.com, and will display the server's reply, which should be "Ok".

There are two check-boxes on this screen. Check one of them to allow other Second Life users to be able to build your model (you will need to give them the model key). Check the second one to allow the model to be built multiple times. These two are also security measures (if both are checked, anyone could build a copy of the model just by supplying the model key, after the model has been paid for). This does require knowledge of the model key, which is not trivially obtained.

If you decide to allow multiple copies of the model to be instantiated, please be aware that we will not retain the model data indefinitely. We may remove old records from the database at any time. Therefore, once uploaded, it may be more convenient for you to make copies of the model in-world rather than relying on the build data to be available for a significant time into the future.

Then click on the Continue button.

(Optional) Back to the web dialog, if you have used any textures on any of the prims being exported, it will provide an option to write the texture files to disk. Select a directory for textures to write them there (or skip this step).

Note that this is a "Save As" dialogue, but you are actually entering the name of a directory: a new directory with that name will be created and the texture files will be written there. This is an unconventional use of a standard dialog, but the best way available to us, as we want to keep the script cross-platform.

The prefix is completely optional and is usually not required. It was put in place to help people managing many textures and many models. For example, if uploading a model of Hacket Hall, I might add the prefix HH to separate the textures clearly in my Textures folder in Second Life.

It is not necessary to write the textures. If you already have the textures on disk, you can upload them directly. This is just a convenience item.

(Optional) Upload the textures using the normal Second Life upload process (Upload Image or Bulk Upload).

It is not necessary to upload the textures. Existing textures can be re-used. The texture box looks for exact texture name matches, but the actual texture is irrelevant. In fact, one technique is to take a screenshot of an existing Second Life texture, save it as a texture file, use it in SketchUp, and then drop it into the texture box without having uploaded anything.

(Optional) If you have used textures, the Sketchlife Importer would have rezzed a texture box, which looks like the one on the right. Drop the textures onto the texture box.

[Texture box] For each texture dropped, the texture box will contact the server, supplying the name of the texture.

After it has done that, the texture box and the textures inside are no longer relevant — you can delete the box.

Once all the textures have been supplied, press the corresponding button to proceed. The web dialog will check with the server, and if there is a discrepancy, a Retry screen will be offered, with a list of textures which have not been supplied (and another list, showing textures that have been supplied but are not required for this model). You can drop the additional textures and Retry, or skip to the next step. If any textures have not been supplied, the corresponding faces will not be textured.

This texture-uploading process may seem to be quite complicated, but usually it proceeds quite quickly. It is necessitated by the fact that texture upload to Second Life is not free.

Finish with the web dialog by uploading the model data to vrshed.com.

At this point the data goes to the server. Note that we cannot guarantee the safety of any data, however we have invested a significant amount of time into trying to make sure that it will be as safe as is reasonable.

The web dialog will give you a build code. Say it in Second Life near your copy of the Sketchlife Importer.

If the model you have is free, or has been paid for, the Sketchlife Importer will start building it immediately. Otherwise it will try to negotiate a payment with you.

Models are built positioned relatively to the Sketchlife Importer, in particular the centre of its handle, with the Y axis out in front, X axis to the right, and Z axis in the Importer's local up axis. Hence the placement and orientation of the briefcase are important.

Refer to the diagrams below.

Origin of a prim in SketchUp.

Origin of a prim in Second Life.

You may want to drive the Sketchlife Importer into the ground, up to its handle, if importing something that should stand flat on the ground. If there are hills in your area, you will be better off importing somewhere in the sky, then moving the model down, because prims may be impeded if they try to pass through the earth.

Important! If you have relocated the axes from their default position while modelling, it is likely that you will get unexpected results. The model will be imported relative to the original axes. Right-click on the origin and select "Reset" to return the axes to their default position.

You will need to grant the Sketchlife Importer permission to withdraw money and then pay it the cost that it quotes for the model. It will only withdraw money when the server confirms PAID status.

This factor makes is extremely important that you get the authentic Sketchlife Importer from the location that we specify (see the large "Teleport" link above the menu on this page). Please do not take a copy from anyone, even people whom you trust, otherwise you might be exposing yourself to a security risk.

Payment is a two-step process. First you need to authorise the Sketchlife Importer to withdraw money, and then you need to click on it and select "Pay...". It will display a window with a button indicating the cost.

If you opt not to pay, the transaction is cancelled and you are welcome to start a new transaction.

It will then build the model.

While building the model, you may get one or more requests for permission to link primitives. The import process includes automatic linking based on proximity (this may sometimes fail, giving you an error message, don't be alarmed). The permission does not have to be granted.

The model will be linked into as few objects as possible. Please allow half a minute for the linking procedure to be completed. Each prim will contain a script which should self-delete after at most 60 seconds following the rezzing of the last prim.

If some of your prims seem to have failed to import, walk closer to their location — you may be outside of the radius at which they are drawn. Often buildings are quite large, and the bigger prims are drawn, but the smaller prims are not, until your avatar approaches closer.

Evgeni Sergeev
Friday 03 July 2009 23:30 (Western Australia Standard Time)

VRShed