Git for Ruth2 and Roth2 Development

Git-Logo-2Color
Git is a source code version control supporting contributions from a number of developers. Git tutorial and reference material is available via including a complete online “Pro Git” book.

This post is a record of some helpful advice given by Fred Beckhusen for RuthAndRoth Git “Organization” Members developing the Ruth 2.0 and Roth 2.0 open source avatar meshes.


I’ll try to explain a bit more about git and how to use it with Ruth and Roth.

First, read the very basics at https://rogerdudler.github.io/git-guide/

In our case, Github.com is a publicly available web site running git, along with a lot of custom web-facing stuff. We use it as a master “repo” or repository for all our public changes. You also run git, which mean you have all the same data as in the github. Anyone with a “git clone” has Everything We Have Ever Done. Unlike other source code control systems, all the data in git is distributed to every machine. Git is simple to use, but DEEP, as it was designed by Linus Torvalds, the genius behind Linux.

I am going to use the command line syntax here, as it is universal in terminology. Almost all these commands and workflow is found in the various Gui’s.

Ways to work in git:

git init‘ makes a hidden .git folder in any blank folder, which makes that folder into a ‘git’. You can also do a ‘git clone’ to get a premade git put into that folder, like in Ruth and Roth. All gits have a .git folder, which is typically hidden. You now add stuff to your original folder, delete stuff, rename stuff, (Eg. work on it), and then git add ( git -a) those changes to a temporary work area, and git commit (git -m) the work area to you LOCAL .git. This change is tracked in the .git by a hash. A Hash is a long series of alpha-numeric data that is like a check sum of all the digits, or a CRC, that uniquely identifies all those changes.

You can see any changes in Git with ‘gitk’. gitk can also drill down to the changes in any file.

In the git command line, you can see what is happening with ‘git status’. GUI tools do this for you when you refresh the GUI.

Your Ruth copy started with ‘git clone‘, which brings in the entire .git from Github to your local harddrive. There is the data, and also there is the ‘metadata’ in a hidden folder named .git, which is not human readable without tools. There are many git tools – the command line, git desktop, the git gui, gitk, which shows the history of a git, and so on.

I use the git found by right-clicking any empty area in the ruth repo and selecting Git Gui Here

I pretty much only use git on the command line to do a *git pull*.

A ‘git fetch‘ goes to github and fetches the latest changes to your local .git folder. It does not check out those changes to your working area. Useful if you want to see what’s going on without changing anything in your working folder.

A ‘git pull‘ will fetch the changes to the .git, and also check them out into your working folder.

Good habits: If using the command line, do a ‘git status‘ often. I leave my git gui open at all times, and click refresh often, which is the same thing.

Make commits often. As in Very Often. If you save a Blender file, that is a good time to also commit it so you can get back to that specific blender file if need be. Its a good idea to keep several copies of a blender file as it is easy to go back a step. But this is entirely optional in git workflow. You never need more than one copy of a file. Git does not enforce any rules about what you do to your data. If you want to make a Ruth Rev 1,2,3,4,5 and so on, git does not care. It will track them all. If you make a blend, and commit Rev 1, commit Rev 2, commit rev 3, then git will track every one of those too. Even better, it can track any commits you made while making Rev 3, so long as you saved the blender file, and made commit for it.

My advice is make each commit about one thing. As one example, in Dreamgrid, I have one text file that has a list of all changes. I edit the the document and commit it every time I change something major. I also use ‘gitk’ to see what all I have done everywhere, and update the document for any missing things, typos, and such. This final draft gets committed too, and this text file gets published in the code, as well as on social media. I used to try to maintain a web site to match copies of my code. But they were never in sync. Help is always behind the latest code, the code someone is running is always older than what I am working on, and the web site then rarely matches what they are getting. So I now publish the help in my git, and update it constantly, so any rev closely matches the documents. If I need to clean up some comments in my code, I will ONLY clean up comments, then commit that as “cleaned up comments’. Let’s assume I don’t like the names of two functions. I change those names and commit that one change. The nice thing about the git GUI if I forget to make a commit, I can stage just one or more files with the small change I want to commit, then repeat for another change. Granted, none of this applies to Ruth and Roth mesh bodies, but they do have many steps in their creation, so once you get used to git, you can simply name a file “Ruth.blend” and never have to use another file name for her. Any commit is available to you at any time.

The ‘git checkout‘ command will change the entire repository to whatever it was the moment that particular Hash was committed. It branches off my local copy of the data from the .git onto a new path that it will track, a path that I can just drop after examining the old code/blender, or continue on with, and eventually merge back in with the main trunk. This will probably be rare in Ruth and Roth, though.

Useful Commands:

git stash‘ – save all my changes away on a stack. Useful when I have ‘touched’ a file that I do not want to save back to the git, and that local change is preventing me from going a git pull. git stash will save it away. I can get back the change, if I want, or just ignore that stack after doing a git pull. git stash clear will empty the stash.

git reset –hard‘ – A command that throws away everything I have done and forces my working copy to be an exact match of the .git. I use this much less often now. Handy for those times you get frustrated with git not accepting changes, and when you do not understand how to untangle it. I just save my blender or code somewhere else. Then do a hard reset, and copy the file back, commit it, and then it will take a git push. Tread with caution here, as there be dragons!

Posted in Information | Tagged | Comments Off on Git for Ruth2 and Roth2 Development

Ruth 2.0 LuvMyBod – Resources

Hyacinth Jewell, a content creator in OpenSimulator, has provided a revised higher definition version of the open source Ruth 2.0 avatar mesh. This post provides some resources and links for this.

hop://grid.hgluv.com:8302/Luv Plaza/78/138/28

Posted in OpenSim | Tagged , , | Comments Off on Ruth 2.0 LuvMyBod – Resources

OpenSimulator Community Conference 2019 – OSCC19

The OpenSimulator Community Conference (OSCC19) ran again this year on December 14th to 15th, 2019 and was once again organised and run by Avacon.


OpenSimulator Core Dev Panel

OSCC19 Audience

What is Good About OpenSim 0.9.1

The conference grid is using the latest OpenSim 0.9.1.0. Introduced by Lyr Lobo, Kayaker Magic and Mike Lorrey spoke about some of the features of the new release.

Shopping, Community and Expo Regions

OSGrid Region Walkthrough

Try it in “Mouselook” or VR (with Firestorm VR Mod)…

Posted in OpenSim | Tagged , , | Comments Off on OpenSimulator Community Conference 2019 – OSCC19

Second Life – Houseboat – Winter 2019

My Houseboat on the Bellisseria continent in Second Life now has its Winter decorations in place…


360° Snapshot Viewer 6.2.4.529111 (Updated July 16, 2019)

The 360 Snapshot Viewer 6.2.4.529111 saves the output as a standard equirectangular JPEG so it can be used use in sites like Flickr.

Posted in Second Life | Tagged | Comments Off on Second Life – Houseboat – Winter 2019

Blender – Resources

This blog post is to provide resources and access links for Blender – a widely used open source 3D modelling and animation tool.

Blender Tips

T – shows or dismisses the left hand tools bar.
N – shows or dismisses the right hand tools bar.

Blender Addons

Addons provide many extra facilities…

  • Avastar – Second Life/OpenSim Avatar and Clothing Creation

Blender Community and Open Source Resources

The Blender Community engages in significant 3D modelling, animation and production projects, making all the resources available to act as a tutorial and basis for other work. These are called “Blender Open Movies“. E.g.,

Posted in 3D | Tagged , | Comments Off on Blender – Resources

Singularity Viewer – Resources


Singularity Viewer is an open-source virtual world viewer for Second Life and OpenSim. It uses the “V1-Style” User Interface Viewer combined with the latest Second Life changes and features. The latest (Beta) versions support Bakes on Mesh.

As described on the Downloads page, here is how to get the latest build of the Singularity Viewer (use the Beta version):

  1. For Singularity Beta go here:
    https://build.alchemyviewer.org/browse/SV-BETA/latestSuccessful
  2. Find the installers at the bottom of the page and download/run the one for your platform.

For Singularity Alpha (which may be less stable than the Beta) go here:
https://build.alchemyviewer.org/browse/SV-ALPHA/latestSuccessful

Posted in OpenSim, Second Life | Tagged , , , | Comments Off on Singularity Viewer – Resources

Firestorm VR Mod 6.3.3

On 28-Nov-2019 Peter Kappler provided an update to his Firestorm VR Mod Viewer at https://gsgrid.de/firestorm-vr-mod/ – go there to download the latest version and for usage information, source, advice on trouble shooting, etc.

Discord Discussion Channel: P373R-WORKSHOP by p373r_kappler [ Invite ]

The version of the Firestorm viewer on which the latest Firestorm VR Mod 6.3.3.58049 is based supports Bakes on Mesh [BoM] in both Second Life and OpenSim. Most of the time this will work fine, but if you use extended BoM features please don’t use this viewer to log directly into a grid/region known to run on older 0.8.* server code.

Instructions are available via prompts in the viewer or via information on https://gsgrid.de/firestorm-vr-mod/. In short…

  • Press CTRL+TAB to load or unload the SteamVR driver. Do this each time you want to enter VR mode after starting up.
  • Press TAB key to enable and disable VR mode.
  • Press F5 to open the settings menu, you should see a text menu in the middle of the screen. The settings menu works only when VR mode is enabled.
  • Press F6 to increase the selected value. Press F7 to decrease the selected value.
  • Press F5 again to switch to the next menu entry.
  • By pressing F5 on the last menu entry the menu will close and save the settings in a config file which is located in
    C:\Users\your_user_name\AppData\Roaming\Firestorm_x64\vrconfig.ini
    and can be edited directly. Pressing TAB reloads the config file.
  • Hold F3 to see some debug info.
  • Press F4 to disable and enable HMD’s direction changes. It is better to disable the HMD’s direction interface when editing and flying with the camera. This may be subject to change in future versions.
  • Moving the mouse to the corners or the sides will shift the screen to this direction so menus can be accessed.
  • In the camera floater two buttons has been added to offset the HMD’s base rotation.

In case you encounter issues with a black HMD display… Peter suggests the following:

  • Create a program-specific profile for the viewer in your graphic card settings and enable FXAA.
  • Second life only supports FXAA. Other types of Anti-aliasing can be disabled.

Advice on Frame Rate

You do need to ensure you have a good frame rate to have a comfortable VR experience. The Firestorm VR Mod Viewer will not work well if the Second Life/OpenSim region you visit cannot normally be displayed in 2D with a decent frame rate. In VR mode you can assume you will get roughly 50% of the frame rate that shows on the 2D normal screen. At low frame rates bad flickering will occur in VR mode. My suggestion is to look at the frame rate (in Firestorm it is displayed in the upper right hand corner of the viewer) and to adjust the graphics settings (especially draw distance, shadows and quality sliders) until you have around 100fps (and definitely more than 50fps) and then try VR.

Peter Kappler also suggested: Particles… a fireplace is going to eat 20 to 30 fps! So turn them off for VR.

Tips from David Rowe for using the CtrlAltStudio VR Viewer may also be relevant:

  1. To improve your frame rate, reduce your draw distance and/or tweak other display settings such as advanced lighting model, shadows, FOV, pixel density, etc.
  2. Make sure you don’t have Preferences > Graphics > Rendering > Limit Framerate enabled.
  3. To display avatar chat above avatars use Preferences > Chat > Visuals > Show chat in bubbles above avatars.
  4. With floating text you may want to adjust the distance the floating text fades at so that distant text is not so annoying in VR mode: Preferences > User Interface > 3D World > Floating text fade distance.

Function Keys and Gestures

If you have issues with some of the Function keys (F5 or other Firestorm VR Mod keys) not working… look to see if the F keys involved are mapped to active “Gestures”. You can find a list of the gestures you currently have active and the keys associated with them using the “Gestures” toolbar button… or the Comm -> Gestures menu item (Ctrl+G shortcut)

Notes on Usage

Peter Kappler suggested the following process to establish suitable settings for your HMD:

  • Set IPD to 0 (zero)
  • Then adjust Texture Shift until image is sharp and focused
  • Then adjust IPD which separates your cameras to left and right to get a good 3D effect

On my Oculus Rift DK2, I found that I needed to adjust the IPD setting to my usual setting (68mm), but otherwise the default VR settings (with Texture Shift of 0) all worked fine. On my Oculus Rift CV1 Texture Shift of +25 was needed to bring the images into alignment.

Headset Texture Offset
Oculus Rift DK2 0
Oculus Rift CV1 +25

Xbox One Controller

An Xbox One controller as used with the Oculus Rift (or an Xbox 360 controller) can be enabled, as usual, in Firestorm via Preferences -> Move & View -> Movement -> Joystick Configuration -> Enable Joystick.

You will probably find the controls are under or over sensitive, or some buttons and triggers don’t do what you expect. See this blog post and the image here (click for a larger version) for some suggestions as to how to amend the settings…
https://hugsalot.wordpress.com/2012/12/03/joystick-settings-for-firestorm-with-xbox-360-controller/

You might want to enter “-1” rather than axis “5” as an indication that axis is not mapped. With the setup suggested the “A” button toggles between the normal avatar view and “FlyCam” mode allowing you to move the camera separately to the avatar.

Firestorm VR Mod Source

This version of Firestorm VR Mod 6.3.3.58049 is based on the Firestorm source code at Commit 58049 (Fri, 20 Sep 2019 22:08:08). This is effectively the same as that used for the Second Life only Firestorm 6.3.2.58052. The version number difference is because of a revert that took place between commits 58049 and 58052.

With Firestorm VR Mod version 6.3.3, Peter has revised the way he injects VR capabilities into the Firestorm Viewer to make the mod easier to maintain in future and for others to repeat or adapt. The source is available from his web page at https://gsgrid.de/firestorm-vr-mod/.

Impressively, the source is written in a way that it requires only some editing in the llviewerdisplay.cpp and adding 2 files to the project. All changed are marked with #####P373R##### comments. Peter also included the openvr header and lib files you will need in the rar. For information about the rest of the files you will need, read how to compile Firestorm at https://wiki.firestormviewer.org/fs_compiling_firestorm.

Firestorm source is available at https://vcs.firestormviewer.org/phoenix-firestorm [previously at https://hg.firestormviewer.org/phoenix-firestorm-lgpl/].

VRLand – Test Area

VRLand on OSGrid is a metrics area for performance testing and to establish virtual field of view in your headset.

hop://hg.osgrid.org:80/VRLand/128/128/20

More detail at: http://blog.inf.ed.ac.uk/atate/2016/07/20/vrland-a-community-and-test-region-for-virtual-reality-in-virtual-worlds/

2016-07-22-OSGrid-VRLand-Campfire-VR Video-Test-Card-Ultra-With-Shadows-VR-Mirror-3rd-Person

Posted in OpenSim, Second Life, VR | Tagged , , , | Comments Off on Firestorm VR Mod 6.3.3

Cool VL Viewer – Resources

This blog post is to provide resources and access links for the Cool VL Viewer for Second Life and OpenSim. The latest version is “Cool VL Viewer v1.26.24.1, 64 bits, Nov 23 2019 09:42:01” and supports Bakes on Mesh (BoM). It is a V1-style viewer developed by Henri Beauchamp (SL avatar name), creator of “Cool Products” in Second Life.

As Henry notes… “Cool VL Viewer puts emphasis on high UI coherency from one version to the other (meaning no bad surprise for “old timers”) while staying in sync with Linden Lab’s official viewer features, high stability and reliability, and a high reactivity to new patches and bug fixes provided by the Open Source community. The Cool VL Viewer is also kept fully OpenSim-compatible”.

Posted in OpenSim, Second Life | Tagged , , , | Comments Off on Cool VL Viewer – Resources

Artificial Intelligence and its Applications Institute

CISA changed its name on 1st December 2019. This is a draft of a web page that will appear on the new Institute’s web pages with some background. Feedback to a.tate@ed.ac.uk appreciated.

Artificial Intelligence work at Edinburgh can trace its origins to a small research group established in 1963 by Donald Michie, who had been a member of the code-breaking group that included Alan Turing at Bletchley Park. Over the years there have been a number of different organisational structures and department names for the AI groups.

A History of AI@Edinburgh has been provided by Jim Howe, the Head of the Department of AI at Edinburgh for many years. There is also a time line of Computing and Artificial Intelligence work at Edinburgh in the University of Edinburgh’s Edit Magazine.

Now a number of the AI@Edinburgh groups working on research, teaching and innovative applications of AI will be under the banner of the “Artificial Intelligence and its Applications Institute” (AIAI) within the School of Informatics.

Artificial Intelligence @ Edinburgh over the Years

  • Experimental Programming Unit (EPU), 1963-1966
  • Department of Machine Intelligence and Perception (DMIP), 1966-1970
  • Department of Machine Intelligence, 1970-1973
  • School of Artificial Intelligence, 1973-1974
    + Machine Intelligence Research Unit (MIRU), 1973-1977
  • Department of Artificial Intelligence (DAI), 1974-1998
    + Artificial Intelligence Applications Institute (AIAI), 1984-2019
  • In 1998, the University joined together three departments: Artificial Intelligence, Cognitive Science and Computer Science, as well as a number of research institutes including AIAI and the Human Communication Research Centre, to form the School of Informatics.
  • Institute for Representation and Reasoning (IRR), School of Informatics, 1998-2001
  • Centre for Intelligent Systems and their Applications (CISA), School of Informatics, 2001-2019
  • Artificial Intelligence and its Applications Institute (AIAI), School of Informatics, 2019-

A number of other departments and schools at the University of Edinburgh as well as other research institutes in the School of Informatics work on a range of topics within the field of Artificial Intelligence.

Over five decades of world-leading research, teaching
and innovative applications in AI at Edinburgh


Posted in AI | Tagged | 3 Comments

OpenSim 0.9.1.0

OpenSimulator 0.9.1.0 Snail ** is now formally released as the latest stable version of the open source virtual world platform. See http://opensimulator.org/


OSGrid Dev Outreach – Ubit and Ai – All the work down to Ubit – Halloween is Coming

OpenSim 0.9.1.0 introduces new features including:

  • New script engine: Yengine (XEngine is still the default)
  • New OSSL functions, see OSSL Functions with examples
  • Support for viewer side objects cache
  • Support mesh objects animations (AniMesh)
  • Early Bakes on Mesh (BoM) support. Viewer developments are required

** OpenSim releases now have a “name” as well as a four level version number. 0.9.1.0 is “Snail”. The next Dev Master development version is named “Yeti” – a mythical creature occasionally seen by humans.

More on Bakes on Mesh in OpenSim

At the moment there is no officially released viewer able to support Bakes on Mesh (BoM) in OpenSim. Some developers are using experimental builds of Firestorm compiled to allow BoM experimentation. Let me explain why that is…

Jessica Lyon, the project leader for the Firestorm Viewer project, said on a blog post that they planned to release Firestorm 6.3.2 for SL+OS with Bakes on Mesh support this time, but OpenSim developer UbitUmarov asked her not to do this at this stage as he is concerned that if any user uses it who has added BoM to their avatar with the extended bakes textures and logs DIRECTLY onto a 0.8.* grid they can crash it. See this further blog post for the explanation.

Its fine to try to Hypergrid to old grids having logged in via the latest OpenSim versions (and the new stable 0.9.1.0 release) as the updated systems protect the older incompatible grids from a user trying to go there via Hypergrid if they use any new extended bakes texture or a new BoM specific feature like Universal wearables. We are stuck at the moment waiting for a Firestorm developer to add the protective code directly into the viewer. So, for the moment, the OpenSim server code is ahead of the viewer development needed to support the BoM feature in OpenSim. The synergy and push/pull between the server and viewer code has been a positive feature of the virtual worlds open source development community and I hope this continues and we can get back in sync. Having said that, we can expect some features to exist in each server platform that go beyond what the other platform can or will support.

Bill Blight in the OpenSimulator community has created the OpenStorm viewer based on a branch off the Firestorm viewer code with BoM support. But it is deliberately not being widely distributed as it can be a risk to OpenSim grids on older versions, as described above. I am testing BoM with OpenStorm and with a version of vanilla Firestorm 6.3.2.58056 compiled with the OpenSim flag turned on. Yes, at the moment that is possible, nothing incompatible has been added or removed yet from the main lgpl branch of Firestorm.

Using YEngine

I switched from the default XEngine script engine to YEngine as a test for my experimental grid “AiLand”. As anticipated, there were a few script compile errors as YEngine is more strict on syntax and type casting. Tracking these down using the OpenSim.log provided region, object, script name and X,Y,Z locaton of the problematic items led to the following types of error:

  1. Use of break needs to be replaced by return. break is not normal LSL, but it worked in XEngine.
  2. In some cases vectors were used where rotations were expected. The constant ZERO_ROTATION can be used where zero rotation is needed.
  3. Some parentheses might be required to disambiguate statements… such as
    if (llGetPermissions() & PERMISSION_TAKE_CONTROLS == FALSE) should be
    if ((llGetPermissions() & PERMISSION_TAKE_CONTROLS) == FALSE)
  4. Scripts may not start at (0,0) with the expected syntax or elements, e.g. looking for var name, type, state or default, script-defined type declaration. Some scripts were not wrapped by default { … }.
Posted in OpenSim | Tagged | Comments Off on OpenSim 0.9.1.0

Ruth2 and Roth2 Statistics


Ruth2 and Roth2 are low-poly mesh avatar bodies, specifically designed for Opensimulator and second Life. They are built to use standard Second Life UV maps using scratch-built open source mesh bodies by Shin Ingen with other open source contributions from the OpenSimulator Community. More details and resources links are in this blog post.

Ruth 2.0 Statistics

All Statistics and complexity figures taken in Second Life using Firestorm 6.3.2.58052 64 bit on Windows 10. Base avatar shape, hair base, eyes and skin with three 512×512 textures in place (starts at complexity 2,000).

Based on RuthToo RC#3 Bakes on Mesh (BoM) version provided by Sean Heavy on the Blumfield region in Second Life or on the Second Life Marketplace: Ruth 2.0 RC#3 (RuthToo). Remember that this is a base avatar onto which your usual hair, attachments and clothing would be added.

  • Body (Upper and Lower)
    1 objects, 2 prims
    Faces: 4
    Vertices: 6,300
    Triangles: 11,410
    Complexity: 1,584
    Textures: 2
    TMem: 2,048 KB
    VRAM: 2,048 KB
  • Hands
    1 objects, 1 prims
    Faces: 2
    Vertices: 3,320
    Triangles: 5,908
    Complexity: 1,224
    Textures: 1
    VRAM: 1,024 KB
  • Fingernails (Coloured)
    1 objects, 1 prims
    Faces: 3
    Vertices: 1,752
    Triangles: 2,688
    Complexity: 912
    Textures: 1
    TMem: 256 KB
    VRAM: 1,024 KB
  • Feet (Flat)
    1 objects, 1 prims
    Faces: 2
    Vertices: 2,768
    Triangles: 4,992
    Complexity: 432
    Textures: 1
    VRAM: 1,024 KB
  • Toenails (Coloured)
    1 objects, 1 prims
    Faces: 2
    Vertices: 1,400
    Triangles: 1,904
    Complexity: 792
    Textures: 1
    TMem: 256 KB
    VRAM: 1,024 KB
  • Head
    1 objects, 1 prims
    Faces: 1
    Vertices: 1,116
    Triangles: 1,844
    Complexity: 672
    Textures: 1
    TMem: 1,024 KB
    VRAM: 1,024 KB
  • Eyeballs
    1 objects, 2 prims
    Faces: 2
    Vertices: 296
    Triangles: 544
    Complex.: 480
    Textures: 1
    TMem: 1,024 KB
    VRAM: 1,024 KB

Complexity: The reported complexity in the viewer (Firestorm 6.3.2.58056) includes the base avatar with shape, skin (3 X 512×512 textures), hair and eyes (128×128 texture) = 2,000. When the Ruth 2.0 RC#3 body (upper and lower), head, eyeballs, hand, fingernails, (flat) feet and toenails are added the complexity = 8,096.

Roth 2.0 Statistics

All Statistics and complexity figures taken in Second Life using Firestorm 6.3.2.58052 64 bit on Windows 10. Base avatar shape, hair base, eyes and skin with three 512×512 textures in place (starts at complexity 2,000).

Based on RothToo RC#1 Bakes on Mesh (BoM) version provided by Sean Heavy on the Blumfield region in Second Life or on the Second Life Marketplace: Roth 2.0 RC#1 (RothToo). Remember that this is a base avatar onto which your usual hair, attachments and clothing would be added.

  • Body (Upper and Lower)
    1 objects, 2 prims
    Faces: 4
    Vertices: 9,772
    Triangles: 18,038
    Complexity: 7,344
    Textures: 6 **
    TMem: 16,384 KB
    VRAM: 18,432 KB
  • Hands
    1 objects, 1 prims
    Faces: 2
    Vertices: 3,328
    Triangles: 5,918
    Complexity: 5,256
    Textures: 3 **
    TMem: 8,192 KB
    VRAM: 9,216 KB
  • Fingernails (Textured)
    1 objects, 1 prims
    Faces: 3
    Vertices: 1,552
    Triangles: 2,328
    Complexity: 1,290
    Textures: 1
    TMem: 256 KB
    VRAM: 1,024 KB
  • Feet
    1 objects, 1 prims
    Faces: 2
    Vertices: 2,792
    Triangles: 5,016
    Complexity: 528
    Textures: 3 **
    TMem: 8,192 KB
    VRAM: 9,216 KB
  • Toenails (Textured)
    1 objects, 1 prims
    Faces: 2
    Vertices: 1,400
    Triangles: 1,904
    Complexity: 390
    Textures: 1
    TMem: 256 KB
    VRAM: 1,024 KB
  • Head
    1 objects, 1 prims
    Faces: 1
    Vertices: 1,112
    Triangles: 1,844
    Complexity: 480
    Textures: 1
    TMem: 1,024 KB
    VRAM: 1,024 KB
  • Eyeballs
    1 objects, 2 prims
    Faces: 2
    Vertices: 296
    Triangles: 544
    Complexity: 414
    Textures: 1
    TMem: 1,024 KB
    VRAM: 1,024 KB

** Roth 2.0 RC#1 (RuthToo) distributed version as at 18-Oct-2019 includes a body, feet and hands which have extra textures for bumpiness and shininess. These may not be relevant when using BoM and can be removed.

Complexity: The reported complexity in the viewer (Firestorm 6.3.2.58056) includes the base avatar with shape, skin (3 X 512×512 textures), hair and eyes (128×128 texture) = 2,000. When the Roth 2.0 RC#1 body (upper and lower), head, eyeballs, hand, fingernails, (flat) feet and toenails are added the complexity = 17,702.

Note the complexity of the Roth 2.0 RC#1 hands (5,256) seems unusually high, and is much higher than the equivalently Ruth 2.0 female body hands (1,224). This needs to be investigated.

Note on Statistics for Comparison with Other Mesh Bodies

For a fair comparison, note that other bodies often include the nails with feet and hands. Also note that some mesh bodies may have combo feet, i.e. multiple pairs merged together for flat, medium and high heel positions, with one selected to be visible. Some variants of Ruth 2.0 in Second Life and OpenSim are built this way too. [Thanks to Pulsar for suggesting this comparison related note.]

Posted in OpenSim, Second Life | Tagged , , , , | Comments Off on Ruth2 and Roth2 Statistics

NASA Artemis 3D Mosaic Sculpture


https://www.nasa.gov/artemis/Be_a_part_of_the_Artemis_Generation

The NASA Artemis Program will see humanity live sustainably and work on the Moon. To celebrate, NASA will feature images/selfies from people across the world on a 3D mosaic sculpture representing their future plans. The images will be colour-matched, printed, and added to the sculpture by hand at the 70th International Astronautical Congress in Washington, DC on 21st to 25th October 2019.



Posted in 3D, Space | Tagged , , , , | Comments Off on NASA Artemis 3D Mosaic Sculpture

Halloween in Second Life 2019

Halloween has arrived on the houseboat on the Bellisseria continent in Second Life (Ai Pad) courtesy of some Halloween decorations, pumpkins and light sets provided by Linden Lab.


Posted in Second Life | Tagged , | Comments Off on Halloween in Second Life 2019

OpenStorm – Resources

Bill Blight and friends have created an OpenSim focussed branch of the Firestorm Viewer called OpenStorm.

Take care… this experimental build of the Firestorm Viewer is intended for experienced users using OpenSim virtual worlds server development code (dev master) and who are aware that features are under development and may not be supported by some OpenSim grids running on earlier versions of OpenSim server code.

This is a fork of the Firestorm Development code, and not intended for release/general distribution! Downloads, change logs and other information is available at https://downloads.openstormviewer.org/ [which may or may not be accessible to the public]

Source Code is available at https://bitbucket.org/BillBlight/openstorm-lgpl/src/default/

The version on 2-Oct-2019 with version number 0.9.1.30 is based on Firestorm 6.2.4.58052 64 bit compiled with OpenSim included and with some OpenSim specific and cosmetic changes:

  • Bakes on Mesh for OpenSimulator (this could crash older regions/grids)
  • Increased VRAM availability.
  • Re-enable decompose (analyze) in mesh upload
  • Increase Particle size to max protocol 7.96 (Thanks Ubit)
  • Double the max ammount of rendered particles
  • Removed SL offset to avatar hover height (Thanks Ubit)
  • Region map search patch, allows OpenSimulator users to search for part of region name (Thanks Plugh)
Posted in OpenSim, Virtual World | Tagged , | Comments Off on OpenStorm – Resources

OpenSim Statistics

There has been a question** on how many OpenSim users use various virtual world viewers that are OpenSim compatible, like Firestorm, Singularity, Alchemy, Radegast, etc. For Second Life, user statistics and viewer usage is collected via Linden Lab. But for privacy, viewers do not instrument such logins in OpenSim.

This blog post notes some resources that may be useful for those seeking to collect OpenSim usage statistics. Please take care never to misuse personal date and login information when collecting generic statistics to assist in OpenSim development.

OpenSim region servers can log a number of usage statistics using “WebStats”. See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page. This is disabled by default in OpenSimDefaults.ini but can be enabled by adding a [WebStats] section to OpenSim.ini

[WebStats]
    ; View region statistics via a web page
    enabled=true

Then use a web browser and type in the region server hostname:http_listener_port + “/SStats/clients.report” (note NOT the Robust server/LoginURI name unless its a standalone all on a single server).

Preserve the WebStats on OpenSim Upgrade

The WebStats are maintained in a data base in file bin/LocalUserStatistics.db. This should be retained and copied into any updated OpenSim build to preserve the statistics.

Openvue Grid
http://virtual.aiai.ed.ac.uk:9000/SStats/clients.report
http://struay.aiai.ed.ac.uk:9000/SStats/clients.report

AiLand Grid
http://ai.vue.ed.ac.uk:9000/SStats/clients.report
http://tiree.aiai.ed.ac.uk:9000/SStats/clients.report

OSGrid Vuehttp://shetland.aiai.ed.ac.uk:9000/SStats/clients.report
OSGrid Openvuehttp://shetland.aiai.ed.ac.uk:9010/SStats/clients.report
OSGrid RuthAndRothhttp://struay.aiai.ed.ac.uk:9020/SStats/clients.report
OSGrid RuthAndRoth2http://tiree.aiai.ed.ac.uk:9030/SStats/clients.report


** Jessica Lyon, the Project Leader of the Pheonix Firestorm Project in a blog post on 18-Sep-2019 estimated there might be just 2,000 users of Firestorm who logged into OpenSim grids. In comments to the post, one single educational user pointed out they had 10,000 users using Firestorm for OpenSim access.

Posted in OpenSim | Tagged , | Comments Off on OpenSim Statistics

Firestorm VR 6.2.4

Update: 28-Nov-2019: Peter Kappler now has a home page for Firestorm VR Mod at https://gsgrid.de/firestorm-vr-mod/ – go there for the latest version and information.

The version of the Firestorm viewer on which the latest Firestorm VR Mod 6.3.3.58049 is based supports Bakes on Mesh [BoM] in both Second Life and OpenSim. Most of the time this will work fine, but if you use extended BoM features please don’t use this viewer to log directly into a grid/region known to run on older 0.8.* server code.

Peter Kappler <pete@gsgrid.net> [YouTube Channel] (PWNED Magic in Second Life) has created a VR version of the Firestorm Viewer using OpenVR/SteamVR compatible with Vive, Oculus Rift, Windows Mixed Reality and other VR headsets (HMDs).
On 23rd September 2019, Peter provided an updated version of Firestorm VR 6.2.4 compiled for Second Life and OpenSim which should fix the “black screen” issue seen in earlier releases [See this blog post].

Discord Discussion Channel: P373R-WORKSHOP by p373r_kappler [ Invite ]

Download and Installation

  1. Download http://gsgrid.net/Phoenix-FirestormOS-P3-VRMOD-6-2-4-57588_Setup.rar
  2. Unpack the .rar to get the Firestorm .exe installer and openvr_api.dll
  3. Install Phoenix-FirestormOS-P3-VRMOD-6-2-4-57588_Setup.exe
  4. Place openvr_api.dll in install directory.
  5. Install SteamVR if you don’t already have it available.
  6. Start Firestorm VR (which reports itself as 6.2.4.57575).

Firestorm VR Settings

  • Go to Preferences -> Graphics-> Steam VR Tab and tick to enable Steam VR. (a viewer restart may be needed, so do that to be sure)
  • Go to Preferences -> Move & View and set the Field of View (FOV or View Angle) to 1.80 (default on Firestorm is 1.04)

For different VR HMDs these settings should also be adjusted:

  • Preferences -> Graphics -> Steam VR -> Texture Shift: Setting appropriate to your HMD. For example it is set to 0 (the default) for Oculus Rift DK2, and set to 200 for Oculus Rift CV1. If you have double vision in VR mode in your HMD, move this setting until the image is in sync.
  • Preferences -> Graphics -> Camera distance from center: Set to your inter-pupil distance (IPD) to get a good 3D image. If this setting is not accurate the 3D view can look too flat or layered. Note that a setting of 0 means the image will be 2D.

A number of users have suggested starting settings for various virtual reality headsets…

Headset Type Texture Shift Camera Distance from Center FOV Info. From
Oculus Rift S ? ? 1.8 ?
Oculus Rift CV1 +200 IPD 1.8 Ai Austin
Oculus Rift DK2 0 IPD 1.8 Ai Austin
Vive Pro ? ? 1.8 ?
Vive Cosmos ? ? 1.8 ?
Valve Index +210 ++ 45mm (for IPD 70mm) 1.8 skr
Pimax 5K+ +700 ++ IPD 2.1-2.2 Grebo
Microsoft Windows Mixed Reality Headsets
Samsung Odyssey+ +71 IPD 1.8 Pstromboli
Lenovo Explorer ? ? 1.8 ?
Dell Visor ? ? 1.8 ?

++ A Texture Shift < -200 or > +200 can be made via the Advanced menu – Debug Settings for “TextureShift” but on the Steam VR Preferences Panel the value displayed is limited by entries in the file firestorm-install-dir/skins/default/xui/en/panel_preferences_graphics1.xml. This can be edited to change the TextureShift default lower and upper limits.

Peter Kappler notes: On Firestorm VR initialisation SteamVR indicates the resolution your headset expects. That is where Firestorm VR gets the aspect ratio for the HMD. In the “Enable Debug Display” there are 2 values Rheight and Rwidth which should be your headset resolution.

Usage

PRESS TAB key to enable and disable VR output.

The Camera Controls floater has two extra buttons << and >> to let you turn the angle at which your camera points.

If you move the mouse to one of the four corners or four sides of the screen the HMD view jumps to show that corner or side in VR mode. This enables menus and HUD attachments to be more easily reached. Return the mouse to the centre of the screen to return to normal HMD directional view.

F4 key – can be used to disable (and reenable) the movement of the VR mode view direction with head movement. Pressing F4 locks the VR mode camera onto the avatar head so it always shows directly in front of the gaze direction (which is a bit of an odd thing to work out what is happening – especially if you have used mouse wheel zoom in or out). Pressing it again unlocks the view so that it rotates around the camera position itself.

F5 key – can be used to zoom out the VR view through stages further away, then it toggles views centred on each corner before returning to the default VR view. [Note: F5 may not work as described in some headsets?]

Peter Kappler noted:

  • F5 modes: There are two modes: one where HMD rotation is locked (F4 to lock), and one with normal HMD rotation on. The problem is that if you have HMD rotation on its hard to use flycam or edit things since it does not select properly. That’s where you turn it off.

On my Oculus Rift setup SteamVR usually was launched whenever the Firestorm VR viewer was started, and that automatically started the underlying Oculus software. But if the SteamVR or Oculus Home screens shows in the HMD or the HMD is blank rather than showing the Second Life/OpenSim virtual world display, start SteamVR first, check Oculus Home is launched, and then run the Firestorm VR viewer.

Frame Rates

The Firestorm VR Viewer will not work well if the Second Life/OpenSim region you visit cannot normally be displayed with a decent frame rate. The higher the better. At low frame rates bad flickering will occur in VR mode. My suggestion is to look at the framerate (in Firestorm it is displayed in the upper right hand corner of the viewer) and to adjust the graphics settings (especially draw distance, shadows and quality sliders) until you have more than 50fps and then try VR.

Peter Kappler also suggested: Particles… a fireplace is going to eat 20 to 30 fps! So turn them off for VR.

Tips

Tips from David Rowe for using the CtrlAltStudio Viewer may be relevant:

  1. To improve your frame rate, reduce your draw distance and/or tweak other display settings such as advanced lighting model, shadows, FOV, pixel density, etc.
  2. Make sure you don’t have Preferences > Graphics > Rendering > Limit Framerate enabled.
  3. You can use keyboard shortcuts to show and hide dialog boxes such as the Conversations window (Ctrl-T), Inventory (Ctrl-I), e.g., if you want to select a landmark to teleport to, Ctrl-Shift-M to display the minimap, etc. Keyboard shortcuts are shown beside menu items.
  4. To display avatar chat above avatars use Preferences > Chat > Visuals > Show chat in bubbles above avatars.
  5. With floating text you may want to adjust the distance the floating text fades at so that distant text is not so annoying in VR mode: Preferences > User Interface > 3D World > Floating text fade distance.

If you have issues with some of the Function keys (F4, F5 or other Firestorm VR keys) not working… look to see if the F keys involved are mapped to active “Gestures”. You can find a list of the gestures you currently have active and the keys associated with them using the “Gestures” toolbar button… or the Comm -> Gestures menu item (Ctrl+G shortcut)

Firestorm Debug Settings

EnableSteamVR – performs the same function as the Settings -> Graphics -> Steam VR -> tick on/off. Default Off.

TextureShift – performs the same function as the Settings -> Graphics -> Steam VR -> Texture Shift. This may need to be adjusted for different VR headsets. I found it could be left at the default setting of 0 for the Oculus Rift DK2, and needed to be set to +200 for the Oculus Rift CV1. Adjust this if you have double vision in VR mode.

EyeDistance – performs the same function as the Settings -> Graphics -> Steam VR – Camera distance from center slider. This is an important setting to get good 3D depth. Set it to the Interpupil distance for your headset (64mm is a sensible default). If set to 0mm the image will be 2D. If set wrongly you may find that the 3D effect is in distinct layers or not as good as it can be.

Xbox One Controller

An Xbox One controller as used with the Oculus Rift (or an Xbox 360 controller) can be enabled, as usual, in Firestorm via Preferences -> Move & View -> Movement -> Joystick Configuration -> Enable Joystick.

You will probably find the controls are under or over sensitive, or some buttons and triggers don’t do what you expect. See this blog post and the image here (click for a larger version) for some suggestions as to how to amend the settings…
https://hugsalot.wordpress.com/2012/12/03/joystick-settings-for-firestorm-with-xbox-360-controller/

You might want to enter “-1” rather than axis “5” as an indication that axis is not mapped. With the setup suggested the “A” button toggles between the normal avatar view and “FlyCam” mode allowing you to move the camera separately to the avatar.

Firestorm JIRA

A Firestorm JIRA Issue relates to this…
https://jira.firestormviewer.org/browse/FIRE-24047

This JIRA issue has comments concerned over low frame rates and poor support for all the menus, popups and creator/editing facilities in Second Life and OpenSim. Personally, I don’t think ALL the creator/build menu facilities are needed all the time, and those can be done by switching back into VR mode… which is easy with the TAB key method used to switch between 2D and VR mode. Concerning frame rates, some users are probably seeing very busy mainland regions with tens of thousands of objects. When I use Firestorm on OpenSim builds with a few avatars in training modes I can get 160fps frame rates! And high frame rates when we have used private regions on Second Life for educational meetings.

User Experience with Firestorm VR 6.2.4 and Suggestions

  1. You may have a black bar in the viewport when you TAB to VR view which can be reset by centring the mouse. Having the mouse near any edge or corner of the VR view focusses in on that area, and it could be common that the mouse will be near an edge when first entering VR mode. Suggestion: perhaps the mouse should be set centrally in the viewport when TABbing to VR mode to help new users and provide a smoother experience.
  2. When Firestorm VR starts up, SteamVR is enabled and a VR headset is not switched on or available there are Steam VR errors noted. Suggestion: The viewer might be able to offer an option to ask on startup if VR or 2D mode is required. Or there might be some way to probe if SteamVR can startup cleanly.
  3. F4 function key, appears to lock the VR mode camera onto the avatar head so it always shows directly in front of the gaze direction (which is a bit of an odd thing to work out what is happening – especially if you have used mouse wheel zoom in or out – and is even stranger if you are sat down or in a vehicle). Pressing it again unlocks the view so that it rotates around the camera position itself. Suggestion: I wonder if it might be better to have F4 lock onto the “Mouseview” first person viewpoint, and toggle mouseview on and off. I think that would be more understandable, and perhaps more useful? The “m” key switches to and from Mouselook anyway.
  4. F5 function key appears to have no effect on Oculus Rift at least. Suggestion: clarify F5 and whether it differs between VR headsets.
  5. Suggestion: I think the SteamVR tab “Camera Distance from Center” is misleading, and it would be better expressed as “Distance between eyes in mm” (its the same as the Debug Setting “EyeDistance”).
  6. Suggestion: the SteamVR settings tickbox for “Zoom out the screen” is indented under “Enable Debug Display”. If it is separate it would be better placed at the same level.
  7. Suggestion: rename the debug settings to their actual function.
  8. The Debug Setting entitled DistortionApplied for “Enable Debug Display” is odd. Suggestion: rename the debug setting to its actual function.
  9. The SteamVR setting “Zoom out the screen”, which is associated with the Debug Setting entitled EnableSmoothing, appears to have no effect. Suggestion: Clarify its usage? It may be related to Nvidia Dynamic Super Resolution (DSR) “Smoothness” as suggested by its Debug Settings variable name.
  10. Bug: The current default setting when the Debug Settings for “EyeDistance” is reset settings it to 0. firestorm-install-dir/app_settings/settings.xml for “EyeDistance is 0.0 and it should be 64.0 there.
  11. Suggestion: also in see firestorm-install-dir/skins/default/xui/en/panel_preferences_graphics1.xml I think the tool_tip for TextureShift might be better expressed generically (rather than just referring to Oculus and Vive) as “Shifts the texture to compensate for FOV shifts in different HMDs”
  12. Suggestion: change the app_settings\grids.xml loginpage strings for the Second Life and Second Life Beta grids to http://viewer-login.agni.lindenlab.com/ rather than http://phoenixviewer.com/app/loginV3/ to better reflect OpenSim uage of Firestorm.

HMD Black Screen on TAB

This was an issue which occurred in earlier versions of Firestorm VR, e.g. in Firestorm VR 6.0.1. See this Blog Post for more information. Firestorm VR 6.2.4 should address this issue for most VR headsets. But, on 22-Sept-2019 Peter Kappler provided a VR test application that uses the same rendering method as Firestorm VR to test if this might be a problem on your HMD setup…

http://gsgrid.net/sdlvrtest.rar
Unpack it, go to the bin/win32/ folder and open the hellovr_opengl.exe
That should show you a world full of boxes.
If it shows a black screen then there is an issue on your PC/HMD.

Peter Kappler also suggested that for those with AMD Radeon GPUs still showing the black screen problem that they could try to create a game profile for Firestorm VR in AMD Drivers and forcing AA on or off in that. He indicates that this fixed the black screen for a lot of AMD users. BabyMikuLast replied that this fixed the problem on AMD Radeon… Set AA to override program settings then set it to multisample X4.

On 26-Nov-2019 Peter Kappler suggested the following for those still having black screen issues:

To fix the black screen go to your graphic card settings and force Anti-Aliasing on or off. Better… create a profile for this firestorm exe with AA on.

Viewer Not Starting on Older Xeon Processors

A few people using quite old Apple Macintosh servers using older Xeon processors have had an issue where the Firestorm VR viewer would not start at all. Peter Kappler noted that some older Xeon processors do not support the “AVX2” instruction set. Peter compiled Firestorm VR with AVX2 to see if he could improve performance. He plans to provide a non-AVX2 version in future.

Posted in OpenSim, Second Life, VR | Tagged , , , | 1 Comment

Sansar with Avatar 2.0

sansar-logo

Linden Lab updated Sansar to use a new richer avatar skeleton referred to as “Avatar 2.0”.


Quests and Tutorials



Posted in Virtual World | Tagged , | Comments Off on Sansar with Avatar 2.0

Ai Austin Mk 2

A bit of a refresh of the Ai Austin avatar which I have been using in Second Life and OpenSim since 2006…

Ai Austin Mk. 1

Ai’s original skin was a gift back in 2006 from a fellow educator who joined Second Life on the same day and who was a neighbour on the “Saengseon” region where “AIAI2” had its first virtual world base before moving to its own facilities on the “Vue” (Virtual University of Edinburgh) regions.

Ai Austin – Flight Suit

Ai’s usual outfit in Second Life is a Flight Suit… provided by Krashen Byrne soon after Ai originally joined Second Life. Ai obtained the original artwork for the outfit from Krashen with permission to use it as Ai wished, but not to distribute it further. You can usually find Krashen’s Flight Suit at the Flight Shop at Abbotts Aerodrome in Second Life.

Ai Austin Mk. 2

As mesh bodies and heads, such as the Ruth 2.0 and Roth 2.0 open source avatars, and new virtual world viewer facilities, such as Bakes on Mesh, come along it was time for a refresh to set up for using these…

I’m a Lumberjack.. but I’m Alright… or Maybe an Oil Rig Worker…

In Second Life

Ai Austin Mk.2 Profile Pictures


Other Avatar Appearance

Here are some of Ai’s outfits built up over the period in Second Life…
http://blog.inf.ed.ac.uk/atate/2016/08/06/ai-austin-10/

Posted in OpenSim, Second Life, Virtual World | Tagged , , , | Comments Off on Ai Austin Mk 2

Pangea Roleplay on OpenSim Metropolis Grid


I have blogged before about the Pandora Universe group in Second Life which offers role play based on the “Avatar” film directed by James Cameron and based on Pandora, a moon of Alpha Centauri and the Na’vi that inhabit the moon. Ralph Steglenzer altered me to the OpenSim “District 153 – Pangea Roleplay” region on Metropolis Grid…

Access Metropolis Grid via the viewer map: hg.metro.land:80 arrive at the metropolis Grid Welcome area.

You can then teleport via the map to:

  • “Pangea – Welcome” or use hop://login.metro.land/Pangea%20-%20Welcome/
  • “District 153 – Pangea Roleplay” or use
    hop://login.metro.land/District%20153%20-%20Pangea%20Roleplay/
  • “District 153 – Pangea Roleplay” Forest Area:
    hop://login.metro.land/District%20153%20-%20Pangea%20Roleplay/884/280/30

  • Note: may need hg.metro.land rather than login.metro.land





More information: http://pangea.myftp.biz/
More Pictures: https://www.dropbox.com/sh/rly88r4mczg2zz8/AAAh8dU2a2769DjYOWO3EvaTa?dl=0

Another Pangea themed role play area on Metropolis Grid as at Pangea (944,146,31).

Posted in OpenSim, Virtual World | Tagged , , | 1 Comment

Bakes on Mesh – Resources

This is a blog post to collect together resources related to the Bakes on Mesh [BoM] feature for Second Life and OpenSim. Bakes on Mesh facilities allow mesh avatars to be used with standard avatar skins, tattoos, alpha masks and tight to skin wearables which is useful for undergarments, etc. It can help avoid the need for “appliers” used to apply textures onto mesh avatars, and “onion skin” outer meshes to give layers for clothing.

11 bakes “channels” are available to apply to regions of an avatar mesh or attachments:

  • 6 basic bakes channels (HEAD, UPPER, LOWER, EYES, SKIRT, HAIR).
  • 5 added bakes channels (LEFTARM, LEFTLEG, AUX1, AUX2, AUX3).
  • A “Universal” wearable type to which all 11 bakes can be applied.

If a viewer is used which does not support BoM, fall back coloured textures are applied to the BoM faces.

Viewers for Bakes on Mesh

Viewers with support for Bakes on Mesh in Second Life and OpenSim are available…

  • Cool VL Viewer
  • Firestorm VR Mod
  • Singularity Viewer
  •  
  • The current Firestorm viewer compatible with OpenSim is version 6.0.2.56680 which does not support BoM. Hence users will see the fall back coloured textures when seeing avatars that do use BoM. Firestorm Viewer release 6.3.2.58052 supports Bakes on mesh in Second Life, but has not yet released a version for OpenSim due to concerns that direct logins to older OpenSim 0.8.*-based grids when using extended BoM facilities might cause issues.

If you use extended BoM features please don’t use these viewers to log DIRECTLY into grids/regions known to run on older 0.8.* server code (now 4 years out of date). Up to date OpenSim grids/regions will protect older grids by preventing Hypergrid teleports for users when wearing incompatible items and warning them to simplify their outfit.

Bakes on Mesh in Second Life

Bakes on Mesh has been in testing for some time by Linden Lab in Second Life, and the official Linden Lab viewer release 6.3.0.530115 dated August 26, 2019 as well as all Second Life regions supports this from that date. More detail in these articles…

The bakes textures can also be up to 1024×1024 in size (versus the previous avatar bakes texture limit of 512×512). The baking service is done server side in Second Life, versus the previous viewer side bakes support.

Bakes on Mesh in OpenSim

Bakes on Mesh (BoM) support for all 11 bakes textures and the new Universal wearable is available in OpenSimulator 0.9.1.0 released on 28th October 2019. The basic 6 bakes textures will work with all OpenSim versions.

Bakes in OpenSim are done using viewer side code and are a maximum of 512×512.

Bakes on Mesh Resources and Issues

Firestorm viewer source is available at https://vcs.firestormviewer.org/phoenix-firestorm [ previously at https://hg.firestormviewer.org/phoenix-firestorm-lgpl/].

Firestorm Viewer – protection for older grids: Beq Janus commit r58280:865008ca5b01 10-Dec-2019 – FIRE-29204 BoM fallback safety measures to protect legacy OpenSim. Limits bakes sent to the server depending on detected BOM capability.

Extend Bakes on Mesh application to allow texturing of in world objects to allow for easier attachment creation:

A list of OpenSim related Firestorm JIRA issues is available at:

BAKES Texture Constant Names and Associated UUIDs

IMG_USE_BAKED_HEAD 5a9f4a74-30f2-821c-b88d-70499d3e7183
IMG_USE_BAKED_UPPER ae2de45c-d252-50b8-5c6e-19f39ce79317
IMG_USE_BAKED_LOWER 24daea5f-0539-cfcf-047f-fbc40b2786ba
IMG_USE_BAKED_EYES 52cc6bb6-2ee5-e632-d3ad-50197b1dcb8a
IMG_USE_BAKED_SKIRT 43529ce8-7faa-ad92-165a-bc4078371687
IMG_USE_BAKED_HAIR 09aac1fb-6bce-0bee-7d44-caac6dbb6c63
IMG_USE_BAKED_LEFTARM ff62763f-d60a-9855-890b-0c96f8f8cd98
IMG_USE_BAKED_LEFTLEG 8e915e25-31d1-cc95-ae08-d58a47488251
IMG_USE_BAKED_AUX1 9742065b-19b5-297c-858a-29711d539043
IMG_USE_BAKED_AUX2 03642e83-2bd1-4eb9-34b4-4c47ed586d2d
IMG_USE_BAKED_AUX3 edd51b77-fc10-ce7a-4b3d-011dfc349e4f

