Firestorm 6.0.1: Animesh Early Access

On Sunday December 16th, 2018, the Firestorm team issued Firestorm 6.0.1, which includes Animesh support.

Note that this update is being classified as a “public beta”, because further Firestorm-specific Animesh optimisations are being planned. This means there will be a further “full release” is being planned for  January 2019.

However, while Firestorm 6.0.1.56538 may be classed as a”beta”, it should be considered as stable and as bug-free as any previous release.

In keeping with my usual approach to Firestorm releases, what follows is an overview of the release, highlighting some of the more significant changes I feel will be of most interest to users.

Please use the table of contents on the right to jump to any specific topic of interest. Full details of all changes, and contributor credits can be found in the official release notes.

Table of Contents

 

The Usual Before We Begin

As per my usual preamble:

  • There is no need to perform a clean install with this release if you do not wish to.
  • Do, however, make sure you back-up all your settings safely so you can restore them after installing 6.0.1.

Note that as a beta release, Firestorm 6.0.1.56538 will not overwrite any existing release version of Firestorm you may have installed, but will be installed into a separate folder / location. However, note that swapping back and forth between this beta and another version of Firestorm will wipe your cache each time.

Lab Derived Updates

Core Updates

This version brings Firestorm up to parity with Linden Lab release viewers through to version 6.0.0.520636 (Animesh), including the recent Rakomelo, Quinquina and Hear No Evil, Speak No Evil Maintenance viewers, and incorporates Vivox Version 4.9.0002.30313 (Mac and Windows).

Animesh

For those who may be unaware of it (!), Animesh allows the avatar skeleton to be applied to any suitable rigged mesh object. This, together with suitable animations and scripts placed within the contents of the object, allow it to be animated in much the same way as the Second Life avatar. This opens up a whole range of opportunities for content creators and animators to provide things like independently moveable pets / creatures, and animated scenery features.

While Animesh is likely to primarily be used by content creators, it has been designed so that any suitable rigged mesh can be converted to Animesh directly from the Build / Edit floater (see below, left). Do be aware, however that simply converting an object will not cause it to start animating – you’ll need suitable animations and a script to run them.

Like any other object utilising animation, this is done by adding the animations and scripts via the Edit > Contents tab for your converted object.

Left: any suitable rigged mesh object can be converted into Animesh by adding animation scripts and toggling the Animesh check-box in the viewer. Right: one possible outcome of Animesh is that over time, it might discourage the use of alpha-flipping to simulate animation. This involves creating multiple versions of something like an animal (or parts of an animal) and then using a script to reveal them in turn, while keeping the other hidden with alpha masks. While it results in simulated animation (such as a squirrel climbing a bird feeder), alpha flipping is very performance / rendering intensive (r)
How To Get Started With Animesh

The best way to get started with Animesh is to use the available resources. These include:

Firestorm Animesh Additions

Derender Animesh: Despite the hoped-for performance improvements Animesh might allow when compared to alpha flipping, these will be the potential for performance impacts in regions / parcels with a large number of Animesh objects moving around.

To help mitigate this, Firestorm 6.0.1 includes an option to derender all Animesh in a scene (Developer menu > Rendering > Derender All Animesh).

Note: Derendered Animesh will reappear after a teleport or re-logging.

Also, Firestorm includes a number of other Animesh tweaks:

  • Auto-scaling amortisation of the new Animesh dynamic bounding box calculations. This fix limits the overhead of the new dynamic bounding box calculations to AvatarExtentRefreshMaxPerBatch per AvatarExtentRefreshPeriodBatch frames. The default is 5 avatars per 4 frames, so in a busy region, 25 avatars would take 20 frames to refresh the bounding boxes.
  • Performance tweaks by reducing Matrix operations per render pass.
  • More JointMatrix Palette caching tweaks:
    • The cache has been moved to drawable for more benefit (reduces CPU overhead when rendering shadows and materials by caching the jointmatrixpallette).
    • Sacrifices some potential cache locality but savings seem to outweigh this.

Other Lab-Derived Updates

Additional Lab updates worth noting are:

  • BUG-216339Add a  Click to: action to the Build / Edit floater to disable clicking objects that can be set per-object in a linkset – see Left-Click None Option, below, for more.
  • BUG-216416 – Add a transparency indicator for invisiprims. When “Highlight Transparent” (CTRL+ALT+T) is used, invisiprims will now be highlighted in green.
  • BUG-225670 – Include the full Windows 10 build number in Help > About Second Life and logs
  • TextureLoadFullRes setting no longer persistent, to avoid issues with accidentally setting it on systems which cannot handle the memory load.
  • The CTRL key must be held when dragging inventory folders into in-world objects. This change was primarily made to address accidental inventory “loss” by dragging a folder of no copy items into an in-world object.
  • Fix for your avatar not standing up after pressing Shift+Alt+S keyboard short-cut.

