Coming soon! A guide to mesh

Blender model render by Belochka Shostakovich (partly based on a great tutorial at BlenderCookie by Jonathan Williamson. I ❤ JW!)

 

An announcement for our readers: Thom Lunasea is currently planning and writing what will be an ongoing series of posts on creating and uploading mesh objects.

It’s a subject we’re both still learning, so covering rigged mesh is not possible as yet, but we hope that the posts will provide useful information. The tutorials will be based in Second Life but are meant to assist residents of other virtual worlds where similar mesh capabilities are supported.

The first post will be on how to use an enabled viewer’s upload screen for an unrigged mesh object. Thom will be providing a download of a simple object he has created, licensed under a non-commercial Creative Commons license, as part of the tutorial.

We’re both looking forward to exploring this subject further!

Advertisements

Blog hiatus

Hi all!

From today there will be a short break from new posts. Both myself and Thom find writing fun and rewarding, but, it can also be quite time-intensive.

We’re taking a bit of time off for our OpenSim regions. We’ll be doing some building and learning, also tracking down a strange bug/behaviour that may or may not be linked to a script. If we find out what it is we’ll be blogging about that!

We’ll still be keeping an eye on things here at Enlades, so if you have any questions or comments, please, feel free to leave them on the relevant post. We’ll be back with new guides, tips and experiences in a week or so.

Thanks for reading, be back soon.

Belochka and Thom

Different kinds of triangle shapes

Recently I was looking for the best way to create a regular prim in the shape of an equilateral triangle (i.e. a triangle in which all three sides are equal). I specifically needed this kind of triangle to make a floor panel for a six-sided structure, which can be made out of six identical triangles (see image 1). Let’s look at a couple of ways to create a triangle.

hexagon with six triangles

Image 1. Putting the last floor segment in

Using the Prism building block type

This is the method I ended up using for my floor panel. It just involves two quick steps:

  1. Create a simple box.
  2. When the box rezzes, and with the box still selected, click on the Object tab in the build tool. Locate the “Building block type” selection list, and change its value to Prism. (image 2)

    Image 2. Selecting the Prism building block type gives you a triangle-shaped prism.

I used this method, because it instantly gives you an equilateral triangle. It will stay equilateral as long as you keep the shape’s X and Y sizes equal, and it will rotate neatly around the triangle’s center (also called centroid or center of gravity). This is an important difference with other ways to make a triangle, as we will see below.

Using the Prism default shape

An obvious way to make a triangle is to take the second shape in the list of available base shapes. Confusingly, this shape is called Prism too. Please note the difference between the Prism building block type (which we used in the previous paragraph), and the Prism shape, which actually uses a Box as its building block type (image 3).

Image 3. The Prism shape creates a different kind of triangle

The box you get has been sheared and tapered to create the triangular shape. This is okay for triangle shapes that need a 90-degree angle. However, an equilateral triangle has three 60-degree angles, and the 90-degree angle in this shape will not change when you resize the prim. (see image 4)

Image 4. Sizing the prim does not change the 90-degree angle

Calculating the right triangle size

The 90-degree angle is caused by the Top shear value. When you change the top shear X and Y values back to zero, the triangle starts to look better. It’s too tall though: to change it into a perfect equilateral triangle, you need to calculate the height of the prim. If you want to try this, do the following (see image 5).

  1. Create a default box (sized 0.5 x 0.5 x 0.5).
  2. Make sure the Top shear values are zero.
  3. Set the Taper X value to 1.00.
  4. Change the Z size value (the triangle’s height) to 0.433.

Image 5. For a box-based triangle, check Taper, Top Shear and Height

The height calculation is not difficult, but it takes some extra work, compared to the first method. Besides this, there is another drawback of this approach. This becomes apparent when you need to rotate some triangles in order to create a pattern. If you use this type of triangle, it won’t stay aligned with adjacent triangles, because it has an awkward center of rotation. Since the shape is still based on a box, it will rotate around the center of the box (image 6), rather than the center of the triangle, which you get with the prism building block (image 7).

Image 6. A box-based triangle doesn't rotate neatly around the center

Image 7. A prism-based triangle rotates around the triangle centroid

Conclusion

For equilateral triangles, start with the Prism building block type. For triangles with a right angle, use the Prism default shape.

Happy building with triangles!

Installing OpenSimulator – Part 3

In this blog post, I will be looking at how you install MySql as the database engine for OpenSim.

Reasons for using MySql for OpenSim

It’s good to realize that installing MySql as the database engine for OpenSim is completely optional. You don’t need it to run the full version of OpenSim – using MySql doesn’t give you extra functionality or options when you’re in-world. In fact, if you’re running OpenSim just for you, on your own computer, it’s easier and sufficient to use the default SqlLite database engine.