Bakes Fallback images for OpenSim have a solid colour 32×32 and are saved as JPEG2000 (.j2c) with “JPEG2000 Codestream Only” selected as save options (JPEG2000 J2C stream format). They also have “Lossless” (no compression) selected though that may not be important.

Scripts to Apply Bakes Textures to a Mesh

A mesh body can be edited and textured manually with “Bake” textures when worn and edited, or a script of the following form could be used to set up the faces. the face numbers can be inspected via the Build Tool -> Select Face.

Script below thanks to Ubit Umarov. The face numbers in this example are for the Aditya_for_BOM.dae Collada sample avatar mesh file provided by Linden Lab which can be found via the Bakes on Mesh Knowledge Base Article on the Linden Lab BUG-139234.

state_entry()
    {
        llSay(0, "Applying Bakes Textures to Mesh...");
        llSetTexture(IMG_USE_BAKED_HEAD,2);
        llSetTexture(IMG_USE_BAKED_UPPER,4);
        llSetTexture(IMG_USE_BAKED_LOWER,3);
        llSetTexture(IMG_USE_BAKED_EYES,0);
        llSetTexture(IMG_USE_BAKED_EYES,1);
    }

Ruth 2.0 and Roth 2.0 Mesh Bodies with BoM

Open source resources in action… OpenSim virtual world server, Firestorm Viewer (experimental build) and Ruth 2.0/Roth 2.0 low poly mesh avatars…


Ruth 2.0 RC#3 and Roth 2.0 RC#1 Mesh Bodies with BoM on OSGrid RuthAndRoth region using Dev Master code as at 28-Aug-2019.

Textures – Alpha Blending and Alpha Masking

When a mesh body (or head, hands and feet, etc) uses textures (Bakes on Mesh or otherwise) that are set to use “Alpha Blending” then any worn item or attachment that has partially transparent textures – such as for example the lace on the hem of a skirt (Hyacinth Greynmoon – Luv Brocade Dress for example) then the partially transparent bit makes the legs and hands that are behind it disappear completely. See left hand image below.

It is best to leave the body parts as “Alpha Blending” as that is common on mesh bodies and allows alpha layers to be worn and work with Bakes on Mesh. But, if you have modify permissions on the clothing or attachment, then if the render type on the worn attachment is set to “Alpha Masking” things works as expected. See right hand image below.

Unfortunately using Alpha Masking means that any worn alpha mask item does not work, whereas it does with Alpha Blending. Depending on what the user want to wear using one or other of the alpha rendering types might need changing.

For more advice on this see the Second Life Knowledge Base Article on Bakes on Mesh – Working with the new channels


A previous version of this blog post described early experimentation with Bakes on Mesh. For anyone interested, that version of the blog post is archived here.

Posted in OpenSim, Virtual World | Tagged , , | 2 Comments

Bakes on Mesh – Early Days

Update: 28-Nov-2019: This is an archive of the original “Bakes on Mesh – Resources” post.. which has now been updated to reflect the up to date position. New post here.

Update: 28-Nov-2019: Viewers with support for Bakes on Mesh in Second Life and OpenSim have started to appear… Cool VL Viewer, the Singularity Viewer and Firestorm VR Mod. If you use extended BoM features please don’t use these viewers to log directly into grids/regions known to run on older 0.8.* server code.

Update 28-Oct-2019: basic Bakes on Mesh (BoM) support for all 11 bakes textures and the new Universal wearable is available in OpenSimulator 0.9.1.0 released on 28th October 2019. However, a viewer capable of using the facilities is still under development.

This is a blog post to collect together resources related to the Bakes on Mesh [BoM] feature for Second Life and OpenSim. This has been in testing for some time by Linden Lab on Second Life, and the official Linden Lab viewer release 6.3.0.530115 dated August 26, 2019 as well as all Second Life regions supports this. More detail in these articles…

https://community.secondlife.com/knowledgebase/english/bakes-on-mesh-r1512/
https://modemworld.me/2019/08/27/bakes-on-mesh-a-basic-primer/

Firestorm view code is currently under development to merge in the changes to support BoM and development versions of Firestorm 6.3.1 are being tested for this.

Bakes on Mesh facilities allow mesh avatars to be used with standard avatar skins, tattoos and tight to skin wearables which is useful for undergarments, etc. It can help avoid the need for “appliers” used to apply textures onto mesh avatars, and “onion skin” outer meshes to give layers for clothing.

OpenSim and Bakes on Mesh

OpenSim dev master code as at OpenSim 0.9.1 1079 0e33014 (2019-08-28 04:54) can support some parts of BoM (thanks to Ubit Umarov) and using a test build of Firestorm 6.3.1 (thanks to the Firestorm team and Bill Blight for the test build – autobuild configure -c ReleaseFS_open – with map search patch and a couple of other tweaks):

  • The 6 basic bakes channels work for BoM (HEAD, UPPER, LOWER, EYES, SKIRT, HAIR) on all versions of OpenSim.
  • The 5 added bakes channels were not supported for BoM (LEFTARM, LEFTLEG, AUX1, AUX2, AUX3) until OpenSim 0.9.1.0.
  • The new “Universal” wearable type was not supported until OpenSim 0.9.1.0.
  • Bakes are done using viewer side code and are a maximum of 512×512.  

Ruth 2.0 and Roth 2.0 Mesh Bodies with BoM

Open source resources in action… OpenSim virtual world server, Firestorm Viewer and Ruth 2.0/Roth 2.0 low poly mesh avatars…


Ruth 2.0 RC#3 and Roth 2.0 RC#1 Mesh Bodies with BoM on OSGrid RuthAndRoth region using Dev Master code as at 28-Aug-2019.

Example Simple Mesh Body and BoM

The Aditya_for_BOM.dae Collada sample avatar mesh file provided by Linden Lab can be found via the Bakes on Mesh Knowledge Base Article at https://jira.secondlife.com/browse/BUG-139234. Note its a very simple mesh body and a lot of the usual avatar shape adjustment sliders will not work on it (e.g. it has very large feet that cannot be changed).

This can be edited and textured manually with “Bake” textures when worn and edited, or this script could be used to set up the faces of the sample Aditya_90 avatar for BoM… thanks to Ubit Umarov…

state_entry()
    {
        llSay(0, "Script running");
        llSetTexture(IMG_USE_BAKED_HEAD,2);
        llSetTexture(IMG_USE_BAKED_UPPER,4);
        llSetTexture(IMG_USE_BAKED_LOWER,3);
        llSetTexture(IMG_USE_BAKED_EYES,0);
        llSetTexture(IMG_USE_BAKED_EYES,1);
    }

Simple HUD to Show Bakes In Use

NOTE: A HUD that may have parts BoM textured when attached to a HUD position will locally make the relevant parts of the underlying classic avatar transparent in the view of the avatar that attached such a HUD, but that does NOT show to other users. Its probably a viewer bug to have this difference in behaviour?

For testing… but see note above… a simple HUD can attached set up to show all 11 BoM textures that can be applied to a worn attachment. As shown in the following image, when using a viewer that supports BoM (such as the forthcoming Firestorm 6.3.1, test build 57811 pictured) the “basic” bakes channels already supported by OpenSim dev master code at 28-Aug-2019 (head, upper, lower, eyes, skirt, hair) are instantiated (skirt and hair are transparent in this example) whereas the new bakes textures (leftarm, leftleg, aux1, aux2, aux3) are not.

If a viewer that is not updated to support Bakes on Mesh is used, a set of coloured “fallback” textures will be displayed. These same fallback back images are used on any object face that is BoM textured when it is displayed in world, rather than attached to an avatar.

As a comparison, the same setup in Second Life with a BoM capable viewer looks like this…when a BoM textured object is rezzed in world it shows the coloured “fallback” textures…

Bakes on Mesh Resources and Issues

OpenSim Source Code – Dev Master –
http://opensimulator.org/viewgit/?a=shortlog&p=opensim

Firestorm Viewer Source Code – http://hg.phoenixviewer.com/

https://jira.secondlife.com/browse/BUG-227553
https://jira.firestormviewer.org/browse/FIRE-24333

BAKES Texture Constant Names and Associated UUIDs

IMG_USE_BAKED_HEAD 5a9f4a74-30f2-821c-b88d-70499d3e7183
IMG_USE_BAKED_UPPER ae2de45c-d252-50b8-5c6e-19f39ce79317
IMG_USE_BAKED_LOWER 24daea5f-0539-cfcf-047f-fbc40b2786ba
IMG_USE_BAKED_EYES 52cc6bb6-2ee5-e632-d3ad-50197b1dcb8a
IMG_USE_BAKED_SKIRT 43529ce8-7faa-ad92-165a-bc4078371687
IMG_USE_BAKED_HAIR 09aac1fb-6bce-0bee-7d44-caac6dbb6c63
IMG_USE_BAKED_LEFTARM ff62763f-d60a-9855-890b-0c96f8f8cd98
IMG_USE_BAKED_LEFTLEG 8e915e25-31d1-cc95-ae08-d58a47488251
IMG_USE_BAKED_AUX1 9742065b-19b5-297c-858a-29711d539043
IMG_USE_BAKED_AUX2 03642e83-2bd1-4eb9-34b4-4c47ed586d2d
IMG_USE_BAKED_AUX3 edd51b77-fc10-ce7a-4b3d-011dfc349e4f

Bakes Fallback images for OpenSim have a solid colour 32×32 and are saved as JPEG2000 (.j2c) with “JPEG2000 Codestream Only” selected as save options (JPEG2000 J2C stream format). They also have “Lossless” (no compression) selected though that may not be important.

Textures – Alpha Blending and Alpha Masking

When a mesh body (or head, hands and feet, etc) uses textures (Bakes on Mesh or otherwise) that are set to use “Alpha Blending” then any worn item or attachment that has partially transparent textures – such as for example the lace on the hem of a skirt (Hyacinth Greynmoon – Luv Brocade Dress for example) then the partially transparent bit makes the legs and hands that are behind it disappear completely. See left hand image below.

It is best to leave the body parts as “Alpha Blending” as that is common on mesh bodies and allows alpha layers to be worn and work with Bakes on Mesh. But, if you have modify permissions on the clothing or attachment, then if the render type on the worn attachment is set to “Alpha Masking” things works as expected. See right hand image below.

Unfortunately using Alpha Masking means that any worn alpha mask item does not work, whereas it does with Alpha Blending. Depending on what the user want to wear using one or other of the alpha rendering types might need changing.

Posted in OpenSim, Second Life | Tagged , , | Comments Off on Bakes on Mesh – Early Days

Firestorm VR – Visiting OpenSim Virtual Worlds

As noted before in this blog post Peter Kappler has created a VR version of the Firestorm virtual world viewer (based on version 6.0.1.56538). It can work very well indeed for Social VR purposes allowing all the capabilities and content available in Second Life and OpenSim to be used in scenes where chat, get togethers, tutoring sessions, seminars and other meetings take place.

Here are a few environments in OpenSim virtual worlds tested in Firestorm VR that are more for fun and role play regions…

OpenSim – AiLand – Gerry Anderson Regions

My usual test regions with mainly mesh content for Supercar (Black Rock), Fireball XL5 (Space City) and Stingray (Marineville)…






OpenSim – AiLand – Castles and Pirates

Heavy mesh regions on Castle Spring, Castle Winter (with heavy blizzard), Cove and Tortuga…




Posted in OpenSim, VR | Tagged , , | Comments Off on Firestorm VR – Visiting OpenSim Virtual Worlds

Oil Rig Training Experience in Firestorm VR

The RGU Oil Rig enhanced education and virtual training experience created by the Robert Gordon University (RGU) Oil & Gas Centre in Aberdeen, Scotland ported to OpenSim OSGrid has been tested in Peter Kappler’s Firestorm VR 6.0.1.

The VR mode view is seen here…

The 2D Firestorm VR screen is shown here… looking identical in quality to the view seen in the HMD…

Typical frame rates were 38-40fps. A little less when other tools were running.

Dell Precision T5810 with Xeon CPU E5-1620 v3 @3.50GHz.
32GB Memory, SSD drives, Nvidia GeForce GTX 1080 GPU.
100Mbps broadband connection.
Oculus Rift DK2.
Windows 10 Pro version 1903.
Firestorm 6.0.1.57000 graphics quality: Ultra, view distance: 256m.
OpenSim – OSGrid Oil Rig – region objects: 9492 (land impact: 9786) – mostly mesh.




Another Comparison of the 2D and VR images for a scene on the Oil Rig…


Posted in OpenSim, VR | Tagged , , , , , | Comments Off on Oil Rig Training Experience in Firestorm VR

Social VR using Firestorm VR

As noted before in this blog post Peter Kappler has created a VR version of the Firestorm virtual world viewer (based on version 6.0.1.57000). If the graphics settings, draw distance and scene complexity allow it, this can work very well to view 3D content. It is not best suited to build and creation modes. But it can work very well indeed for Social VR purposes allowing all the capabilities and content available in Second Life and OpenSim to be used in scenes where chat, get togethers, tutoring sessions, seminars and other meetings take place.

If the scene in a normal 2D view is adjusted to achieve at least (say) 50fps then it should work will in the Firestorm VR viewer. Make Graphics settings, draw distance and other changes until you achieve that sort of frame rate or the scene will be choppy or flicker. For Social VR functions draw distances can be quite small, so even very busy mainland Second Life regions become accessible.

Some specific figures I observed on one Second Life scene trying to make the view distance (256m), graphics settings (High), etc the same for the comparison…

  • Linden Lab 6.2.4 96-106fps
  • Firestorm 6.0.2 176-188fps
  • Firestorm VR 6.0.1 2D mode 136-144fps
  • Firestorm VR 6.0.1 VR mode 82-84fps

Put simply it looks roughly like Firestorm 6.0.2 (normal 2D) 100%, Firestorm VR 6.0.1 2D mode after enabling SteamVR in settings 75%, Firestorm VR 6.0.1 VR mode 50%. But the 6.0.1 VR mode is still roughly the same as the Linden Lab 6.2.4 viewer in 2D mode.

The following images were take on a Dell Precision T5180 with 32GB Memory and Nvidia GTX 1080 GPU, with High graphics settings and 128m view distance.

Here are some examples of Social VR settings in Second Life and on OpenSim grids…

Second Life


OpenSim (OSGrid, Openvue and Ailand Grids)





RGU Oil Rig Training Environment in Firestorm VR


Click here for more images of the Oil Rig region in Firestorm VR.

Posted in OpenSim, Second Life, VR | Tagged , , , | Comments Off on Social VR using Firestorm VR

Firestorm VR – Resources

Update 23-Sep-2019: Peter Kappler has provided an updated version of Firestorm VR compiled for Second Life and OpenSim which should fix the “black screen” issue mentioned below for at least some HMDs. More information, download links and tips are provided for Firestorm VR 6.2.4 at http://blog.inf.ed.ac.uk/atate/firestorm-vr-6-2-4/


The notes below relate to an earlier Firestorm VR version 6.0.1…

Peter Kappler <pete@gsgrid.net> [YouTube Channel] (PWNED Magic in Second Life) has created a VR version of the Firestorm Viewer using OpenVR/SteamVR that should be compatible with Vive, Oculus Rift, and Windows Mixed Reality headsets (HMDs).

Wagner James Au blogged on this in January and February 2019, and David Rowe, creator of the CtrlAltStudio VR viewer, pointed me at this development just in time since CtrlAltStudio now has a messy visual glitch on exit to the operating system [Blog Post on CtrlAltStudio VR Viewer].

https://nwn.blogs.com/nwn/2019/01/windows-mixed-reality-firestorm-sl-vr-open-source.html
https://nwn.blogs.com/nwn/2019/02/firestorm-sl-open-source-vr-viewer.html

YouTube Video: Second Life Firestorm VR V0.3 test, 27 Feb 2019:
https://www.youtube.com/watch?v=Y0_PQBQ_E4I

Discord Discussion Channel: P373R-WORKSHOP by p373r_kappler [ Invite ]

Download

Here is the ready to run installer and source code for version 0.3 27 Feb 2019 Build 57000** (based on Firestorm 6.0.1.56538):
Installer: http://gsgrid.net/Phoenix601VR-V0.3.rar
Source Code: http://gsgrid.net/FirestormVR_Source_V_0_3.rar [only needed to build the viewer from source]
** The “57000” serial number that is reported is not meaningful.
Peter chose that as beyond the released Firestorm version at the time to avoid update messages.

Installation

  • Install the special VR MOD version of the Firestorm viewer.
  • Put the openvr_api.dll contained in the compiled version .rar/.zip into the top level of the freshly installed Firestorm folder with all the other dlls.
  • Start SteamVR. [Install SteamVR if you don’t already have it available.]
  • Start Firestorm VR.

Once you are logged in:

  • Go to Preferences -> Move & View and set the Field of View to 1.80 (default 1.04)
  • Go to Preferences -> Graphics-> Steam VR Tab and tick to enable Steam VR. (a viewer restart may be needed, so do that to be sure)

For the Oculus Rift these settings should also be adjusted:

  • Preferences -> Graphics -> Steam VR -> Texture Shift: Setting appropriate to your HMD. For example it is set to 0 (the default) for Oculus Rift DK2, and set to 200 for Oculus Rift CV1. If you have double vision in VR mode in your HMD, move this setting until the image is in sync.
  • Preferences -> Graphics -> Camera distance from center: Set to your inter-pupil distance (IPD) to get a good 3D image. If this setting is not accurate the 3D view can look too flat or layered. Note that a setting of 0 means the image will be 2D.

A number of users have suggested starting settings for various virtual reality headsets…

Headset Type Texture Shift Camera Distance from Center Info. From
Oculus Rift CV1 +200 IPD (e.g. 64.0mm) Ai Austin
Oculus Rift DK2 0 IPD (e.g. 64.0mm) Ai Austin
Oculus Rift DK1 Not Available Ai Austin

Usage

PRESS TAB key to enable and disable VR output.

The Camera Controls floater has two extra buttons << and >> to let you turn the angle at which your camera points.

If you move the mouse to one of the four corners of the screen the HMD view jumps to show that corner in VR mode. This enables menus and HUD attachments to be more easily reached. Return the mouse to the centre of the screen to return to normal HMD directional view.

F4 key – can be used to disable (and reenable) the movement of the VR mode view direction with head movement. Pressing F4 locks the VR mode camera onto the avatar head so it always shows directly in front of the gaze direction (which is a bit of an odd thing to work out what is happening – especially if you have used mouse wheel zoom in or out). Pressing it again unlocks the view so that it rotates around the camera position itself.

F5 key – can be used to zoom out the VR view through stages further away, then it toggles views centred on each corner before returning to the default VR view. [Note: F5 may not work as described in some headsets?]

The Firestorm VR Viewer will not work well if the Second Life/OpenSim region you visit cannot normally be displayed with a decent frame rate. The higher the better. At low frame rates bad flickering will occur in VR mode. My suggestion is to look at the framerate (in Firestorm it is displayed in the upper right hand corner of the viewer) and to adjust the graphics settings (especially draw distance and quality sliders) until you have around 50fps (30fps min.) and then try VR.

On my Oculus Rift setup SteamVR usually was launched whenever the Firestorm VR viewer was started, and that automatically started the underlying Oculus software. But if the SteamVR or Oculus Home screens shows in the HMD or the HMD is blank rather than showing the Second Life/OpenSim virtual world display, start SteamVR first, check Oculus Home is launches, and then run the Firestorm VR viewer.

Tips

Tips from David Rowe for using the CtrlAltStudio Viewer may be relevant:

  1. To improve your frame rate, reduce your draw distance and/or tweak other display settings such as advanced lighting model, shadows, FOV, pixel density, etc.
  2. Make sure you don’t have Preferences > Graphics > Rendering > Limit Framerate enabled.
  3. You can use keyboard shortcuts to show and hide dialog boxes such as the Conversations window (Ctrl-T), Inventory (Ctrl-I), e.g., if you want to select a landmark to teleport to, Ctrl-Shift-M to display the minimap, etc. Keyboard shortcuts are shown beside menu items.
  4. To display avatar toasts in the Rift — Preferences > Chat > General > Show chat in bubbles above avatars.
  5. With floating text you may want to adjust the distance the floating text fades at so that distant text is not so annoying in VR mode: Preferences > Graphics > Rendering > Floating text fades.

If you have issues with some of the Function keys (F4, F5 or other Firestorm VR keys) not working… look to see if the F keys involved are mapped to active “Gestures”. You can find a list of the gestures you currently have active and the keys associated with them using the “Gestures” toolbar button… or the Comm -> Gestures menu item (Ctrl+G shortcut)

Peter Kappler also suggested some things:

  1. Particles… a fireplace is going to eat 20 to 30 fps! So make sure they are off.
  2. I moved my cache to a RAM drive. Just make a 2GB RAM drive. SSD is no comparison to RAM drive. Its way faster. Not even NVMe (non-volatile memory express) can reach that kind of speed. E.g. see SoftPerfect RAM Disk : high-performance RAM drive for Windows.
  3. F5 modes: There are two modes: one where HMD rotation is locked (F4 to lock), and one with normal HMD rotation on. The problem is that if you have HMD rotation on its hard to use flycam or edit things since it does not select properly. That’s where you turn it off.

