jump to navigation

OpenSim changes physics and meshing defaults September 16, 2009

Posted by justincc in opensim, opensim-dev, opensim-news, secondlife, virtual-environments, virtual-worlds.
trackback

After a week of discussion on the OpenSim user and development mailing lists we’ve decided to change the default physics and meshing engines.  If you already have a working OpenSim installation with explicit settings for these defaults then you won’t notice any changes.

The physics engine change

The old default physics engine was something called “basicphysics”.  If anything, the name is a bit misleading since basicphysics actually does no physics at all!  Not only did it not implement any dynamic effects such as gravity, but all objects were phantom no matter what their settings.

As of Git revision 077d01 (16th September 2009, post 0.6.6), this has been replaced by the Open Dynamics Engine (ODE) physics plugin as the new default in bin/OpenSim.ini.example.  ODE isn’t perfect in OpenSim, but it is enormously better than basicphysics, since it handles solid objects, collisions and all other kinds of goodies.

One drawback with ODE is that the DLL cannot currently be compiled for a 64 bit Window system.  Therefore, people using a 64 bit version of Windows will need to execute

bin/OpenSim.32BitLaunch.exe

rather than

bin/OpenSim.exe

to launch the region simulator.  We felt that the advantages of changing to ODE outweighed the disadvantages.

The mesher change

The other default that we changed at the same time as the physics plugin is something called the mesher (as set in the meshing parameter under the [Startup] section of the OpenSim.ini/OpenSim.ini.example file).  The mesher provides the mesh that governs collision detection between objects.

The old default was the ‘ZeroMesher’.  Like ‘basicphysics’, it actually does no meshing at all but punts the decision to the physics engine.  Unfortunately, this means you can end up with very basic meshes (possibly just boxes) which don’t even rotate with the object.

The new default is the Meshmerizer as developed by Dahlia Trimble, a fellow OpenSim core developer.  This properly handles complex prims using triangle meshes.  In other words, it allows you to create objects with holes in the middle that you can actually walk through :).  It’s a little more memory and processor hungry than ZeroMesher but again the advantages of proper object meshing by default outweigh the disadvantages.

Final words

As usual, these changes have been made to the bleeding edge Git trunk version of OpenSim.  However, hopefully they will make the initial user experience in the next released verson of OpenSim a little smoother.

Advertisements

Comments»

1. Tweets that mention OpenSim changes physics and meshing defaults | justincc.org -- Topsy.com - September 16, 2009

[…] This post was mentioned on Twitter by Justin Clark-Casey. Justin Clark-Casey said: OpenSim changes physics and meshing defaults – http://bit.ly/UofAD […]

2. Snoots Dwagon - September 16, 2009

Woohoo! I’m sure this will be of help to first-time installers. Having a system install out of the box with no physics was no fun. 🙂

3. justincc - September 17, 2009

@Snoots – In fact, your Mantis 4107 (http://opensimulator.org/mantis/view.php?id=4107) added enough weight for me to push this through, so thanks :). I agree about the documentation problems you talk about too – unfortunately the cruft has built up and it’s now a big job for any one person to shift, especially if they weren’t the original coders of the changes.

4. OpenSim versão 0.6.7 « Estrutura OPEN - October 15, 2009

[…] modulo physics Open Dynamics Engine foi implementado como default. Com isto os usuários do Windows 64 bits terão que o usar o executável OpenSim.32BitLaunch.exe […]

5. Myron Curtis - February 24, 2010

Has anyone come up with a Windows x64 version of OpenSim that works? This is becoming a very frustrating waste of precious resources. In order for me to run a mere 452 regions, I have to start up 8 instances of OpenSim in 32 bit mode which just chokes my little quad core, and eats up about 4 gigs of extra RAM. Do you know if anyone has ported it to Havok, or if Unreal’s SDK can be used to fix this?

6. justincc - February 25, 2010

@Myron – I’m not sure I would call 452 regions on a single machine a mere number!

As far as I know, no one has yet implemented a Havok or Unreal physics plugin. Unfortunately, physics devs are very thin on the ground and I hear that there are significant problems in getting ODE to compile properly for 64 bit in Windows. It’s not an area I’m very familiar with.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: