2022 Puppetry project week #41 summary

Puppetry demonstration via Linden Lab – see below.  Demos video with the LL comment “We have some basic things working with a webcam and Second Life but there’s more to do before it’s as animated as we want.”

The following notes have been taken from chat logs and audio recording of the Thursday, October 13th Puppetry Project meetings held at the Castelet Puppetry Theatre on Aditi. These meetings are generally held on alternate weeks to the Content Creation User Group (CCUG), on same day / time (Thursdays at 13:00 SLT).

Notes in these summaries are not intended to be a full transcript of every meeting, but to highlight project progress / major topics of discussion.

Project Summary

  • Previously referred to as “avatar expressiveness”, Puppetry is intended to provide a means by which avatars can mimic physical world actions by their owners (e.g. head, hand, arm movements) through tools such as a webcam and using technologies like inverse kinematics (IK) and the  LLSD Event API Plug-in (LEAP) system.
    • Note that facial expressions and finger movements are not currently enabled.
    • Most movement is in the 2D plain (e.g., hand movements from side-to-side but not forward / back), due to limitations with things like depth of field tracking through a webcam, which has yet to be addressed.
  • The back-end support for the capability is only available on Aditi (the Beta grid) and within the following regions: Bunraku, Marionette, and Castelet.
  • Puppetry requires the use of a dedicated viewer, the Project Puppetry viewer, available through the official Second Life Alternate Viewers page.
  • No other special needs beyond the project viewer are required to “see” Puppetry animations. However, to use the capability to animate your own avatar and broadcast the results, requires additional work – refer to the links below.
  • There is now a Puppetry Discord channel – those wishing to join it should contact members of LL’s puppetry team, e.g. Aura Linden, Simon Linden, Rider Linden, Leviathan Linden (not a full list of names at this time – my apologies to those involved whom I have missed).

Bugs, Feature Requests and Code Submissions

  • For those experimenting with Puppetry, Jiras (bug reports / fixes or feature requests) should be filed with “[Puppetry]” at the start of the Jira title.
  • There is also a public facing Kanban board with public issues – those experiencing issues can also contact Wulf Linden.
  • Those wishing to submit code (plug-ins or other) or who wish to offer a specific feature that might be used with Puppetry should:

Further Information

Meeting Notes

New Viewer Version – 6.6.3.575529 Dated October 12th

  • This viewer uses a different, more efficient data format sending updates up to the region, and from the region to viewers.
    • The new and old formats and viewers are not compatible; someone on the new project viewer will be unable to see puppetry rendered for someone using the older viewer version, and vice-versa.
    • It is hoped that severe breakages between viewer versions like this will be avoided going forward, but this change was deemed necessary
  • This viewer also a crash (deadlock) fix, and puppetry animations should fade in/out when starting or explicitly stopping (animations may stop abruptly should the LEAP plugin crash, or the data stream is lost, etc.).
  •  Those self-compiling viewers with the puppetry code should ensure they are pulling the updated code from the  6.6.3.575529 (or later as new versions appear) repositories.

Protocol Overhaul

Leviathan Linden Linden noted the project team is going to overhaul the Puppetry/LEAP protocol.

  • The intent is to replace all the current LEAP commands (“move”, “set_this”, “set_that”, etc.), and replace with just two commands: “set” and “get”.
  • On the “set” side:
    • It will be possible set avatar joint transforms, or specify IK targets, and also set various configuration settings as necessary.
    • These set commands will be “incremental” in nature (so that changes can be made to reach the final state), and once set, they stay at the defined value until modified, cleared, or the plug-in “goes away”.
  • On the “get” side:
    • get_skeleton and any other get_foo commands (if used) will be replaced with {get: [skeleton, foo, …]}.
    • A message will be generated and set back to the viewer making the Get request, but the form of the message is still TBD.
  • Meanwhile, the viewer will only do IK for your own avatar, and will transmit the full parent-relative joint transforms of all puppeted joints through the server to other viewers, and LL will make it possible for a plug-in to just supply full parent-relative joint transforms if desired (e.g. no IK, just play the data)
  • This overhaul will also provide:
    • A way to move the Pelvis. This will include both a pre-IK transform (which is just setting the Pelvis transform) and also a post-IK transform, in case the avatar is to be moved after setting all the joints.
    • A “terse” format for the LEAP/Puppetry protocol to simplify some “set” commands to reduce data going over the LEAP data channel. It will be possible to mix these “terse” command with long-form explicit commands.
  • Leviathan plans to break all of this work down into a set of Jira issues and place them on the kanban board for ease of viewing.

The overall aim of this overhaul is to make the protocol more easily extendible in the future.

To the above, Simon Linden added:

The data stream is radically different than what we started with. Essentially your viewer will do the work for your avatar: send[ing] all data needed for your puppetry animations [so] the people seeing you just have to use those positions – no IK or significant processing. That should help out in the long run with crowds 

Example Script

Simon Linden has produced a simple example script that is pushed to the Leap repository:

  • It reads a JSON file and sends that puppetry data to the viewer.
  • Using it, is is possible to edit some values, save the JSON text file, and see bones move as an example of doing so.

In Brief

  • BUG-232764 “[PUPPETRY] [LEAP] Puppetry should be able to ‘Get’ and ‘Set’ avatar camera angle” has been raised to go with the protocol overhaul, and while it has yet to be formally accepted, has been viewed as a good idea by the Puppetry team.
  • Puppetry does not support physics feedback or collisions as yet, and work for it to do so is not on the short list of “things to do next”
  • There is currently an issue of “near-clipping” within a a first-person (e.g. Mouselook) view and using puppetry (so, for example, holding a hand up in front of your avatar’s face in Mouselook results in the hand being clipped and now fully rendering). This is believed to by an artefact of the viewer still rendering the head (even though unseen when in first-person view), and this interfering with rendering near-point objects like hands. The solution for this is still TBD.

Date of Next Meeting

  • Thursday, October 27th, 2022, 13:00 SLT.

Cherishville in Autumn in Second Life

Cherishville, October 2022 – click any image for full size

Lam Erin has redressed his Cherishville for the autumn, prompting me to hop over and have a wander before winter edges its way into the the setting.

As with the spring iteration of the region (see: Cherishville’s 2022 Spring in Second Life), the autumn design is decidedly rural in intent, the landscape rich with trees, winding single-track roads and a scattering of buildings. However, rather than carrying the promise of warmer days, sunshine and clear skies, this autumnal Cherishville offers a foreshadowing of colder, harder weather to come.  Caught under a lowering sky from which rain steadily falls, it sits surrounding by mountains painted in snow which seems to be slowly making its way down their rocky faces, ready to creep across the region as winter throws her cold cloak over the land.

Cherishville, October 2022

Also given the time of year, the setting in places seems to hold a sense of ghostly desertion or foreboding about it.  For example, the little arc of houses and shops huddled around the loop of road to the west of the landing point have perhaps seen better days, with the detritus of life in places piled into yards as if forgotten, whilst pigs and geese wander unattended, other than by a Saint Bernard who seems more interested in watching the road than keeping his charges in place – if indeed that is his purpose.

That said, the interiors of the houses offer a complete contrast, being warm and inviting; whilst the pub clearly has a welcome for all. So perhaps its just the lowering weather and the local apothecary which give rise to the odd sense of October menace lying about the land; something falsely added to by the arc of buildings all facing the one direction across the narrow road, as if huddled together in expectation of something rising from the waters of the inlet that sits just beyond the trees and downslope from the road.

Cherishville, October 2022

It is on the stony shore of this inlet that the region’s landing point resides, presenting a pleasant view across the finger of water that belies any reason for the houses above to the so huddled. On the far bank sits an old boat shack somewhat dilapidated in appearance, but still sturdy enough to hold up a large rowing boat on the davits extending from the water side of its aging form.

A smaller cabin sits close by the landing point, this one raised on stilts which suggest the inlet might be tidal in nature. If so, this would explain why the boat raised against the side of the far shack appears to have rocks waiting to receive it should it be lowered, rather than lapping water – at least until the tide returns. Just behind the little stilt cabin a path climbs the slope away from the inlet and up to where the road commences its loop past the little hamlet.

Cherishville, October 2022

Eastward along the meandering road lay and old railway station sat at the end of the single track line. It appears to be oddly cut-off from both hamlet and road, almost as if it wants nothing to do with them, thus bringing forth more thoughts that this might be a place where there is more going on than meets the eye.

This feeling is further added to as the road dips southward, passing a deserted house of some size and with a tall tower that appears to look menacingly down on those passing by. After this, the road hooks its way around old and gnarled trees to reach the grounds of a house suggesting shades of the one that stood above the Bates Motel. However, a glimpse inside will reveal that, unlike the house it resembles, this one isn’t hiding a dark secret – but is a comely family home.

Cherishville, October 2022
There are one or two little niggles within the setting – the humpbacked bridge sitting at the mouth of the inlet looks to have been plonked into place without regard for natural foundations under it, for example, and the tunnel into which the railway track vanished could perhaps do with a darkened backing block to hide the hill slope within it. however, these can mostly be ignored by eye and camera and the rest of the setting appreciated for its ability to offer a rainy autumnal setting with a lot of opportunities or photography.

Cherishville, October 2022

SLurl Details

A Kitten’s Noir world in Second Life

Nitroglobus Roof Gallery Annex: Kitten – Noir

Currently open at the annex (formerly Dido Space) at Nitroglobus Roof Gallery, curated by Dido Haas, is a small but enticing exhibition entitled Noir by Kitten (Joaannna Resident).

From her Profile, Kitten appears to be something of a newcomer to Second Life – but one who has made a considerable splash both as a writer on the subject of art, and as a photographer-artist. With the latter, she leans towards landscape images, using a more panoramic image ratio (as I also tend to lean towards) than most to produce stunning images of the places she visits – as can be seen within her Flickr stream.

Nitroglobus Roof Gallery Annex: Kitten – Noir

However, with Noir, and at Dido’s request to her to push her artistic envelope, Kitten takes a different route: avatar-centric images in celebration of the film noir genre, and here  presents eight images offered monochrome pieces in keeping with the genre’s core thrust, all of them centred on a character who might potentially be considered both the protagonist and the femme fatale as are both found within this classic movies of the 1940s and 1950s.

And I do mean “character”, for rather than offering individual images and scenes, these eight images tend to unfold in the manner of a story – or to further remain in keeping with the theme, as stills lifted from a classic noir movie with some prototypical structures of classic crime and mystery stories. This unfolding narrative arc is given further depth through the fact that none of the images have been staged in terms of purpose-built sets and backgrounds; instead that have been captured – as the exhibition’s credits note – within some of Second Life’s more well-known locations. Combined with Kitten’s eye for angle, focus and composition, this gives each picture a depth that draws us into it.

Nitroglobus Roof Gallery Annex: Kitten – Noir

Compositionally, these are pieces that are structured to reflect the filmic aspects of film noir; the foundational minimalist look of German Expressiveness, the low-lighting and unbalanced nature in framing. Narratively speaking, five of the images allow us to witness a mysterious woman making her way by night through a darkened city; where she might be going and what purpose she may have remains unknown – although there are subtle clues contained within two more of the images that may help nudge the imagination.

In one, for example, we witness our heroine seated outside Berlin’s Café Kranzler, a location that – given the Noir theme – suggestions the Cold War, political intrigue and espionage. Within another we see her moving by torch light through a museum, the scene suggesting an illicit act – but is it simple theft, or a further twist on the idea of espionage? Note, as a well within this image what might be a nod towards both another era and genre of classic Hollywood movie-making.

Nitroglobus Roof Gallery Annex: Kitten – Noir

Then, within the remaining image, we get a change in perspective, with a reflective umbrella and a spotlight play as much a role as our model. Through it brings a further suggestion of film sets and the magic of film, whilst also bringing to mind a particular noir / black comedy classic with its closing words uttered by Norma Desmond…

Richly engaging – one can forgive the slightly repetitive element of shots of the woman walking because Kitten’s framing and composition is so beautifully structured – Noir is a deceptively captivating series.

Slurl Details

 

 

2022 SUG meetings week #41 summary

Wild Branch Brewing Co, August 2022 – blog post

The following notes were taken from the Tuesday, October 11th, 2022 Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Server Deployments