However, if you’re planning to let other people connect to your OpenSim region(s), MySql is going to give you better performance and stability, because it has been designed to deliver data very quickly, for multiple users at the same time. You’re likely to experience delays and instability when you’re using the default database engine.

Please note that you will need to plan your strategy. You can start out small, as an experiment, or for research, by using the default database engine. Later on you can switch to MySql, but there is no easy way to upgrade or move everything inside your sim to the new database environment. When you move to MySql, you will get a new, empty, OpenSim environment.

Downloading MySql

You will need to download two install files. The first download is for the database engine itself. This is the software that runs the database; it runs invisibly, and once it is installed on your computer or server, it will be started automatically.

The second download is the MySql workbench. It is a tool that allows you to perform administrative tasks on the database engine, such as creating databases, and making backups. To operate OpenSim, you will only need it once: to create a new, empty database, which the OpenSim installation process can use to prepare your OpenSim environment.

Download the MySql database engine (Community Server edition) from this location: http://www.mysql.com/downloads/mysql/.

If your server or PC is running on Windows, download the MSI Installer. For Mac, there is a DMG Archive available for both Mac OS X 10.5 and 10.6. Linux users can choose a version that is specific for their Linux distribution.

Regardless of your operating sytsem, you will notice 32-bit and 64-bit versions of the software. The 64-bit version will only work for you, if you have a 64-bit operating system. The difference between a 32-bit and 64-bit operating systems is the way they access the memory of your computer and the amount of memory they can use. If you don’t know if your computer’s operating system is 32 or 64-bit, you can safely choose to download and install the 32-bit version of MySql.

Download the MySql workbench tool from this location: http://www.mysql.com/downloads/workbench/. For Windows, get the 32-bit MSI installer. For Mac, select the 32-bit DMG Archive. There are no 64-bit versions are available for this software.

Note on downloading: the mysql.com website will ask you to register, but this is optional. There is a “No thanks, just take me to the downloads” link which allows you to go straight to the downloads, without registering.

Installing MySql

Start the first installer file to install the database engine. You do not need any special installation procedure or settings, so you can use all default settings that are presented during the installation procedure. At the end of the installation, the installer needs you to specify a root account and password. You will use this login information later on in the MySql workbench, to connect to the database engine.

Now start the second installer file, to install the MySql workbench. The installation is very straightforward, but once you start the workbench tool, you will need to do some configuration.

Registering a new server instance

First, you need to let the workbench know about the database engine. You do this by registering a new server instance  in the workbench. Click on ‘New Server Instance’ in the Server Administration section on the right.

Then complete the following steps:

  • Specify the host machine by selecting ‘localhost’ (which means that you’re referring to the database engine that runs on the same computer), and click Next.
  • The next step is titled ‘Set the database connection values’. Use the default values, but store the password by clicking on the ‘Store in vault’ button. Fill in the password you entered for the root account before and click Next.
  • Enter the password once again and click Next.
  • In the next step, entitled ‘Test host machine settings’, this message may appear: File doesn’t exist. This is okay, you can click Next.
  • The next step shows a review of the installation steps. Click Next.
  • In the last step ‘Create the Instance Profile’, click Finish.

Creating the empty database

On the workbench home screen, in the SQL Development section on the left, there now should be a connection entitled ‘localhost’.

  • Double click on the localhost connection to open it. A new SQL Editor tab opens.
  • In the Object Browser on the left, you will see a test database. Right-click or Control-click anywhere in the Object Browser and select the menu option Create Schema, or click on the icon I’ve highlighted using a red circle.

  • Create a new schema (new database) and give it the name ‘opensim’. Click Apply.
  • In the Review the SQL script dialog, click Apply SQL.
  • Click Finish, and Close.
  • In the Object Browser you will see the new database.

Allowing OpenSim to access your database

Later on you will start OpenSim, so it can start using the MySql database for the first time. However, you will need to give it access to the database first, by creating a login account. In the next section, you will instruct OpenSim to use that login account in order to access MySql.

First, create a new login account:

  • In the MySql workbench, click on the home tab to return to the Home screen.
  • In the Server Administration section, double click on the @localhost server instance. A new tab opens, allowing you to do database administration.
  • Click on the Accounts button. A list of accounts appears. Currently it only contains the root user.
  • Click on the Add Account button. Fill in a login name (I suggest you use ‘opensim’) and a password. Remember the login name and password – you will need it later on.
  • Click Apply. You will see that the user gets added to the User Accounts list on the left.

Next, give the new account specific rights to access the database (called schema here) you created earlier.

  • Click on the Schema Privileges tab. Make sure that the opensim user on the left is still highlighted.
  • Click on Add Entry.
  • Click the ‘Selected schema’ option, and select the ‘opensim’ schema. Click on OK.
  • Back on the Schema Privileges tab, click on the ‘Select ALL’ button, and click Save Changes.

Instructing OpenSim to use the MySql database

The final thing you need to do is tell OpenSim to start using MySql as its database engine. Without this step, OpenSim would use the default file-based database engine, so this is the part where you tie OpenSim and MySql together. In this section, you will be editing two configuration files. These are simple text files, so you can use the text editor of your choice. For Mac users in particular, editing .ini files may seem a bit unusual. However, the following procedure is applicable for any operating system.

Editing OpenSim.ini

  • In your computer’s file system, navigate to the file folder where you installed OpenSim.
  • Find the file OpenSim.ini in the Bin sub-folder, and open it using your text editor.
  • Scroll down, or use the text editor’s Find/Search function to find the following two lines:
    storage_plugin = "OpenSim.Data.SQLite.dll"
    storage_connection_string="URI=file:OpenSim.db,version=3";
  • These lines need to be ‘disabled’ because they tell OpenSim to use the default database engine. Disable them by typing a ; (semicolon) in front of them. See the lines outlined in red in the screenshot below.
  • A bit further down, find the following lines:
    ; storage_plugin="OpenSim.Data.MySQL.dll"
    ; storage_connection_string="Data Source=localhost;Database=opensim;
      User ID=opensim;Password=*****;"
  • These lines tell OpenSim to start using MySql. Enable them by removing the semicolons at the start. See the lines outlined in green in the screenshot below.
  • Note the stars/asterisks in the second line. Replace them with the password you created in the previous section.
  • Save the file.

Editing StandAloneCommon.ini

  • Inside the Bin sub-folder, you will find another sub-folder called config-include.
  • Find the file StandAloneCommon.ini in that sub-folder, and open it using your text editor.
  • Find this line:
    Include-Storage = "config-include/storage/SQLiteStandalone.ini";
  • In the same way as before, disable this line by typing a semicolon in front of it. See the line outlined in red below.
  • Find the following lines:
    ; StorageProvider = "OpenSim.Data.MySQL.dll"
    ; ConnectionString = "Data Source=localhost;Database=opensim;
      User ID=opensim;Password=***;"
  • Enable these lines by removing the semicolons. See the lines outlined in green below.
  • In the second line, replace the asterisks with the password you created in the previous section.

Conclusion

You have now taken all steps necessary to run OpenSim with MySql. I recommend verifying that you have completed each step, before you start OpenSim again, especially the configuration changes in the last section.

When you start OpenSim again it will automatically connect to MySql and start adding tables and data to the new database for your regions, avatars and objects.

Installing OpenSimulator – Part 2

This is part 2 of a series of blog posts about installing and running OpenSim. In part 1 I talked about choosing where to install OpenSim: at home on your own computer, or on a server. Whichever you choose, you can do so on Linux, Mac or Windows.

Part 2 is going to discuss the technical details of downloading and installing OpenSim in its most basic form: running as a stand-alone OpenSim instance, on a single computer, accessible from that computer only, and using the built-in database system. Future blog posts will talk about accessing your OpenSim from other computers across the internet, and installing and using the MySql database engine.

All you need to install and run OpenSim, and use all of its features, is described here.

My experience of installing OpenSim is limited to Windows machines only. However, installing OpenSim on Mac or Linux is similar and I will try to describe the installation process as generically as possible.

Step 1: Prerequisites

Note: This step is for Mac and Linux users only. You can skip this step if you’re installing on Windows.
The software for OpenSim has been written using the .NET Framework. This means that the software can run on any computer, regardless of its operating system platform, that has an implementation of the .NET Framework for that platform.

The most common .NET Framework implementation for Mac and Linux is called “Mono”. Mono is available for free and can be installed very easily and cleanly. Windows users do not need Mono because they have Microsoft’s implementation of the .NET Framework by default.

To download the Mono installer file that’s specific for your platform (including Mac and various distributions of Linux), go to http://www.mono-project.com/Download, click on the appropriate logo, and follow the instructions to download the file.

For Mac users: You do not need the so-called CSDK packages; the Framework is sufficient because CSDK packages are useful for Mono software development only. The download consists of a single .dmg file. To find your .dmg download, you have two methods. If you want to just open it quickly then you can move your cursor to where your pop-up Dock is, find the Downloads icon, click once to expand the icon and it will show a list of your most recent downloads. Click on the icon of the download you want and it will open a Finder window with the folder or file highlighted for you.

Alternatively you can manually search by going to Users Folder> Your User Name > Downloads.

Step 2: Downloading OpenSim

