It’s an exciting time to be a mesh maker. Sansar, High Fidelity, and Space are all going to have marketplaces for you to sell your content; chances are, you’ve put a lot of work into the creation of your items, so why not leverage all that work into some extra sales? In this tutorial, I explain how you can take your mesh created for Second Life and get it up for sale in Space in eight steps.
STEP 1: Sign Up For a Content Creator Account on Space
First you’ll have to get a content creator’s account. Go to https://sine.space/signup/ and towards the bottom, make sure to check the box labelled “I am a content creator interested in making content.” I mention this only because I didn’t check the box, and it took me forever to figure out afterwards.
Be sure to click the I am a content creator check box!
STEP 2: Install the correct version of Unity
All of the building that you do for Space will be done within the Unity game engine. However, sometimes Space is not using the latest version. Go to the Space wiki homepage in order to see which version of Unity Editor you’ll need. Go to the Unity Download Archive and scroll down until you find the correct version number.
Five more steps below!
Space’s wiki: you’ll probably spend a lot of time here.
This is also a good time to download the Editor Pack and the Space Desktop Viewer.
STEP 3: Install the Editor Pack
Next you’ll need to download and install the editor pack into your Unity project. The link will only work if you’re already logged into Space.
The Editor Pack contains all the scripts and tools you need to bridge what you’re doing inside the Unity Editor with the virtual world. Import it into you project by going to Assets > Import Package > Custom Package. Find the pack wherever you downloaded it, select it, and a dialog should pop up, select import.
Installing the Editor Pack allows you to make things work with Space
Once the package is installed you’ll have to connect Unity to your space account. First, go to the new “Space” menu item at the top of your screen and select “Install Editor Pack Settings …”
Selecting this will bring up a log-in within the Unity editor.
Now you can log into your space account within Unity. Select Editor Default Resources in the project tab, select Space Upload Settings.asset, and input your Space login details to the inspector window. After logging in add your real name, business name, and agree to the EULA.
Now that Unity is set up correctly, you can get to uploading your mesh.
STEP 4: Import your mesh into Unity
The first mesh I’m importing into Space is a bed I built for this yacht that I’ve been working on (shameless self promotion). I’ll export the collada exactly as I would for Second Life. Within Unity, open the Sample Art folder and double click the Quickstart scene. You’ll see a small blue man, that’s the player character, and a large red dragon. To import the collada, simply drag and drop it into the project.
Drag your collada into the Project tab
To see how it looks in the scene, drag it from the project into the scene window. It appears to be a bit too large. This is because centimeters are being read as meters. So my 180 centimeter bed is being imported as a 180 meter bed. To fix this, click on the item in the project tab and change the scale factor to 0.01 in the inspector tab, and hit the apply button.
Gonna need a bigger house
STEP 5: Add textures to your mesh
Next we’ll add the textures we’ve made for second life to the bed within Unity. Unlike second life, you apply your textures before you upload into the virtual world. Kind of a bummer for texture creators like me.
First, take your textures and drag and drop them into the project tab. Second life is capable of using three types of textures: diffuse, normal, and specular. Unity is also able to use these three texture maps, so I drag them into the project tab. Don’t worry if you only have a diffuse texture, that’s fine too.
The only tricky part, when adding textures, is that you have to tell Unity explicitly that a texture is a normal map. Select it and change the texture type from default to normal map. It will then re-import the texture as a normal map.
Now that my textures are inside the Unity project I can add them to the bed. I select the bed within the project tab and find its shader. By default, the standard shader expects a metallic rather than a specular map, but you can change the shader to Standard (Specular setup) to use the standard Second Life maps. (Note: Unity calls diffuse albedo, but for our purposes they are the same thing) Simply drag and drop the maps into their respective slots, and make sure the albedo color is white.
A shader in Unity using the standard Second Life texture maps.
Make sure you are editing the bed from the project tab and not within the scene. If you edit the version you have in the scene, you are only editing that specific instance of the bed.
STEP 6: Collisions
In Second Life you have the option of uploading a physics shape along with your mesh. In Unity, the physics shapes are known as colliders. Just like in Second Life, you want to avoid complex physics shapes so that you don’t slow the performance of the physics engine. For this bed I’ll use two simples boxes as my physics shape.
To begin applying the physics shapes, select the bed in the scene, and go to Component > Physics > Box Collider. You’ll see the Box Collider component appear within the inspector window. Click the Edit Collider button and you’ll get six control points, one for each face of the box collider. Moving the control points changes the shape of the box, and thus the areas where avatars and physical objects will collide with the bed. In the case of the bed I add 2 box colliders, one for the base and mattress, and one for the headboard.
Collision meshes determine how the bed behaves physically
We’ve been editing the bed within the scene, so we want to create a version within the project tab that can later be uploaded into Space. Once you have your box colliders the size and position you want them, drag the entire bed down into the project tab. A new item will be created within the project tab identical to the one in your scene. This new version is what you’ll upload to Space, not the original mesh that was created when you dragged the collada file in.
STEP 7: Prepare the Bed for Upload
Next you’ll prepare your item for upload to the space servers. Select the bed in the project tab and then select Component > Space > Virtual Good (Script). A script will be added to the bed where you control things like the how it will look in the Space store, its description, and what it sells for. It’s the equivalent of filling out a page in the Second Life marketplace when you add a new item.
This is where you control how your item will be presented to and sold on Space
The pricing is done in two different currencies, silver and gold. Silver is a promotional currency that cannot be exchanged for real money. Gold is traded at a fixed rate of 100 gold to 1 $US dollar. So 50 gold is equal to 50 cents.
You’ll also have to add some pictures here. The easiest way is to take a screenshot of your item in the scene window using control-shift-print screen (or some stupid keyboard combination that Macs use) and paste it into photoshop or GIMP. Crop, scale, and save the images as PNGs and then import them into unity to add to the Virtual Good Script.
Once all the fields are filled in you press the Automatic Submission button to upload the file to the Space servers. Once uploaded, the space servers set about creating versions for each of the available platforms. Go to the curator page to check the status of your item. Once it is finished processing you can hit the Preview button and see what it looks like in world (at least in the web version of the world).
If you’re happy with how the item looks in world, you can press the “Send to Review” button on the curator page. The item then gets approved or rejected by someone working for Space. For my first item, approval took a few days. After approval the item will be available for Space players to purchase.
STEP 8: Profit . . . Maybe . . . Someday
At this point Space is still very much in development. I have yet to sell my bed, even at the low, low price of 5 cents, and even
if I did, I don’t think the currency exchange is open yet. The chances of making appreciable money on Space is a gamble, but one that I’m happy to make. Anyone who remembers the early days of Second Life, when you could stick 3 prims together and sell it for fifty bucks, is probably willing to gamble too. Getting in on the ground floor can be nice.