OpenSim 0.9.3.1 Dev Nessie
OpenSim 0.9.3.0 “Nessie” was released on 8-Nov-2023 (see Release Notes), so the development branch will now be OpenSim 0.9.3.1 Dev. Both the release and Dev versions use .NET8.0.
This release supports new features such as PBR materials for objects, reflection probes, including mirror types, and terrain PBR materials for viewers compatible with OpenSim specifications.
OpenSim Dev latest can usually be obtained at http://opensimulator.org/viewgit/?a=shortlog&p=opensim
.NET 8.0 Information
OpenSim 0.9.3.* uses .NET8.0. The NET8.0 SDK, runtime and necessary compiler tools can be made available by installing or updating to Visual Studio 2022 Community Edition version 17.9.6 or later and installing the .NET SDK 8.0. Install the .NET 8.0 SDK from https://dotnet.microsoft.com/en-us/download/dotnet/8.0
To opt out of Microsoft gathering of .NET 8.0 compile information use Right click on “This PC” icon -> Properties -> Advanced System Settings -> Environment Variables -> System Variables and add or change DOTNET_CLI_TELEMETRY_OPTOUT to 1 or true. This must be done BEFORE installing the .NET 8.0 SDK (or rerun the installer after setting the variable).
Then on the OpenSim source use runprebuild.bat and compile.bat
Nessie Image from https://learning.rzss.org.uk/mod/hvp/view.php?id=2662.
Blender – Project Gold
Blender’s community has produced a number of films based on open-source assets and technqiues since 2006. See https://studio.blender.org/films/. This includes Sintel produced in 2010. See https://studio.blender.org/projects/sintel/
Blender’s “Project Gold” is a technical and artistic showcase, focused on highly stylized rendering and animation. Download assets, production files, and a workshop on stylized rendering at https://studio.blender.org/projects/gold
OpenSim – Lafayette Cemetery No.1
What better day to visit Lafayette Cemetery in New Orleans (in the OpenSim virtual world) than on the Day of the Dead (Día de los Muertos), November 2nd.
https://opensimworld.com/hop/91232
hop://hg.lagniappegrid.com:8402/Lafayette%20Cemetery/272/390/23
And of course, a visit to Marie Laveau’s tomb in the cemetery is a must… having been there in real life.
AvatarLife – Resources
AvatarLife (https://avatarlife.com/) is an OpenSimulator derived virtual world developed by Gamingverse Private limited registered in India. They have created their own Firestorm derived viewer with added features such as video calls and screen sharing.
Create Avatar: https://grid.avatarlife.com/
LoginURI: http://grid.avatarlife.com:8002/
Add AvatarLife Grid to Firestorm Grid Manager: secondlife:///app/gridmanager/addgrid/http%3A%2F%2Fgrid.avatarlife.com%3A8002
Discord invite Link: https://discord.gg/G8TNHvfewP
Hypergrid Business Blog Post: AvatarLife Viewer adds video calls, screen sharing, Maria Korolov October 19, 2024.
VRM – Resources
VRM is 3D standard format USING glTF2.0 to allow for the creation and use of humanoid avatars.
Press Release 24-Oct-2024: The Khronos Group and VRM Consortium Collaborate to Advance International Standardization of the VRM 3D Avatar File Format. [Press Release Link]
Firestorm VR Mod 7.1.11
I N P R E P A R A T I O N
Firestorm VR Mod 7.1.11.76496 release has support for the WebRTC voice services which will be the default in future in Second Life. Vivox voice is still available on regions which use that (including in OpenSim).
The standard version now required AVX2 instruction sets on Windows. A “legacy” version is available for older CPU (usually pre-2014).
A special version of the VR Mod viewer is available via @Sgeo which automatically calculates the VR HMD settings needed (which is normally done manually via F4) and may support more VR HMDs, such as meta Quest 2 and 3.
Firestorm VR Mod is a version of the popular Firestorm Viewer for Second Life and OpenSimulator with modifications to provide VR capabilities for VR Head Mounted Displays (HMDs) via SteamVR. This is experimental. Firestorm VR Mod is now available from https://github.com/humbletim/firestorm-gha/releases
For Firestorm VR Mod community support use the Discord Discussion Channel:
P373R-WORKSHOP by p373r_kappler [Invite]
Firestorm 7.1.11 + P373R VR Mod: This build includes P373R’s VR Mod 6.3.3 changes merged into the Firestorm 7.1.11.76496 release branch. The VR Mod approach takes a minimalistic approach to inserting VR capabilities into the viewer in order that the maintenance overhead is decreased and the potential longevity of the approach is increased. VR Controller support is not included.
The Firestorm VR Mod viewer (for Windows only) is available as an .exe “Setup” installer or as a .7z zipped file which can be unzipped to any directory and run from there without an install. If required, a free .7z unzip utility is available at https://www.7-zip.org/. Download the release for the latest version at https://github.com/humbletim/firestorm-gha/releases/
You need to install your usual VR Headset drivers and SteamVR. Firestorm VR Mod when run uses SteamVR which will launch any necessary VR headset specific underlying drivers.
Firestorm VR Mod is created using “GitHub Actions” (GHA) thanks to @humbletim and @thoys. Firestorm VR Mod version 7.* is still based on Peter Kappler’s VR Mod code changes (working since version 6.6.3 with only minor changes for the merge) but due to PBR changes, Linden Lab (and hence core Firestorm) reworked the render buffer structures which is one of the tight couplings into the core FS code base. The PBR viewer approach changed how the viewer finds the main screen information. The VR Mod initially relied on a direct path, but that path got moved after PBR. Where a developer would use “o.mScreen” before they would now use “o.mRT->screen”. The GitHub Actions have been changed to automatically map the original VR Mod code to new path, so the VR Mod code itself doesn’t need to be changed.
The build also uses the open source openal.dll audio library for sound and builds in the openvr_api.dll library for VR HMD connection.
Firestorm VR Mod has its own app and channel names “FirestormVR” and the install directory changed to “FirestormOS-VR-GHA” so the installation can exist side-by-side with stock Firestorm if desired. Settings and cache are shared with standard Firestorm. If you installed Firestorm VR Mod from an earlier version (up to 6.6.8) you can delete the now unused settings and cache directories: %APPDATA%\FirestormVR_x64 and %LOCALAPPDATA%\FirestormVROS_x64.
U S A G E
VR Mode 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 the config file which is located in
“C:\Users\your_user_name\AppData\Roaming\Firestorm_x64\vrconfig.ini”
and which can be edited directly. Pressing TAB for VR mode reloads the config file. - Hold F3 to see some debug info (example here).
- Press F4 to disable and enable HMD’s direction changes. It may be better to disable the HMD’s direction interface when editing and flying with the camera. This may be subject to change in future versions.
- In the camera floater two buttons has been added to offset the HMD’s base rotation.
- Moving the mouse to the corners or the sides will shift the screen to this direction so menus can be accessed more easily.
For issues on some specific headsets you might wish to try the Firestorm VR Mod Discord Channel: P373R-WORKSHOP by p373r_kappler [Invite]. Peter Kappler also offers the following advice…
- Firestorm VR Mod works best while sitting and using mouse and keyboard.
- WindowsMixedReality users may need to press windows key + Y to unlock the mouse when the HMD is worn.
- If your VR hardware cannot maintain constant 90 FPS you could try enabling motion reprojection in your HMD. In WindowsMixedReality it can be done by uncommenting “motionReprojectionMode” : “auto”, in the config file located at “C:\Program Files (x86)\Steam\steamapps\common\MixedRealityVRDriver\resources\settings\default.vrsettings”. This will make the HMD interpolate between frames and create a smoother experience. Vive and Oculus should have similar functionalities which can be accessed from SteamVR settings. For Vive it is called Motion Smoothing.
S E T T I N G S
As usual, Ctrl+TAB initially sets up SteamVR (and HMD support as needed), TAB is used to toggle VR mode on or off, F5 lets you select and step through the various VR HMD or user specific settings for IPD, texture shift to register the left and right eye images, and focal distance to change depth perception, etc. F6/F7 are used to increment and decrement each setting selection.
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
@Sgeo on Discord provided a tool to help in calculating the settings for Firestorm VR Mod.. at least to give you a starting position to adjust to your taste…
https://sgeo.github.io/firestorm-vr-calculator/
Source of the calculator is at https://github.com/Sgeo/firestorm-vr-calculator
Hovertips
If you see a lot of hover tips showing under the mouse it could be that the debug setting “ShowHoverTips” is set to TRUE (the default) which may show something constantly under the mouse even for inert unscripted objects. You can turn that off via Debug Settings or via Preferences > User Interface > 3D World > Show Hover Tips. Via that same preferences panel, you might alternatively prefer to lengthen the delay before hover tips are activated.
Chat Bubbles
In VR Mode it may be useful to show local nearby chat in “bubbles” over each avatar’s head. This can be done via Preferences > Chat.
T R O U B L E S H O O T I N G
Misaligned VR Cursor
Note from Gaffe on Discord: Firestorm VR Mod’s VR cursor will have a small-to-extreme offset on Windows in particular if you are using Windows UI Scaling with any settings OTHER than 100%. To fix the VR cursor offset, set the Windows UI Scaling for your primary display to 100%.
Missing Menus and Buttons in Centred VR View
If you notice that the top menu bar and bottom and side button areas do not show in your headset when you are in VR Mode and your view is centred (i.e. mouse is positioned centrally in the 2D view) it may be that the VR settings you chose for Texture Shift and Texture Zoom need to be adjusted, or set to zero.
All Black HMD Display or Black Edges or Strips in HMD Display
An all black display in the VR HMD was an issue in earlier versions and is mostly resolved now… but it can still occur with some headsets. In case you encounter issues with a black HMD display… Peter Kappler 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.
Firestorm VR Mod shifts the display in VR mode to an edge if the mouse or pointer is placed towards an edge or corner of the viewer window. This is to allow easier access to menus, user interface buttons and HUDs. It can be confusing though if you enter VR mode and find that part of the view is black. It is usually because the mouse is placed towards a corner or edge. Just move the mouse back to the centre of the screen and the full VR view should appear.
SteamVR Reset/Quit Screen Shows in HMD
When you switch to VR mode (after activating VR with Ctrl+TAB and using TAB), you may see a “Next Up… Firestorm” message or a SteamVR popup screen to “Reset the View” and “Quit SteamVR”. This has been observed to occur on the first run of a newly installed viewer. It can usually be dismissed with your controller if that is active, but if not the screen may continue to show the popup in VR mode in the HMD. Try another round of ctrl+TAB and TAB or if that does not work try stopping and restarting the viewer to clear this. These glitches may be more to do with legacy OpenVR + the latest SteamVR updates rather than Firestorm or VR Mod code changes.
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).
Adjust Over-the-Shoulder Camera View to Suit Yourself
Sometimes in VR mode the camera will be too high or far back from the avatar. If so, press Esc a couple of times, then Shift+Esc a couple of times, or Ctrl + 9 resets the camera to its default position. Shift + scroll mouse button moves camera up and down. You can also set specific Debug Settings (Ctrl+Alt+Shift+S) for camera positions, e.g. “CameraOffsetRearView”. If that doesn’t help, see http://wiki.secondlife.com/wiki/Camera_Control
A D V I C E O N F R A M E R A T E
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 50% or less of the frame rate that shows on the 2D normal screen. At low frame rates bad flickering or texture tearing 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.
You may need to disable “vsync” in Settings -> Graphics -> Hardware as if this is on (the default) the FPS is capped to the frame rate of your 2D monitor (often 60fps, meaning in VR you would get less than 30fps).
Firestorm includes an “Improve Graphics Speed” performance tool and facilities to autotune the FPS which may be helpful. See advice on FPS improvement and the new “Performance Floater” and “FPS Autotune” capabilities in Beq Janus’s Blog Post (21-Mar-2022).
To improve frame rate (FPS) you might opt to set shadows to “None”, Water reflections to “None: Opaque”, Mirrors “Off” and use a reasonably low draw distance appropriate to the scene. Also close viewer UI windows and tools and detach any HUDs you are not actively using. The rendering of Linden Water, the water surface and its effects, can significantly reduce frame rates. Setting water reflections to “None; opaque” which gives a big FPS boost whilst still leaving the water looking okay. In an extreme situation, and in an environment that makes sense such as a meeting room, disabling Linden Water entirely can boost frame rates. Do that via Advanced -> Rendering Types -> Water. If the Advanced menu is not shown use Settings -> Advanced -> Show Advanced Menu or World -> Show More -> Advanced menu.
Peter Kappler also suggests: 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 (which is no longer maintained) may also be relevant:
- 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.
- Make sure you don’t have Preferences > Graphics > Rendering > Limit Framerate enabled.
- To display avatar chat above avatars use Preferences > Chat > Visuals > Show chat in bubbles above avatars.
- 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.
C O N T R O L L E R S
Currently, specialised VR Controllers are not supported, but a range of game controllers and 3D navigation devices do work where supported by the normal viewer code.
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.
3D SpaceNavigator or SpaceMouse
As with all versions of Firestorm, the viewer supports other forms of “joystick”. One is the 3Dconnexion SpaceNavigator (aka SpaceMouse) which is a “3D mouse” supporting both avatar motion and by clicking the left hand button the separate “FlyCam” camera control.
My recommendation is to install the SpaceNavigator just by plugging it into Windows and receiving default Windows drivers for the device. I do not install any special SpaceNavigator drivers as suggested on the Second Life Wiki, some of which are incompatible with Second Life viewers.
Firestorm source is available at https://github.com/FirestormViewer/phoenix-firestorm. Look under “Commits” and select the branch for the specific Firestorm version required.
With Firestorm VR Mod Peter Kappler uses a simple coding approach which 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/ [Local Copy].
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 changes 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.
Latest version of openvr_api.dll can be obtained (Win64 version for this test version) from https://github.com/ValveSoftware/openvr/tree/master/bin/.
The GitHub Actions (GHA) source by @HumbleTim used to combine Firestorm source and Peter Kappler’s P373R VR Mod addons, make necessary adaptations and build it using Microsoft Visual Studio is available via https://github.com/humbletim/firestorm-gha.
VRLand on OSGrid is a metrics area for performance testing and to establish virtual field of view in your VR headset.
hop://hg.osgrid.org:80/RuthAndRoth/16/16/1000More detail at: https://blog.inf.ed.ac.uk/atate/2016/07/20/vrland-a-community-and-test-region-for-virtual-reality-in-virtual-worlds/
You can also pick up a VR Headset attachment for your avatar in OpenSim on the OSGrid on both the RuthAndRoth and (if available) the VRLand regions. Or in Second Life pick up the VR HMD on the Second Life Marketplace. The 3D models of the Oculus Rift were provided for free use by William Burke (MannyLectro) and imported to OpenSim by Michael Cerquoni (Nebadon Izumi) and Second Life by Ai Austin.
F5 Settings for Specific VR HMDs
- Oculus Rift DK2
- Meta Quest Link app version 69.0.0.501.353. SteamVR Version 2.7.4.
- IPD = 65.0 (default)
- Focus Distance = 10.0
- Texture Shift = 0.0
- Texture Zoom = 0.0
- FOV = 100.0
- Oculus Rift CV1
- Meta Quest Link app version 69.0.0.501.353. SteamVR Version 2.7.4
- IPD = 65.0 (default)
- Focus Distance = 10.0
- Texture Shift = 50.00
- Texture Zoom = 0.0 (others report 86-200 works)
- FOV = 100.0
- Please provide other VR HMD settings
If you see errors like “missing vcruntime.dll”, “missing msvcp.dll” or the application is not starting at all, then please download and install Visual C++ Redistributable for Visual Studio (link for 64-bit operating systems).
Oral History of AI at Edinburgh
An “Oral History” section has been established as part of a website for the History of Artificial Intelligence, Computer Science and Cognitive Science at Edinburgh https://groups.inf.ed.ac.uk/aics_history [Oral History Section]
This a project by Prof Chris Williams, Dr Vassilis Galanos and Ms Xiao Yang of the School of Informatics at Edinburgh. As part of this Austin Tate was interviewed by Vassilis Galanos on 17-Apr-2024. [Audio (m4a)][Transcript (PDF)]
A short paper entitled “A Short History of the Early Years of Artificial Intelligence at Edinburgh” by C.K.I. Williams et al was published in Proceedings of the Workshop on the History of AI in Europe (WHAI@EU) 20-Oct-2024, eds. Cortés, Ulises and Bugarín, Alberto and Barrué, Cristian, Publisher Zenodo, Santiago de Compostela, Spain. https://whai2024.github.io/ [Proceedings (PDF) CC-BY 4.0]
Second Life – Halloween 2024 – Voodoo In New Orleans
Welcome to the macabre and realistic world of New Orleans by “A Halloween Experience” group in Second Life.
href=”http://maps.secondlife.com/secondlife/Wandering%20New%20York/46/139/23
Europa Clipper
We are off to Europa, the icy moon of Jupiter. On board NASA’s Europa Clipper launched on its journey on 14-Oct-2024 to arrive near Jupiter in 2030.
Image credit: Credit: NASA/JPL-Caltech.
The “name on a spacecraft” this time is called “Message in a Bottle” and the names are etched on a plate on the spacecraft alongside a poem entitled “In Praise of Mystery: A Poem for Europa,” written by U.S. Poet Laureate Ada Limón.
https://europa.nasa.gov/message-in-a-bottle/learn/
Video credit: Credit: NASA/JPL-Caltech.
Autumn in Second Life
Autumn has arrived in Second Life and the Fall colours are out on many regions. E.g. on Luanes World, Le Monde Perdu – Autumn 2024
http://maps.secondlife.com/secondlife/Le%20Monde%20Perdu/187/185/23
OAR Converter with glTF
OAR Converter can take an OpenSimulator Archive (OAR) and from it create textures, meshes and terrain suitable to import into a Unity or Unreal Engine scene. It can use Collada (DAE), OBJ or glTF formats. This blog post covers use converting an OpenSim OAR to glTF for use via Unity. It describes OAR Converter 1.8.* an update in September 2024 to replace the earlier versions 1.7.0 from June 2024 and 1.0.6 from 2013-2017. See this earlier blog post for information on using the Collada format as the instructions are unchanged.
From Unity a range of virtual world or virtual reality experiences can be created. The converter has been created by Fumikazu Iseki (Avatar: @Fumi.Hax – @fumi_hax) and his colleagues at the Network Systems Laboratory of Tokyo University of Information Sciences (TUIS) in Japan with support from Austin Tate at the University of Edinburgh.
- OAR Converter from OpenSimulator Archive (OAR) to Collada, OBJ and glTF files for use in Unity3D.
- Software developed by Fumi Iseki, Austin Tate, Daichi Mizumaki and Kohe Suzuki.
- Download OAR Converter for Windows from https://blackjack.nsl.tuis.ac.jp/Download/Release/OARConverter/OARConvWin-1.8.3.zip
- [Local Copy]. Latest Version at the time of this blog post is v1.8.3 (at 122-Sep-2024).
- OAR Converter User Manual
This blog post is provided for convenience and using content from the original TUIS OAR Converter Japanese Web Site which should be considered definitive.
Unity Base Project with glTFast
Create an Unity project including the glTFast module as a basis for using OAR Converter with glTF. To install the Unity glTFast package, follow these steps:
- In your Unity project, go to Windows > Package Manager.
- On the status bar, select the Add (+) button.
- From the Add menu, select Add + package by name. Name and Version fields appear.
- In the Name field, enter com.unity.cloud.gltfast
- Select Add.
- The Editor installs the latest available version of the package and any dependent packages.
Note that items in your project can be exported to glTF by selecting the item(s) you wish to export and right click on that or choose from menu Assets > Export glTF > choose .glb or .gltf.
It is suggested that you use GLTF format rather than GLB as the imported size of the project may be larger with GLB as textures cannot (currently anyway) be shared between separate GLB meshes. Also GLB mesh import to the hierarchy of a Unity scene may stall/hang due to heavy use of textures. You can sometime get round this by not adding all the GLB meshes to the scene in one go.
OAR Converter with Windows UI – Quick Start
For straightforward conversions, simply follow these steps:
- Use “Tools” -> “Output Format” and “Tools” -> “Settings” to check output for UNITY is selected and if necessary change the output format to GLTF or GLB.
- Place your OpenSim OAR file in a suitable directory.
- Run the OAR Converter and using “File” -> “Open OAR File” select the OAR file you wish to convert. This will create a directory called OAR_ with the unpacked contents of the OAR file ready for conversion.
- Now select “File” -> “Convert Data” from the OAR Converter File menu. This will create a directory called GLTF_ (or GLB_) with the converted content in it.
- The converted objects are placed in three directories: Solids contains objects which which have colliders; Phantoms (objects with no collider); and Terrains.
- The Textures sub-directories within a for GLB_ conversion are not actually needed for use in Unity since GLB has the textures embedded but is provided for convenience. It may be deleted or not imported to Unity if you wish.
Import to Unity3D
You could follow the video instructions in this video by Fumikazu Iseki.
The video gives an example of converting an OpenSim OAR, conversion to GLTF and importing the contents and merging that with a Unity project/scene including adding the required glTFast library and Editor scripts, and adding a sample water surface. Importing the included “UnityChan” character avatar is also shown.
Import to Unity – Quick Start
- Ensure you add relevant parts of the contents of the “Unity” folder in the OAR Converter distribution into your Unity project, adding Editor/GLTFAutoCollider.cs and Editor/SetLocationByParameter.cs at least. Editor/SelectOARShader.cs is not used for GLTF/GLB imports.
- In your Unity project add an empty game object at 0,0,0 and name it (e.g.) the same as your OpenSim region name. Under this add three empty game objects named Solids, Phantoms and Terrains
- Drag the GLTF_ (or GLB_) folder in its entirety onto the Unity “Project” (Assets) panel.
- Select all the objects in the Solids directory of this directory and drag them onto the “Solids” game object in the Unity “Hierarchy” panel.
- Select all the objects in the Phantom directory and drag them onto the “Phantoms” game object in the Unity “Hierarchy” panel.
- Select all the objects in the Terrains directory and drag them onto the “Terrains” game object in the Unity “Hierarchy” panel.
- Look at the imported objects and if you see any that are not correctly textured (usually showing as magenta coloured items) perform an “Assets” -> “Reimport All” to fix that.
- Optional: Add a water layer at 0,20,0. 20 is sea level in OpenSim. [Instructions in video].
- Optional: Add a ThirdPartyController/Avatar to be able to run the scene and view the contents. [Instructions in <video].
Project Base for OAR Converter Projects
Once you have successfully tried a conversion and understand the elements, you may wish to create a base for any future OAR conversion… which can include all the steps except for the drag and drop in of the actual DAE converted content. Do this yourself to incorporate the very latest OAR Converter content, scripts and Unity assets. You can if you wish save this as a “unitypackage” to incorporate into future Unity projects.
For convenience my own base project is available at http://www.aiai.ed.ac.uk/~ai/unity/oarconv/ (file: Unity-OAR-Converter-Base.unitypackage). This can be loaded into a “New Project” made in Unity 6000.0 onwards. I use the 3D Template with the “Built-in Render Pipeline”. It provides Mixamo Xbot and Ybot avatars along with UnityChan movement animations and avatars linked cameras.
After that you can make a copy of the base project you created, or create a new unity project and ensure that the glTFast package is included as described above. Then you can import the unitypackage as a base, and then drag the OAR Converter produced “GLTF_” (or “GLB_”) directory into the Unity Project Assets area, add the GLTF/Solids folder assets and those in the GLTF/Phantoms and GLTF/Terrain folders to the hierarchical view panel. Adjust the position of the chosen avatar and attached camera to suit the region, save the project, save the scene, and you should be good to go.
Notes on OAR Converter for glTF/glb in Unreal Engine by Fumi Iseki (To Be Tided Up)
for UE5
– UE 5.3/5.4 can also drag & drop as-is (.gltf, .glb files only)
— Check the “Combine Static Meshes” checkbox in the “Static Mesh” section when importing.
— If the “Are you sure you want to override asset Message” dialog box pops up frequently during import, hold down the ESC key (there may be another solution).
– Do not use the OARSelectMaterial plugin, as it does not work properly.
– When importing glTF/glb files with skeleton information, UE5 does not follow the glTF2.0 standard (*). In this case, OARConverter outputs a glTF/glb file that does not conform to the glTF2.0 standard in order to ensure that UE5 reads the data.
— (*) In glTF 2.0, matrix property is not required or should be ignored if skin property exists in node data, but in UE5, matrix property is required (depending on model structure) even if skin property exists.
— If you want to get the same general glTF/glb files with skeleton information, please output those for Unity.
Firestorm VR Mod 7.1.10
7.1.10 is still in preparation and testing. Public download is not yet available.
Firestorm VR Mod 7.1.10.75913 is the first VR Mod viewer release with support for the WebRTC voice services which will be the default in future in Second Life. Vivox voice is still available on regions which use that (including in OpenSim).
Firestorm VR Mod is a version of the popular Firestorm Viewer for Second Life and OpenSimulator with modifications to provide VR capabilities for VR Head Mounted Displays (HMDs) via SteamVR. This is experimental. Firestorm VR Mod is now available from https://github.com/humbletim/firestorm-gha/releases
For Firestorm VR Mod community support use the Discord Discussion Channel:
P373R-WORKSHOP by p373r_kappler [Invite]
Firestorm 7.1.10 + P373R VR Mod: This build includes P373R’s VR Mod 6.3.3 changes merged into the Firestorm 7.1.10.75913 release branch. The VR Mod approach takes a minimalistic approach to inserting VR capabilities into the viewer in order that the maintenance overhead is decreased and the potential longevity of the approach is increased. VR Controller support is not included.
The Firestorm VR Mod viewer (for Windows only) is available as an .exe “Setup” installer or as a .7z zipped file which can be unzipped to any directory and run from there without an install. If required, a free .7z unzip utility is available at https://www.7-zip.org/. Download the release for the latest version at https://github.com/humbletim/firestorm-gha/releases/
You need to install your usual VR Headset drivers and SteamVR. Firestorm VR Mod when run uses SteamVR which will launch any necessary VR headset specific underlying drivers.
Firestorm VR Mod is created using “GitHub Actions” (GHA) thanks to @humbletim and @thoys. Firestorm VR Mod version 7.* is still based on Peter Kappler’s VR Mod code changes (working since version 6.6.3 with only minor changes for the merge) but due to PBR changes, Linden Lab (and hence core Firestorm) reworked the render buffer structures which is one of the tight couplings into the core FS code base. The PBR viewer approach changed how the viewer finds the main screen information. The VR Mod initially relied on a direct path, but that path got moved after PBR. Where a developer would use “o.mScreen” before they would now use “o.mRT->screen”. The GitHub Actions have been changed to automatically map the original VR Mod code to new path, so the VR Mod code itself doesn’t need to be changed.
The build also uses the open source openal.dll audio library for sound and builds in the openvr_api.dll library for VR HMD connection.
Firestorm VR Mod has its own app and channel names “FirestormVR” and the install directory changed to “FirestormOS-VR-GHA” so the installation can exist side-by-side with stock Firestorm if desired. Settings and cache are shared with standard Firestorm. If you installed Firestorm VR Mod from an earlier version (up to 6.6.8) you can delete the now unused settings and cache directories: %APPDATA%\FirestormVR_x64 and %LOCALAPPDATA%\FirestormVROS_x64.
U S A G E
VR Mode 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 the config file which is located in
“C:\Users\your_user_name\AppData\Roaming\Firestorm_x64\vrconfig.ini”
and which can be edited directly. Pressing TAB for VR mode reloads the config file. - Hold F3 to see some debug info (example here).
- Press F4 to disable and enable HMD’s direction changes. It may be better to disable the HMD’s direction interface when editing and flying with the camera. This may be subject to change in future versions.
- In the camera floater two buttons has been added to offset the HMD’s base rotation.
- Moving the mouse to the corners or the sides will shift the screen to this direction so menus can be accessed more easily.
For issues on some specific headsets you might wish to try the Firestorm VR Mod Discord Channel: P373R-WORKSHOP by p373r_kappler [Invite]. Peter Kappler also offers the following advice…
- Firestorm VR Mod works best while sitting and using mouse and keyboard.
- WindowsMixedReality users may need to press windows key + Y to unlock the mouse when the HMD is worn.
- If your VR hardware cannot maintain constant 90 FPS you could try enabling motion reprojection in your HMD. In WindowsMixedReality it can be done by uncommenting “motionReprojectionMode” : “auto”, in the config file located at “C:\Program Files (x86)\Steam\steamapps\common\MixedRealityVRDriver\resources\settings\default.vrsettings”. This will make the HMD interpolate between frames and create a smoother experience. Vive and Oculus should have similar functionalities which can be accessed from SteamVR settings. For Vive it is called Motion Smoothing.
S E T T I N G S
As usual, Ctrl+TAB initially sets up SteamVR (and HMD support as needed), TAB is used to toggle VR mode on or off, F5 lets you select and step through the various VR HMD or user specific settings for IPD, texture shift to register the left and right eye images, and focal distance to change depth perception, etc. F6/F7 are used to increment and decrement each setting selection.
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
@Sgeo on Discord provided a tool to help in calculating the settings for Firestorm VR Mod.. at least to give you a starting position to adjust to your taste…
https://sgeo.github.io/firestorm-vr-calculator/
Source of the calculator is at https://github.com/Sgeo/firestorm-vr-calculator
Hovertips
If you see a lot of hover tips showing under the mouse it could be that the debug setting “ShowHoverTips” is set to TRUE (the default) which may show something constantly under the mouse even for inert unscripted objects. You can turn that off via Debug Settings or via Preferences > User Interface > 3D World > Show Hover Tips. Via that same preferences panel, you might alternatively prefer to lengthen the delay before hover tips are activated.
Chat Bubbles
In VR Mode it may be useful to show local nearby chat in “bubbles” over each avatar’s head. This can be done via Preferences > Chat.
T R O U B L E S H O O T I N G
Misaligned VR Cursor
Note from Gaffe on Discord: Firestorm VR Mod’s VR cursor will have a small-to-extreme offset on Windows in particular if you are using Windows UI Scaling with any settings OTHER than 100%. To fix the VR cursor offset, set the Windows UI Scaling for your primary display to 100%.
Missing Menus and Buttons in Centred VR View
If you notice that the top menu bar and bottom and side button areas do not show in your headset when you are in VR Mode and your view is centred (i.e. mouse is positioned centrally in the 2D view) it may be that the VR settings you chose for Texture Shift and Texture Zoom need to be adjusted, or set to zero.
All Black HMD Display or Black Edges or Strips in HMD Display
An all black display in the VR HMD was an issue in earlier versions and is mostly resolved now… but it can still occur with some headsets. In case you encounter issues with a black HMD display… Peter Kappler 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.
Firestorm VR Mod shifts the display in VR mode to an edge if the mouse or pointer is placed towards an edge or corner of the viewer window. This is to allow easier access to menus, user interface buttons and HUDs. It can be confusing though if you enter VR mode and find that part of the view is black. It is usually because the mouse is placed towards a corner or edge. Just move the mouse back to the centre of the screen and the full VR view should appear.
SteamVR Reset/Quit Screen Shows in HMD
When you switch to VR mode (after activating VR with Ctrl+TAB and using TAB), you may see a “Next Up… Firestorm” message or a SteamVR popup screen to “Reset the View” and “Quit SteamVR”. This has been observed to occur on the first run of a newly installed viewer. It can usually be dismissed with your controller if that is active, but if not the screen may continue to show the popup in VR mode in the HMD. Try another round of ctrl+TAB and TAB or if that does not work try stopping and restarting the viewer to clear this. These glitches may be more to do with legacy OpenVR + the latest SteamVR updates rather than Firestorm or VR Mod code changes.
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).
Adjust Over-the-Shoulder Camera View to Suit Yourself
Sometimes in VR mode the camera will be too high or far back from the avatar. If so, press Esc a couple of times, then Shift+Esc a couple of times, or Ctrl + 9 resets the camera to its default position. Shift + scroll mouse button moves camera up and down. You can also set specific Debug Settings (Ctrl+Alt+Shift+S) for camera positions, e.g. “CameraOffsetRearView”. If that doesn’t help, see http://wiki.secondlife.com/wiki/Camera_Control
A D V I C E O N F R A M E R A T E
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 50% or less of the frame rate that shows on the 2D normal screen. At low frame rates bad flickering or texture tearing 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.
You may need to disable “vsync” in Settings -> Graphics -> Hardware as if this is on (the default) the FPS is capped to the frame rate of your 2D monitor (often 60fps, meaning in VR you would get less than 30fps).
Firestorm includes an “Improve Graphics Speed” performance tool and facilities to autotune the FPS which may be helpful. See advice on FPS improvement and the new “Performance Floater” and “FPS Autotune” capabilities in Beq Janus’s Blog Post (21-Mar-2022).
To improve frame rate (FPS) you might opt to set shadows to “None”, Water reflections to “None: Opaque”, Mirrors “Off” and use a reasonably low draw distance appropriate to the scene. Also close viewer UI windows and tools and detach any HUDs you are not actively using. The rendering of Linden Water, the water surface and its effects, can significantly reduce frame rates. Setting water reflections to “None; opaque” which gives a big FPS boost whilst still leaving the water looking okay. In an extreme situation, and in an environment that makes sense such as a meeting room, disabling Linden Water entirely can boost frame rates. Do that via Advanced -> Rendering Types -> Water. If the Advanced menu is not shown use Settings -> Advanced -> Show Advanced Menu or World -> Show More -> Advanced menu.
Peter Kappler also suggests: 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 (which is no longer maintained) may also be relevant:
- 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.
- Make sure you don’t have Preferences > Graphics > Rendering > Limit Framerate enabled.
- To display avatar chat above avatars use Preferences > Chat > Visuals > Show chat in bubbles above avatars.
- 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.
C O N T R O L L E R S
Currently, specialised VR Controllers are not supported, but a range of game controllers and 3D navigation devices do work where supported by the normal viewer code.
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.
3D SpaceNavigator or SpaceMouse
As with all versions of Firestorm, the viewer supports other forms of “joystick”. One is the 3Dconnexion SpaceNavigator (aka SpaceMouse) which is a “3D mouse” supporting both avatar motion and by clicking the left hand button the separate “FlyCam” camera control.
My recommendation is to install the SpaceNavigator just by plugging it into Windows and receiving default Windows drivers for the device. I do not install any special SpaceNavigator drivers as suggested on the Second Life Wiki, some of which are incompatible with Second Life viewers.
Firestorm source is available at https://github.com/FirestormViewer/phoenix-firestorm. Look under “Commits” and select the branch for the specific Firestorm version required.
With Firestorm VR Mod Peter Kappler uses a coding approach which 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/ [Local Copy].
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 changes 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.
Latest version of openvr_api.dll can be obtained (Win64 version for this test version) from https://github.com/ValveSoftware/openvr/tree/master/bin/.
The GitHub Actions (GHA) source by @HumbleTim used to combine Firestorm source and Peter Kappler’s P373R VR Mod addons, make necessary adaptations and build it using Microsoft Visual Studio is available via https://github.com/humbletim/firestorm-gha.
VRLand on OSGrid is a metrics area for performance testing and to establish virtual field of view in your VR headset.
hop://hg.osgrid.org:80/RuthAndRoth/16/16/1000More detail at: https://blog.inf.ed.ac.uk/atate/2016/07/20/vrland-a-community-and-test-region-for-virtual-reality-in-virtual-worlds/
You can also pick up a VR Headset attachment for your avatar in OpenSim on the OSGrid on both the RuthAndRoth and (if available) the VRLand regions. Or in Second Life pick up the VR HMD on the Second Life Marketplace. The 3D models of the Oculus Rift were provided for free use by William Burke (MannyLectro) and imported to OpenSim by Michael Cerquoni (Nebadon Izumi) and Second Life by Ai Austin.
F5 Settings for Specific VR HMDs
- Oculus Rift DK2
- Meta Quest Link app version 66.0.0.308.370. SteamVR Version 2.6.2.
- IPD = 65.0 (default)
- Focus Distance = 10.0
- Texture Shift = 0.0
- Texture Zoom = 0.0
- FOV = 100.0
- Oculus Rift CV1
- Meta Quest Link app version 66.0.0.308.370. SteamVR Version 2.6.2.
- IPD = 65.0 (default)
- Focus Distance = 10.0
- Texture Shift = 50.00
- Texture Zoom = 0.0 (others report 86-200 works)
- FOV = 100.0
- Please provide other VR HMD settings
If you see errors like “missing vcruntime.dll”, “missing msvcp.dll” or the application is not starting at all, then please download and install Visual C++ Redistributable for Visual Studio (link for 64-bit operating systems).
NotebookLM – on Firestorm VR Mod
NotebookLM by Google (https://notebooklm.google.com/) is an AI-powered research and writing assistant that works with a number of the information sources that you upload or provide URLs for.
A sample NotebookLM with sources relevant to Firestorm VR Mod is at https://notebooklm.google.com/notebook/8b56ea41-fb98-4c9d-b6e9-31c5ba6ee2f0
You can access an audio podcast style chat between two people discussing the project.. completely AI generated… click “Notebook Guide” blue link on bottom right and then should see an Audio Deep Dive widget box in upper right of the UI dialog, which then should have a “Load” button to load a previously generated audio result [Local Copy]…
NotebookLM can be used to generate things like FAQs, contents lists, summaries, etc…
Firestorm VR Mod
Firestorm VR Mod is a version of the popular Firestorm Viewer for Second Life and OpenSimulator with modifications to provide VR capabilities for VR Head Mounted Displays (HMDs) via SteamVR. This is experimental. You can find the latest version of Firestorm VR Mod at https://github.com/humbletim/firestorm-gha/releases
Blog posts to describe the use of some versions of Firestorm VR Mod are available…
- 7.1.10 – with WebRTC support coming soon.
- 7.1.9 – https://blog.inf.ed.ac.uk/atate/2024/06/24/firestorm-vr-mod-7-1-9/
NASA Lunar Gateway in Second Life
On 15-Aug-2024 NASA 3D Resources released a 3D model of the Lunar Gateway in the glTF (.glb) format along with a near Moon environment surround. See https://nasa3d.arc.nasa.gov/detail/gateway
The glTF model can be loaded into Second Life by rezzing a cube, scaling it to 1m x 1m x 1m and rotating it X = 90°, and then while its selected using Develop -> GLTF -> Open on the .glb model. You may need to move the model high in the sky (say above 1,000m) so that the ground and sea are not visible.
Creating the HDRI Environment
Take the “Low Lunar Orbit.jpg” image provided and in a suitable graphics program (e.g. GIMP) export it as file type .exr which provides an HDRI environment. This can be loaded into Second Life viewer as the replacement environment at present with Develop -> Render Tests -> HDRI Preview.
HG Safari Blog – Ai Austin Interview
This blog post gives the information provided as a basis for a blog post by Thirza Ember on the HG Safari Blog. An interview on the OSGrid regions of RuthAndRoth, Black Rock and Space City was held on 21-Aug-2024 to add material.
https://hgsafari.blogspot.com/2024/08/austins-eye.html
Thirza Ember 16-Aug-2024: I am working on a few general interest stories on the HG Safari Blog, and I wondered if you would be willing to do an interview? It would be about your Opensim career principally, how you got into Opensim, what your main interests are etc – obviously with all the appropriate links to your blogs and so on. If you’d be kind enough to provide some bio info in here too, so I get accurate and up to date info.
Ai Austin:
Virtual worlds/OpenSim focused bio…
Austin Tate (avatar: Ai Austin – pronounced “eye”) 16-Aug-2024
In Real Life I am an educator and researcher in artificial intelligence and robotics, with a special interest in distributed collaboration and teamwork. I was Director of the AI Applications Institute (AIAI) at the University of Edinburgh and Coordinator for the Virtual University of Edinburgh (Vue). I am a Fellow of the Royal Academy of Engineering (FREng) and Fellow of the Royal Society of Edinburgh (FRSE, Scotland’s National Academy). I am now retired and Emeritus Professor at the University of Edinburgh and remain an Honorary Staff Member of the University. I am an open source developer and advocate of open educational resources and through that continue to play an active part in developments in my fields of interest.
https://www.aiai.ed.ac.uk/~bat/
As with many potentially useful educational and collaborative technologies, I had initial explorations with multi-user persistent virtual spaces going right back to the MUD/MOO days of the 1970s. As these environments became more graphically orientated, several groups at the University of Edinburgh, including my group, were using professional and hobby related virtual worlds in the early 2000s such as Forterra OLIVE, There, etc. Second Life was also being explored in its early days, around 2004. Second Life became more useful and more widely publicized in 2006 and several groups came together soon afterwards to form the Virtual University of Edinburgh (Vue) to coordinate our efforts in using these environments for teaching, research and outreach.
https://blog.inf.ed.ac.uk/atate/2011/10/22/a-brief-history-of-virtual-collaboration/
https://blog.inf.ed.ac.uk/atate/2018/04/27/virtual-worlds-technology-for-university-of-edinburgh/
https://vue.ed.ac.uk
I have had a presence in Second Life since then and in OpenSim (as both user and grid manager) since July 2007. We also make use of a wide range of platforms beyond Second Life and OpenSim. I frequently make blog posts about experiments and uses of virtual worlds tools and techniques.
https://blog.inf.ed.ac.uk/atate/
Mirror at https://aiaustin.wordpress.com/
For professional use and meetings, my avatar usually wears a green flight suit which has been with me since I first set up in Second Life. I licenced the use of the textures from the creator back then. When exploring in virtual worlds I usually have an outfit that reminds me of Strider in Lord of the Rings, though the sword is Orcrist from the Hobbit. That reminds me of a visit to Weta Workshop in New Zealand where we handled the original filming prop and I have a nicely crafted replica of that.
https://blog.inf.ed.ac.uk/atate/2019/09/02/ai-austin-mk-2/
https://blog.inf.ed.ac.uk/atate/2018/04/12/orcrist/
Vue, Openvue and OpenVCE
The Vue regions in Second Life were made available from 28th May 2007. A timeline of events is available at http://vue.ed.ac.uk/ and over the years a number of departments and units as well as externally funded projects have contributed to the server costs for 12 years. An in-house hosted copy of the regions has been provided on OpenSim (Openvue). Security concerns means the in-house version can only be made available within the University firewall, but an openly accessible version is still hosted on OSGrid for continuity.
Other training and simulation related project regions (such as the RGU Oil Rig for immersive training of offshore workers) are also kept on OSGrid. The OARs for the Openvue regions are available as open educational resources. Our Open Virtual Collaboration Environment (OpenVCE) region created on a project funded by the US Army Research Lab's Human Research and Engineering Directorate (HRED) as an open source resource (OAR) also continues to be available as a basis for a facility to support synchronous and asynchronous collaboration in many forms.
https://blog.inf.ed.ac.uk/atate/2017/11/30/vue-openvue/
https://blog.inf.ed.ac.uk/atate/2021/07/19/open-educational-resources-vue-and-openvce/
https://blog.inf.ed.ac.uk/atate/2022/02/27/openvce-for-opensim-2022/
https://blog.inf.ed.ac.uk/atate/2017/06/07/virtual-oil-rig-enhancing-higher-education/
I-Room
One of our projects related to virtual worlds collaboration and meeting support is the I-Room – a virtual space for intelligent interaction. We used this on a wide range of projects and for experimentation.
https://blog.inf.ed.ac.uk/atate/2011/09/15/i-room-a-virtual-space-for-intelligent-interaction/
AI Planning MOOC
Our virtual world spaces were also used to give briefings and tutorial support for our Massive Open Online Course (MOOC) in AI Planning. Over its three runs on the Coursera platform it reached 115,000 students. The resources continue to be available on our media servers, YouTube and as Open Educational Resources. The MOOC materials are also used as the basis for graduate level studies by other Universities.
https://blog.inf.ed.ac.uk/atate/2016/06/15/ai-planning-mooc-interview/
Open Source Projects, OAR Converter, Ruth2/Roth2 Mesh Avatars
I am an open source software developer and contribute mostly via testing and the occasional code contribution to a range of projects including OpenSim, the Second Life and Firestorm viewers, I am especially involved with the Firestorm VR Mod variant. I helped Fumi Iseki and his team in Japan create the OAR Converter to take content from OpenSim into Unity and other 3D modellers. I am one of the core team behind the Ruth2 and Roth2 open source mesh avatars.
https://blog.inf.ed.ac.uk/atate/?s=Firestorm+VR+Mod
https://blog.inf.ed.ac.uk/atate/2024/06/10/oar-converter/
https://blog.inf.ed.ac.uk/atate/2020/08/30/ruth2-v4/
https://blog.inf.ed.ac.uk/atate/2020/05/24/roth2-v2/
HG Safari Blog Questions
Thirza Ember:
I know you brought Vue to Second back in about 2007, and then into Opensim about three years later – can you tell me something about how the virtual university concept came about? What do /did you expect the students to get out of it? Can you also talk about the students who participate in Vue – what disciplines they come from, beyond IT and business studies? How other faculty have responded to the concept?
Ai Austin:
We had our first Vue region in Second Life May 2007 and had about 10 regions a year or two later. So a mini-continent. We maintained paid for regions on Second Life through to March 2019. The first OpenSim regions were started in July 2007 so following on quickly.
Timeline at https://vue.ed.ac.uk/ and https://vue.ed.ac.uk/openvue/
There were perhaps a dozen units and departments and many groups inside those that were actively involved in using Second Life and virtual worlds for some aspect of their teaching, research and outreach. Central units like the Library, Alumni, Disability Office and Corporate Services were involved as well as academic departments. Online graduations took place as mixed reality events linked to the main physical graduation hall. A list of those involved and some of the uses is available in a presentation made for University management and handouts linked from https://vue.ed.ac.uk/ e.g.
https://vue.ed.ac.uk/resources/presentations/vue-overview.pdf
Thirza Ember:
The move to Opensim is linked, perhaps I’m right in saying, to the collapse of SL’s support of academic sims. Do you remember the transition as traumatic? Did it involve a big learning curve, or were you already deep into the code, and interested in bringing Vue to a place with less ready-made commercial feel and more options for experimentation? Can you remember the reaction of the students to the change? What have been the advantages and disadvantages of the change in your view, from both the techie side of things, and the end user’s perspective?
Ai Austin:
No, nothing traumatic at all. Though the costs of the Second Life regions always was a funding issue and we had to work hard to maintain interest in putting so much money into the facilities. We were already using multiple virtual worlds like There and Forterra OLIVE (for professional simulation tasks) and we assumed there would be development and potentially some platforms would become unavailable or move in inappropriate directions for a University. We made sure assets could be re-used in multiple contexts. We looked at self hosted Second Life using what was called “Second Life Enterprise” at the time, but that concept was not continued by Linden Lab. In July 2007 we starting experimenting with OpenSim as self-hosted capability as that was attractive in a University context and we had the “Openvue” as a shared facility from 2008. I would say though that Second Life was easier for staff and students than trying to set up on and use OpenSim.
https://blog.inf.ed.ac.uk/atate/2017/11/30/vue-openvue/
https://blog.inf.ed.ac.uk/atate/2018/04/27/virtual-worlds-technology-for-university-of-edinburgh/
Thirza Ember:
Of course, your work is not just Vue but also open AI. You have a long and really fascinating history of blogging Opensim and SL and I guess ‘the viewers’ to give it a generic name. Your blogging work has proved to be a valuable resource both for getting news, understanding developments, and charting the progress of this platform. Can you talk a bit about how you got started in blogging, what your motivation is to do it, and the rewards and responsibilities, if that’s not too grand a term, are as time had gone by ? Are there other Opensim-related blogs or threads that you read, and can recommend?
Ai Austin:
As for blogging, I got interested in that form of shared communication back in 2009/2010. I was doing an MSc in e-Learning taught via distance education methods with our School of Education. I did that to understand the methods and tools better as I became responsible for the early development of the School of Informatics distance education and later MOOC programmes. The MSc showed a range of platforms and tools and amongst them we used a range of blogging and micro-blogging platforms. So when our School and the University provided the WordPress blog platform for staff and students I took to that right away.
Since then I use it to record many experiments, capture screen shots, describe useful tips and resources, etc. Its another way to share and get feedback and learn from others. I use twitter/X as one way to get pointers top relevant and interesting content. I often use a blog post I have read to go explore some tool or virtual world location. I make “Resources” posts in my blog to point at web sites, download links for tools and recall links to other relevant blog posts.
Back in 2000-2002 I directed a large project involving 30 organisations spread over 4 countries (CoAX) and we shared knowledge and assets between those involved. We created a simple tool to allow for push notification of relevant information to subscribers of certain parts of the content and status information was encoded in the notifications. It was a sort of Twitter system (without the scaling that involved). We switched to using Twitter with structured syntax and URL content in tweets soon after it became available in 2006. I still use twitter/X that way with structed information in some entries.
I have always considered open sharing of educational resources important. Our AI planning systems were right from the start (back in the 1970s) licenced in a way that allowed for re-use and sharing. That’s a way to build a community of interest, get feedback and extend capabilities in a way that can benefit all.
inZOI – Resources
inZOI is a life simulation game created by Korean developer KRAFTON where you can visualize stories of life with immersive, realistic graphics and deep, detailed simulation that creates unexpected occurrences.
inZOI on Twitter/X – @PlayinZOI
inZOI Web – https://playinzoi.com/en
Canvas
Canvas provides a platform to have experiences using characters (called ZOIs) created in the Character Creator or chosen from characters already available and created by others…
Mirrors in OpenSim
Mirrors are supported in OpenSim 0.9.3.0 dev master.
Ensure you are using a viewer and on a region that supports mirrors and that the debug setting RenderMirrors = TRUE which it is by default in most viewers.
- Rez the object to have a face which will be your mirror. Size and rotation does not matter.
- Make the face to be a mirror have a shiny face… e.g. use a reflective PBR material or blinn-phong with a simple blank texture, make Specular have glossiness factor 255, environment 255, and colour tint black.
- Rez a Box, size does not matter. rotate Z+ away from face to be the mirror.
- Make that box be a Mirror (Everything) probe… sphere or box type does not matter.
- Mirror Reflection Probe goes transparent (see it with ctrl+alt+t). But use Build -> Options -> Select Reflection Probes to be able to reselect it for editing.
- Move it into the reflective surface’s plane. The probe centre line should be just above the mirror’s surface.
- Resize the Mirror Reflection Probe as needed to cover the face of the Mirror and to adjust any edge effects.
The quality and update frequency of the Mirror can be adjusted in Preferences -> Graphics (-> Advanced settings).
Tutorials and Videos of How to Create Mirrors in Second Life
Tutorial: Creating a Simple (Prim) Mirror in Second Life – Inara Pey – Blog Post 12-Jun-2024.
Firestorm SgeoMinVR 7.1.9
This blog post provides links and resources related to Firestorm SgeoMinVR which is still undergoing testing and revision. The current standard Firestorm VR Mod can be found via this blog post.
@Sgeo on Discord created a variant of Peter Kappler’s VR Mod code which sets the VR settings automatically for the various VR HMDs rather than needing the FN keys to set them up. Hence the F5/F6/F7 settings and adjustments are removed (no vrconfig.ini is saved) comparesd to the standard Firestorm VR Mod. F3 provides enhanced VR HMD related information. Sgeo calls this his “minimal” VR build, close to P373R except not needing settings to be set.
Download (via Discord P373R channel)
https://discord.com/channels/613119193734316042/613119193734316044/1260076127003869205
File: Phoenix-FirestormOS-SgeoMinVR-7-1-9-74748_Setup.exe (166.45 MB)
Caveats
- No sound at present (a later GHA automated build will hopefully fix this).
- This release needs openvr_api.dll added to the install directory (the GHA automated build will hopefully fix this). A copy can be taken from the usual Firestorm VR Mod release.
- The FOV defaults to small. Ctrl-8 should adjust that, you might need the advanced menu open.
- The 3D view is distorted when the mouse isn’t in the middle.
Approach
Peter Kapplers VR Mod (P373R) code contains a line:
glBlitFramebuffer(bx, by, tx, ty, m_iTextureShift, 0, m_nRenderWidth + m_iTextureShift, m_nRenderHeight, GL_COLOR_BUFFER_BIT, GL_LINEAR);
Sgeo replaced that with
glBlitFramebuffer(bx, by, tx, ty, m_nRenderWidth * uMin, m_nRenderHeight * vMin, m_nRenderWidth * uMax, m_nRenderHeight * vMax, GL_COLOR_BUFFER_BIT, GL_LINEAR);
So instead of a horizontal texture shift, it’s adjusted and scaled by uMin/uMax and vMin/vMax, which are automatically calculated based on SL’s FOV and the VR projection matrix.
At least one (small) change is made to llviewerdisplay.cpp: gVR.m_fEyeDistance to gVR.eyeDistance()
Source Code and Changed Files
https://github.com/Sgeo/p373r-sgeo-minimal/
https://github.com/Sgeo/p373r-sgeo-minimal/blob/sgeo_min_vr_7.1.9/indra/newview/llviewerVR.cpp
https://github.com/Sgeo/p373r-sgeo-minimal/blob/sgeo_min_vr_7.1.9/indra/newview/llviewerVR.h
https://github.com/Sgeo/p373r-sgeo-minimal/blob/sgeo_min_vr_7.1.9/indra/newview/llviewerdisplay.cpp
llviewerVR.cpp and llviewerVR.h should be fully replaced as expected, although Sge suggests that it would probably be a good idea to fix up the weird way it’s pointing to OpenVR, llviewerdisplay.cpp has one very small change from the P373R version.
Testing
Sgeo only tested on Quest 3 via Steam Link. It should work fine on other headsets and in other ways to use PC VR via Quest.
Scalextric – Monster Trucks (C1024)
I acquired the Scalextric Monster Trucks Set No.C1024 courtesy of a nephew. This set was produced in the 1990s and uses old style connection track. which can be joined up with recent Scalextric Sport track with a “Classic to Sport Converter Track” so adds nicely to the Scalextric Speed Hunters set I got earlier this year..