The latest version of the OpenSim software (at the time of writing, this is version 0.7.0.2) is always available for download at http://opensimulator.org/wiki/Download, in the Binary Packages section. You will see two download links – both have the same content, they just have a different compression format. If you don’t know which one to choose, the .zip format is likely to work for you. Download the file and save it.

Step 3: Installing OpenSim

The compressed file you just downloaded contains a number of files and folders. Create a new folder on your hard drive (I used C:\opensim, but you are free to choose any folder name and location) and extract the contents of the compressed file to the new folder.

For Mac users: create a new folder called ‘opensim’ in your user folder.

Step 4: Starting OpenSim for the first time

The first time you start your sim, it will automatically create the database that OpenSim needs. The built-in SqlLite database engine will be used by default, but the automatic process will work for MySql too. As a database engine, SqlLite is sufficient for now; if you’re planning to create a large sim, and have multiple users connect to it at the same time, you may get better performance by using a MySql database. I will describe the installation of MySql for OpenSim in a future blog post.

Starting OpenSim in Windows

To start your sim, look in the folder contents you just extracted. In the subfolder called “bin”, find the file OpenSim.exe, and double-click to start it.

Starting OpenSim on Mac/Linux

On Mac or Linux, we need to open Terminal and type one simple Mono command in order to start OpenSim. Please take the following steps:

  1. Open the Terminal program, which should be located in the Applications… Utilities folder.
  2. Type: cd opensim <Enter>
  3. Type: cd bin <Enter>
  4. Type: mono OpenSim.exe <Enter>

Installation progress

If you are using firewall software, you may see warning about OpenSim trying to gain access to your network or internet connection. This is normal and you can allow access.

You should see a console window or terminal window now. During preparation of the database, and other configuration, you will see a long list of messages. They are just there for problem solving and showing progress – you do not need to read them.

After the initial configuration, OpenSim is going to ask you for some information so it can create your default region and avatar. OpenSim will suggest a default value for some questions. Just press the Enter key to accept the default value.

OpenSim console window

OpenSim console window, waiting for input

The information you need to enter, is:

New region name: Choose your region name
Region UUID: Choose default value
Region Location: Choose default value [1000, 1000]
Internal IP address: Choose default value [0.0.0.0]
Internal port: Choose default value [9000]
Allow alternate ports: Choose default value [False]
External host name: Choose default value
Do you wish to join an existing estate: no
New estate name: Choose your estate name
Estate owner first name: Choose the first name for your avatar
Estate owner last name: Choose the last name for your avatar
Password: Choose your password
Email: Leave this empty

That’s it! Your sim is running now.

Step 5. Connecting your viewer to the sim

Before you can log into your new sim and see your avatar, you need to tell your viewer where to find your sim. You can do this in your viewer’s Grid Manager, which you should be able to access from the main screen of your viewer.

Open the Grid Manager, and create a new grid. Choose a new name for your sim, and fill in the following value in the “Login URI” field: http://127.0.0.1:9000
To confirm, click Apply, and OK.

OpenSimulator grid manager

Configuring your grid in the OpenSimulator viewer

Now it’s time to connect to your new sim. In the login screen of your viewer, fill in your avatar’s first name, last name and password, and select the grid you just created. You should be able to log in now.

In our next blog post, Belochka will talk about the first visit to an OpenSim region. What you will see, what is in your inventory, and which things you can do next.


Welcome to Enlades

Hello and welcome to Enlades! This blog has been set up to chart the developments, and challenges, for two Second Life ex-residents moving onto creating their own environment using OpenSimulator.

To give a small potted biography: both of us first ventured into the virtual world of Linden Labs’ Second Life at around the same time in October 2007. After just shy of three years we both decided that it was time to move on. Having read about various other grids and communities based on OpenSim software we decided to start out making our own regions and to develop our own, personal, virtual world.

Although it is not unusual for people to move between different virtual worlds one of the reasons we decided to share our progress is that specific information aimed at people with a non-technical background, who wish to start using OpenSim, can be difficult to find, at times frustratingly so.

What we aim to do here at Enlades is describe our experiences, provide some written tips or tutorials, as well as give links to other people’s websites and blogs, to help those who are thinking about moving from their usual grid and for those who are just starting out in creating their own place.

Whilst these entries won’t be definitive answers on the right way to do everything; we both hope that by sharing what we have learnt other people will find that they can also learn and enjoy what the possibilities are. For tips and tutorials we will be indicating whether it requires basic, intermediate or advanced skills, also what sort of equipment and resources you may need.

I’m Belochka Shostakovich and I’ll be writing about texturing, resources, building and other bits and pieces. My fellow writer is Thom Lunasea and he’ll be writing about the more technical aspects of setting up OpenSim software, finding hosting for your worlds and other, related, software and technical matters.

In my first post I will be writing about what OpenSimulator is and what can be some of the initial things to think about.