Please see the forum deployment thread for the latest updates.

  • On Tuesday, October 11th, the Main SLS channel were restarted with no deployment, leaving them on simulator release 574921.
  • On Wednesday, October 12th, the simhosts on the RC channels should receive simulator release 575585.
    • This release should contain two new functions llGetObjectLinkKey (specified under llGetLinkKey) and llSHA256String.
    • In addition, a slight change to the simulator code may help with the issue of people’s on-line / off-line status not being properly reported. It  is not an actual fix for the problem, but LL would like feedback as to whether people are seeing an improvement. See : BUG-232037 for more information on the issue.

Available Official Viewers

  • Release viewer: version 6.6.4.575022 – hotfix for Crash at ~LLModalDialog() – promoted September 15 – no change.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Maintenance 3 RC viewer, version 6.6.5.575257, September 23.
    • Maintenance P (Preferences, Position and Paste) RC viewer version 6.6.5.575055 September 19.
  • Project viewers:
    • Performance Floater / Auto-FPS project viewer, version 6.6.5.575378, October 4.
    • Puppetry project viewer, version 6.6.3.574545,  issued on August 30.
    • Love Me Render (LMR) 6 graphics improvements project viewer 6.6.2.573263, July 21.

Local KVP / “Linkset Data”

From the server deployment thread:

Coming Soon. We have a new feature build on Aditi for a feature tentatively called Local KVP. This feature works similarly to Experience Key-Value store, but the data lives with the object that sends and receives the data. Only scripts in the same linkset will be able to read the data written with this feature. For more details, see the in-progress wiki pages [COMING SOON]. You can try out the new LSL functions related to this feature at the following Aditi Mainland regions:
  • Blake Sea – Arabian; Blake Sea – Atlantic; Blake Sea – Beagle; Blake Sea – Binnacle; Blake Sea – Black; Gothlauth; Jigglypuff; Mauve; Moonberry: Sapas; Smithereens
We’re looking for feedback on this new feature including bugs and input on anything that might be missing or not work the way you’d expect. Please file a BUG Jira in all of those cases

To the above, Rider Linden added:

The data is stored on the root prim of a linkset and if you link two prims together (each containing LinksetData it will migrate the new non-root’s data up to the the root). The data is accessible to any script running in the linkset [but] it is not visible at all from outside the linkset.

This functionality was the focus of the majority of the meeting, with questions and suggestions coming from those attending. To avoid confusion through summarising questions / suggestions and replies, please refer to the video below, and also see also this forum thread.

A day in Provence in Second Life

Village de Roqueblanche, October 2022 – click any image for full size

On the advice of Shaun Shakespeare, I took a little trip to a corner of France here in Second Life, and found a setting rich in beauty and detail, offering a mix of public spaces and walks together with private residences.

Occupying a Full region utilising the private island land capacity bonus, Village de Roqueblanche is the work of Albane Claray (AlbaneClaray) and represents a corner of Provence, that region of France tucked between the Mediterranean Sea to the south and Italy to the east. Its location and topology offer a rich mix of climates and weather from the high slopes of the French Alps to the crystal waters of the Mediterranean.

Village de Roqueblanche, October 2022
I tried to reproduce a little corner of my country; a place with a Mediterranean feel very similar to Tuscany, Italy.  It’s a land of many small villages nested in valleys or on hills, surrounded by lavender fields and vineyards and that so special light Van Gogh reproduced on his paintings. A village buried in my memories, a village where my childhood memories are asleep, stones worn by the rain, burned with sun…

Albane Claray

Journeys through the region start in the south-west corner and a square of an island separated from the rest of the region by a watery channel, a second channel separating the island from the neighbouring Homestead, also held by Albane, but which was under construction at the time of my visit – so I did not cross the bridge to avoid getting in the way of any building work going on.

Village de Roqueblanche, October 2022

The exact location of the landing point is, appropriately enough, right outside the local tourist office offering a little slice of Tuscan styling and overlooking one arm of the channel separating the island from the rest of the region. Above and behind the landing point sits the rest of the village, with houses and buildings arranged around two large squares.  These have a Romanesque echo about them – something that is not entirely unnatural, given that Provence was the first Roman province established beyond the Alps, and its name is derived from the Roman name Provincia Romana.

A grand stone bridge spans the water to the western Homestead region, but to reach the rest of Village de Roqueblanche, it is necessary to leave the village on its eastern side and descend to where a small bridge gracefully arches across the water – the L’Auzon – to where a cart track winds its way through the rest of the landscape.