Firestorm Updates and Additions

Mesh Uploader

One of the major issues for mesh content creators in Second Life is the mesh uploader. Among the specific complaints relating to it are: poor error handling; a tiny preview screen (and the poor rendering within it), and a lack of meaningful information. Linden Lab is aware of the shortfalls, and is considering the potential for making changes to the uploader. However, and purely for Firestorm at present, Beq Janus has taken matter into her own hands and worked (as a developer and as a content creator herself) on trying to improve the uploader.

Her specific changes comprise:

  • Upload cost and physics cost calculation breakdowns – see below for more.
  • Physics details, the costs of the different types of physics (convex hull, prim).
  • Resizable preview window with higher resolution image and iImproved shading/lighting (see image above).
  • Correct highlighting of degenerate mesh.
  • Improved error handling for physics models (avoid some MAV errors).
  • UV Guide overlay.
Mesh Uploader: new cost and physics calculations breakdown elements by Beq Janus

Beq has provided detailed documentation to go with the revised uploader, and I’ll refer you to her blog for the specifics.

Other Build Updates

Click to: None – to avoid click-through issues with transparent prims / mesh

Left-click None option: Objects and items in linkset can be set to have a left-click option of None. This allows transparent prims / mesh to be clicked-through that might otherwise be in the way when trying to touch other objects within a scene (such as seats, etc).  Build / Edit floater > Click to > drop down (via Linden Lab).

In addition:

  • UNIX time macro has been added to the LSL preprocessor to allow easy automatic versioning  (FIRE-22866).
  • Selecting large font sizes in the script editor will no longer cause numbers above 999 to lose their large digit (FIRE-23047).
  • The Recompile button will no longer be enabled for No Mod scripts (FIRE-23054).
  • The physics shape for thin meshes should be correctly handled when analysing physics (FIRE-23053).

Preferences Updates

  • Preference > Chat > CmdLine: tp2 chatbar_as_cmdline now takes new user name format.
  • Preferences > General > Language drop-down: added Italiano (Italian) beta.
  • Preferences > Colors – Miscellaneous > Area search beacon colour: set the colour to use to highlight the area search cross hair beacon.
  • Preferences > Graphics > Rendering > Restrict maximum texture resolution to 512px (64bit only, requires restart) – limits the display of in-world textures to 512px for 64-bit viewers.
  • Preferences > Network and Files > Connection > Browser Home Page: set a preferred home page to be displayed with the built-in web browser when using the tool bar button or CTRL-SHIFT-Z.
  • Firestorm > Protection > Enable Spam Protection even for objects owned by you. (FIRE-23138).
    • Note spam chat from the avatar’s own attachments is not logged when anti-spam is enabled.
  • Firestorm > Build 2 Tab >Enable extend script info details – provides additional script information feature – useful for builders.

Avatar, Appearance and Inventory

Experimental Teleport Attachments Fix
The experimental fix to overcome specific instances of attachment loss on teleporting

Recent server-side changes can result in object messages for attachments begin delayed until a teleport has technically completed, causing the messages to be killed on receipt, resulting in attachment loss.

This experimental fix is designed to try to prevent this, by introducing a timer that should prevent attachments from being detached temporarily after a teleport has completed.

The timer is configured via Advanced menu > Debug Settings > FSExperimentalLostAttachmentsFixKillDelay. The recommended setting is 3 seconds.

Note: this setting will also prevent the deliberate removal of attachments for the specified period of time after a teleport.

Profiles: Add to Contact Set