Firestorm Debug Settings

EnableSteamVR – performs the same function as the Settings -> Graphics -> Steam VR -> tick on/off. Default Off.

TextureShift – performs the same function as the Settings -> Graphics -> Steam VR -> Texture Shift. This may need to be adjusted for different VR headsets. I found it could be left at the default setting of 0 for the Oculus Rift DK2, and needed to be set to +200 for the Oculus Rift CV1. Adjust this if you have double vision in VR mode.

EyeDistance – performs the same function as the Settings -> Graphics -> Steam VR – Camera distance from center slider. This is an important setting to get good 3D depth. Set it to the Interpupil distance for your headset (64mm is a sensible default). If set to 0mm the image will be 2D. If set wrongly you may find that the 3D effect is in distinct layers or not as good as it can be.

Xbox One Controller

An Xbox One controller as used with the Oculus Rift (or an Xbox 360 controller) can be enabled, as usual, in Firestorm via Preferences -> Move & View -> Movement -> Joystick Configuration -> Enable Joystick.

You will probably find the controls are under or over sensitive, or some buttons and triggers don’t do what you expect. See this blog post and the image here (click for a larger version) for some suggestions as to how to amend the settings…
https://hugsalot.wordpress.com/2012/12/03/joystick-settings-for-firestorm-with-xbox-360-controller/

You might want to enter “-1” rather than axis “5” as an indication that axis is not mapped. With the setup suggested the “A” button toggles between the normal avatar view and “FlyCam” mode allowing you to move the camera separately to the avatar.

Firestorm JIRA

A Firestorm JIRA Issue relates to this…
https://jira.firestormviewer.org/browse/FIRE-24047

This JIRA issue has comments concerned over low frame rates and poor support for all the menus, popups and creator/editing facilities in Second Life and OpenSim. Personally, I don’t think ALL the creator/build menu facilities are needed all the time, and those can be done by switching back into VR mode… which is easy with the TAB key method uses to switch between 2D and VR mode. Concerning frame rates, some users are probably seeing very busy mainland regions with tens of thousands of objects. When I use Firestorm on OpenSim builds with a few avatars in training modes I can get 160fps frame rates! And high frame rates when we have used private regions on Second Life for educational meetings.

User Experience with Firestorm VR 6.0.1

  1. Question: In the Steam VR settings tab, what does “Zoom out the display” do?
  2. Text: Peter Kappler’s notes indicate “The slider “Lens distance” lets you adjust the distance between the 2 cameras to improve stereo depth separation. ((There is a bug with world not updating while slider > 0)). Slider set to 0 uses only 1 camera (non-stereo) and doubles your fps.“. There is not a “Lens Distance” slider… but it is the Steam VR tab setting for “Camera distance from center”.
  3. Improvement: The “Texture Shift” slider is difficult (impossible?) to reset to 0 if needed. You can instead set it to 0 (or any specific value) via the Debug Settings for “TextureShift”.
  4. Bug: The default value set for “EyeDistance” in Debug Settings is 0.064. It should be 64.0. I.e. in millimetres not metres. It can be amended in
    <firestorm-install-dir>/skins/default/xui/en/panel_preferences_graphics1.xml
  5. Improvement: The mouse cursor in VR mode only shows as a simple arrow pointer. It does not change to the custom cursors such as seat, hand, etc as active items are pointed at.
  6. Bug: The Debug Setting descriptive text for “TextureShift” is incorrect. It is a copy of the descriptive text for “EyeDistance”.
  7. Bug: On the Camera Controls tool, after using the <> added buttons the circular movement controls get squashed to the lower left or disappear.
  8. Clarification: F4 and F5 button descriptions are difficult to understand. Does this work as described? And may it differ in different headsets?
  9. Improvement: The various SteamVR related debug settings could be collected together and identified more readily by prefixing them all with SteamVR, SVR or just VR. So for example SteamVREyeDistance.
  10. Improvement: Change the app_settings\grids.xml loginpage strings for the Second Life and Second Life Beta grids to http://viewer-login.agni.lindenlab.com/ rather than http://phoenixviewer.com/app/loginV3/

Amended Firestorm XML Configuration Files

Sample Tests in Firestorm 6.0.1

Some specific figures I observed on one Second Life scene trying to make the view distance (256m), graphics settings (High), etc the same…

  • Linden Lab 6.2.4 96-106fps
  • Firestorm 6.0.2 176-188fps
  • Firestorm VR 6.0.1 2D mode 136-144fps
  • Firestorm VR 6.0.1 VR mode 82-84fps

Put simply it looks roughly like Firestorm 6.0.2 100%, Firestorm VR 6.0.1 2D mode 75%, Firestorm VR 6.0.1 VR mode 50%. But the 6.0.1 VR mode is still roughly the same as the Linden Lab 6.2.4 viewer in 2D mode.

The following images were take on a Dell Precision T5180 with 32GB Memory and Nvidia GeForce GTX 1080 GPU, with Ultra graphics settings and 512m view distance.

On OSGrid RuthAndRoth region showing approx. 50fps in VR HMD mode…

On OSGrid Black Rock region showing approx. 40fps in VR HMD mode, nearer 75fps when seated in the vehicle…

HMD Black Screen on TAB in Firestorm VR 6.0.1

An updated Firestorm VR 6.2.4 includes changes to address the black screen issue. See this blog post.

Unfortunately after a successful initial test period and what appeared to be a working setup I experienced the (Oculus DK2) HMD screen going black when switching to VR mode in Firestorm VR 6.0.1 via the TAB key. And whatever I tried did not seem to fix it. I tried reinstalling Steam and SteamVR, uninstalling and reinstalling afresh both, upgrading to the Steam and SteamVR Betas, downgrading again to the release versions, and reinstalling Firestorm VR.

The following worked for me after the black screen in the HMD TABbed view occurred…

Start Firestorm VR… turn off the Steam VR enabled tick box. Change the graghics settings (I went between High and Ultra or vice versa). Then DO NOT enter VR mode with TAB. Instead stop Firestorm VR, SteamVR (and Oculus Home). Then launch Firestorm VR again, tick Steam VR enabled (I did that before login but that may not matter) and TAB to VR. My assumption is that something about the gpahics settings interferes with the VR mode HMD display unless the settings are committed in some way when a relog and Steam VR enable takes place. Just ticking Steam Enabled on and off while its running does not seem to fix this problem.

Peter Kappler gave me feedback which indicates it could indeed be related to specific graphics settings or changing them…

There are people that have issues with having tracking but no image. It may have something to do with deferred lighting or shadows in the viewer. Or GPU buffer settings since I copy the images directly from BACKBUFFER before swap.

Peter also offered some advice on Discord to others with the HMD black screen problem…

Nvidia GPUs: In the Nvidia Control Panel -> Manage 3D Settings -> Global Settings, there is a setting for Virtual Reality Pre-rendered Frames. Check it is set to 1. Also check that Triple buffering is OFF. Then under Program Settings check that these settings are not explicitly overridden to something else for Firestorm VR.

AMD Radeon GPUs: AMD drivers have a setting called Flip Queue Size… make sure it is set to 0. The flip queue size option may not be available in recent AMD driver updates in which use the “Main3D_DEF” and “Main3D” settings to change your “flip queue size”. These should match. I.e. “0” and “0x3000”.

On 22-Sept-2019 Peter Kappler provided a VR test application that uses the same rendering method as Firestorm VR to help identify if your own VR HMD setup might have issues:

http://gsgrid.net/sdlvrtest.rar
Unpack it, go to the bin/win32/ folder and open the hellovr_opengl.exe
That should show you a world full of boxes.
If it shows a black screen then there is an issue on your PC.

On 26-Nov-2019 Peter Kappler suggested the following for those still having black screen issues:

To fix the black screen go to your graphic card settings and force Anti-Aliasing on or off. Better… create a profile for this firestorm exe with AA on.

Posted in OpenSim, Second Life, VR | Tagged , , , , , | 10 Comments

Rock Climbing in Second Life

Continuing the development of sports in Second Life…. Yasmin has created a lovely rock climbing area to test out her developing rock climbing apparatus and scripts.

Visit via this landmark… Nitida Ridge

@Inara Pey has done her usual detailed and excellent Blog Post on the Rock Climbing at Nitida Ridge

Posted in Uncategorized | Comments Off on Rock Climbing in Second Life

The People’s Moon

As described at https://thepeoplesmoon.com/explore/, The People’s Moon has been co-created By British artist Helen Marshall of the People’s Picture, and Christina Korp of the Aldrin Family Foundation, and unveiled at iconic global locations on Saturday 20 July 2019…
“The People’s Moon will dominate London Piccadilly Lights screen, on the actual day and hour, flashing back 50 years to when humans first walked on the Moon. The combination of 10,000 photographs submitted by the public, NASA historic clips and giant photo mosaics of the Moon will be shown simultaneously in New York’s Times Square, and in a long-term installation at the Kennedy Space Center where the mission of Apollo 11 launched in 1969, and at a special presentation at the ArtScience Museum in Singapore’s Marina Bay.”



Margaret & Austin, as at 1969, are included in the image…

#Apollo50th #ThePeoplesMoon #MyGiantLeap

Posted in Space | Tagged , | Comments Off on The People’s Moon

Second Life – Apollo 11

20th July 2019 marks the 50th Anniversary of the First Landing on the Moon. The National Space Society arranged an experience in Second Life to celebrate the event… #Apollo50th #SecondLifeChallenge

https://community.secondlife.com/blogs/entry/2586-apollo50th-secondlifechallenge/
http://maps.secondlife.com/secondlife/National%20Space%20Society/30/51/3674


Did you see that Buzz! Houston… we may have a problem!

Second Life Spaceflight Museum

See also Second Life Spaceflight Museum: http://maps.secondlife.com/secondlife/Spaceport%20Alpha/49/81/24

Posted in Space | Tagged , | Comments Off on Second Life – Apollo 11

Sansar – Apollo 11

20th July 2019 marks the 50th Anniversary of the First Landing on the Moon. So a good time to revisit the Apollo 11 Experiences in Sansar… Apollo Museum and Tranquility Base… #Apollo50th



Posted in Space | Tagged , | Comments Off on Sansar – Apollo 11

ImmersiveVR – Apollo 11

20th July 2019 marks the 50th Anniversary of the First Landing on the Moon. So a good time to revisit the Apollo 11 ImmersiveVR Experiences via the Oculus Rift… this time using the Apollo 11 HD update… #Apollo50th

Posted in Space | Tagged , | Comments Off on ImmersiveVR – Apollo 11