Village de Roqueblanche, October 2022

It is here that the private residences are located, so visitors should take care not to intrude. These houses are scattered to either side of the cart-tracks, but as each is marked by a large sign outside of the gates or steps leading to it, trespass is unlikely. Central to all of them is The Hamlet of the Mill.

Comprising a large farmhouse surrounded by tall walls and drystones which encompass a couple of the private residences, this is a place nevertheless open to the public, the farmhouse serves an a cosy restaurant visitors are welcome to visit; a place offering the first hint of the lavender Albane mentions whilst the wine served inside might have originated with the vines growing just outside of the surrounding walls.

Village de Roqueblanche, October 2022

This is a place where, no matter where you go, there is something to captivate the eye and offer opportunities for photography; a place that is a joy to wander and in which to pass the time.

My thanks to Shaun for the pointer and landmark, and to Albane for personally making me feel welcome.

Village de Roqueblanche, October 2022

SLurl Details

An essay in art in Second Life

The 22 ArtSpace: DeCarlo Maxim – The Art of Living in.adHD

Currently open at The 22 ArtSpace, the boutique gallery operated by Ricco Saenz and Randy Firebrand in Bellisseria, and running through until January 20th, 2022, is a fascinating selection of 14 photographs by DeCarlo Maxim (ReDDeE Hian), someone whose work I don’t think I’ve previously encountered.

Known in the physical world as DeCarlo Hoyte, and hailing from Montreal, Quebec, DeCarlo offers the fourteen pieces within the exhibition – entitled The Art of Living in.adHD – as a photo-essay in living with Attention-Deficit Hyperactivity Disorder (ADHD). As such, this is a very personal series – but one which is also very approachable –  in which he takes a unique and engaging approach to his subject.

The 22 ArtSpace: DeCarlo Maxim – The Art of Living in.adHD

ADHD is a condition affecting behaviour;  those suffering from it exhibit restlessness and difficulties in controlling behaviour, trouble concentrating or in staying focused, and may act on impulse. The disorder tends to be noticed at an early age, with diagnosis generally occurring when children are between 3 and 7 years of age (although it can be diagnosed much later); it tends to be triggered as a result of a significant change in circumstance – such as moving to a new house / neighbourhood or when starting school. For many, the symptoms tend to improve with age, but for around one-third of those afflicted, symptoms can continue through adolescence and adulthood.

As there is no single cause, ADHD is considered to be a result of an interplay between genetic (70%-80% according to the Journal of Learning Disabilities) and environmental factors, treatment tends to be highly individual and focuses on a range of potential one-to-one and / or group therapies and the possible use of medication.

Within The Art of Living in.adHD, DeCarlo offers a form of self-therapy whilst also offering us insight into his interactions with ADHD. However, he does so in a special way: rather than using his avatar, he offers photos taken in the physical world which utilise toy characters as their focus. In doing so, he achieves a  number of things that really help draw the visitor into these pieces.

The 22 ArtSpace: DeCarlo Maxim – The Art of Living in.adHD

Firstly, by using little characters rather than his (or other) avatar(s), he avoid these pieces being taken as simple avatar studies in which looks, fashion and setting are the focus. The use of these little characters also subconsciously reminds us that ADHD does emerge as a childhood disorder, and can radically and lastingly impact the child’s trajectory through their young life. Finally, he can, as an adult, offer thoughts and insights into living with ADHD in the most subtle but direct means, sans the risk of character expression misleading the eye and mind.

Each piece carries with it an emotional content that in some is immediately and heart-rendingly apparent (e.g Always There, Lefted Out), and in others offers a sense of amusement and fun whilst still containing a deeper message (e.g. the I Am Grooot images, young Groot being a personification of ADHD behaviours, whilst always being repressively positive in his outlook on life).

The 22 ArtSpace: DeCarlo Maxim – The Art of Living in.adHD
When viewing this exhibition, I do recommend you start on the ground-floor rooms, and after seeing Groot on the upstairs landing, go to the room immediately to the left of the top of the stairs (between Summer Dip and Self Reflecting), before moving to the room behind the stairs-top, which to me presents the two images that crown this exhibition in terms of their visual and emotive content.

SLurl Detail