With Firestorm 6.0.1 it is possible to add someone to one of your Contact Sets directly from their legacy Profile floater. Simply click the gear icon (bottom right of the Profile floater and select Add to Contact Set. This displays an Add To Contact Set picker, allowing you to select (or create) the Contact Set to which you wish to add the avatar.

Legacy Profile > Add to Contact Set
Other Avatar / Appearance / Inventory Updates
  • A box (■) indicator will be displayed in the complexity display in an avatar’s name tag if it is impostored due to texture surface area exceeding the limit.
  • Animation Override (AO) sets are now sorted by name rather than UUID.

Navigation and Communications

Mini-Map
  • New Whisper chat ring.
  • Chat rings now optional, and can be disabled / enabled by displaying the mini map (World menu > Minimap or CTRL-SHIFT-M), then right-clicking on the mini map and selecting the options under Chat Distance Rings.
World Map

On-line friends you’re able to map are listed in alphabetical order on the world map.

Auto Replace for Note Cards

Auto-Replace now allows for the dynamic replacement of text within note cards when the Auto Replace function for spelling is enabled via Preferences > Chat > Typing > Auto Replace (see the Firestorm wiki on Auto Replace).

Snapshot Floater – Save To Disk

Firestorm 6.0.1. introduces two changes to snapshot behaviour when saving to disk.

Unable To Save Snapshot

If the viewer is unable to save a snapshot to disk, or the save process is manually cancelled, the Unable to Save Snapshot pop-up (requiring OK to be clicked) is no longer displayed. Instead, the message Failed to Save to Computer is displayed at the bottom of the Snapshot Floater (arrowed, right).

Default Snapshot File Name
Snapshot floater updates – Save to Disk

A new option has been added so that when saving snapshots to disk, it is possible to disable the automatic use of the last file name from the previous session, if required (ringed, right).

When checked, the first time a snapshot is saved to disk during a log-in session, the last used file name will be displayed in the Save / Save As dialogue box. When unchecked, the default file name of “snapshot” will be displayed in Save / Save As when saving the first snapshot in a session.

Note: according to the JIRA (FIRE-22853), the last-used file location should not be retained by a new log-in session if this option in unchecked. However, in testing, this did not appear to be the case.

Other Updates of Note

  • KDU to updated to version 7.A.5.
  • FMOD Studio updated to version 1.10.09.
  • open_libndofdev for Linux updated to version 0.9.
  • Music stream metadata should now display for OGG Vorbis (FIRE-23125).
  • Various improvements to the LSL Bridge Flight Assist:
    • Adjustments to speed.
    • Addition of proper mass measurement.
    • Flight Assist now works with llSetForce() instead of llApplyImpulse()
    • Hover Helper force now treated as a region directional vector (FIRE-21622).
  • multi-object touch should now work with Area Search.
  • Improved notification colours for Starlight / Starlight CUI skins (FIRE-22136).
  • See the full fix log for all fixes with this update.
  • Translation updates and improvements for German, Italian, Japanese and Polish languages.
  • The context menu in text entries can now be opened with the Windows keyboard (FIRE-19933).
  • Improved the layout of the inspect floater.
  • Viewer should no longer sometimes crash when creating the LSL Bridge (FIRE-22962), or when trying to create the Bridge with an invalid script.
  • Please refer to the release notes of OpenSim updates.

Note: There are no RLV/RLVa updates with this version of Firestorm.

Feedback

Firestorm 6.0.1’s major feature is the inclusion of Animesh, which has been in constant demand since the Lab promoted their own Animesh viewer to release status on November 14th, 2018. I have not extensively tested the Animesh capabilities, but the testing I have done on both the official viewer and Firestorm show they work as anticipated. How much of a performance hit Animesh proves to be largely depends on how popular it becomes and how people use it within their regions / parcels.

For mesh creators, Beq’s improvements to the mesh uploader are liable to be of far more significance, and Vir Linden, who is about to look at the uploader in the official viewer, has already expressed an interest in finding out more about Beq’s work; it’ll be interesting to see if it is contributed to the Lab and how much of it might be adopted / adapted by LL should a project be formally defined to update the uploader.

Performance-wise, I’ve not seen any major improvements running various 6.0.1 pre-release and beta versions on my hardware when compared to 5.1.7. I have, however, found the majority of them – including this beta, stable and I’ve not encountered any issues of note, even when playing around / bashing on Animesh.

Links

11 thoughts on “Firestorm 6.0.1: Animesh Early Access

  1. Animesh is the coming thing, it appears. I have a Jian Animesh kitsune wanderer and it has a habit of disappearing and reappearing while I watch it. If Firestorm’s improvement in Animesh works, it’ll be a godsend for those of us who deal with “Here/Not Here” Animesh creations, and Animesh is decidedly a good thing for so many mesh critters and machines since it works better than the old layers of moving transparent prims with images on them. Good go, Firestorm! (also my preferred viewer).

    Like

    1. You might want to check your pet. As far as I know, Jian has not released any Animesh yet. Jian pets are animated mesh. Look at those pets in edit mode, and you’ll see why they flicker in and out of your view.

      Like

      1. I believe you are correct vis-a-vis Jian and actual Animesh. This is perhaps illustrative of the problem with the term “Animesh” (and indeed “animated mesh” – given there have been scripted means of animating mesh prior to Animesh, such as with alpha flipping as mentioned in this Firestorm overview), that it is easy to become confused between the two approaches. It’s a pity a term wasn’t coined that better captures the fact Animesh *uses the avatar skeleton*, as this is (obviously) the big differentiator.

        Like

  2. Thanks, I will try out Firestorm 6. I had heard of Animesh but didn’t really know what it is so this is the most I have read about it.

    Like

    1. You’re welcome! If you are interested in keeping abreast of Second Life projects from Linden Lab, you might try these article categories in this blog:

      • Content Creation updates from the Content Creation User Group (CCUG). These meetings are generally held once a week, and cover projects like Animesh (and before it, Bento) and the Environmental Enhancement Project (EEP). I preface each project covered by the reports with a short summary in lay terms on what it is about.
      • Simulator updates from the Simulator User Group. These meetings are again generally held weekly, and are used to discuss the simulator side of things. I attempt to provide a summary of what is happening on the Lab’s side in plain English.
      • Third-Party Viewer Developer meetings. These meeting are generally held twice a month and focus on viewer development, to help give TPV developers a heads-up on what is coming down the pipe from LL in the viewer. Again, I attempt to summarise these meetings in plain English, and also include a video of the meeting recorded by Pantera Północy, and made available on her You Tube channel.

      I also try to cover other user group meetings, include Land and Concierge, Governance, and Web, but as some of these are monthly, they can clash with other commitments, so individual meetings do not always get reported. However, you can find them all via the top menu on the blog then SL > SL Tech > User Group Meetings and then using the additional drop down to display the specific user group reports (or click User Group Meetings for all my UG reports, regardless of category, starting with the most recent).

      Liked by 1 person

      1. Oh excellent, thank you! I would like to get and stay more informed for sure. Being quite new to SL, and only having a few hours a week for it it does feel like there’s a lot to learn.

        I hear a lot of terms, like ‘Bento’, which you mentioned, but I don’t know what they mean (I thought that was a vendor’s name like Maitreya). I will bookmark those links, and try to read up.

        I want to learn how to create my own things one day so this is a great help, thank you 🙂

        Like

        1. Bento was the name for a project that added greater capabilities to the Second Life avatar skeleton to support the use of mesh parts, so it is actually a term you’ll see in connection with a lot of avatar-related mesh content in Second Life.

          Without digging-in to deeply, it allows mesh bodies to have moving fingers, mesh heads to have lips and mouths that move in response to typing text in local chat or when using voice, and allowed for more exotic avatars parts – wings, tails, etc., to be better and more efficiently supported that had previously been the case. Other uses for Bento have included more efficient / natural “rideable” animals, such as horses (see this piece for a general look at riding Bento horses – as well as a place where you can try them out!), and the creation of non-human avatars that can be better animated. My article on the Culprit Sonata Bento Piano, offers a look at another kind of targeted use of Bento: animating the additional skeleton finger bones to allow mesh hands to more naturally “play” the piano.

          For content creation, if you are considering mesh, there are a lot of very good creators out there who produce videos on how best to go about it. Without trying to show favourites, if you’re interested in making avatars / animals, for example, Medhue Simoni provides an extensive range of You Tube tutorials, which also cover important aspects such as level of detail (LOD), applicable to all mesh items (you may need to scroll down his channel page to get to Second Life – Medhue has been very busy in Sansar more recently!). He’s also not alone in providing videos, although finding the “good stuff” can take a little working out.

          If you are more interested in creation / building using the in-world tool (always a good place to start), then I strongly recommend Builders Brewery, where you can get some expert advice and attend a wide range of lessons in building and content creation. If you prefer learning at your own pace / via self-study, there’s also the Ivory Tower of Prims, and you can obviously combine time at both Builder’s Brewery and the Ivory Tower when getting to grips with prim building / design.

          Liked by 1 person

          1. Gosh you are soooo helpful, amazing, thank you! Yes I had heard of Bento heads and hands… but had until now just assumed ‘Bento’ was who made them. Now I see it’s a kind of standard or system applicable to all kinds of avatar animation.

            Yes I have used the IW build tool to an extent (more for landscaping but also to make some basic objects) and also started learning Blender. And yes someone put me onto Builders Brewery, although so far all I have done is bookmark it!

            I am also interested in scripting… I do web design in RL and know some things that I hope will help me get up to speed. But I’ve not found time to get started yet (RL job keeping me busy among other reasons).

            I have bookmarked all of the above, thanks 🙂

            Like

Comments are closed.