Second Life: parent/child script communication issues

On Friday, October 4th, 2019 Linden Lab blogged about the recent script related issues that caused widespread disruption (notably with rezzing systems) across Second Life following the SLS (Main) channel deployment made on Tuesday, September 24th, 2019, and which ultimately resulted in a complete rollback from the grid on the 27th/28th September.

As noted in my Simulator User Group Updates, the release that caused the problems  – simulator release 2019-09-06T22:03:53.530715, included a number of updates intended to improve overall script performance, including how scripts are scheduled and events are delivered. However, these changes resulted in an unintended impact which, due to the region sampling, was not revealed by the update initially being deployed to a release candidate (RC) channel on Wednesday, September 11th.

The October 4th blog post from Linden Lab indicates that improvements have been made to the code, and once deployed, these should help prevent a recurrence of the problem. As an aside, it has been hoped that these updates might have been deployed to an RC channel on Wednesday, October 2nd, but a last minute bug prevented this (see: Deploy Plan for the week of 2019-09-30), so the updates will likely be deployed during week #41 (commencing Monday, October 7th).

However, even with the fixes, there blog post goes on to note there are come best practices when using parent / child script communications between a parent object and a child it rezzes:

One common cause of problems is communication between objects immediately after one creates the other. When an object rezzes another object in-world using llRezObject or llRezAtRoot, the two objects frequently want to communicate, such as through calls to llRegionSayTo or llGiveInventory. The parent object receives an object_rez() event when the new object has been created, but it is never safe to assume that scripts in the new object have had a chance to run when the object_rez event is delivered. This means that the new object may not have initialised its listen() event or called llAllowInventoryDrop, so any attempt to send it messages or inventory could fail. The parent object should not begin sending messages or giving inventory from the object_rez() event, or even rely on waiting some time after that event. Instead, the parent(rezzer) and the child(rezzee) should perform a handshake to confirm that both sides are ready for any transfer. 

The blog post goes on to define the sequence of events between a parent and rezzed child object as they should occur, and provides sample code for such parent / child operations.

An important point to note with this is that when the fix from the Lab is re-deployed, any scripts that still exhibit these kinds of communication issues will likely need to be altered by their creator to match the recommendations provided by the blog post.

Those wishing to know more are invited to read the original blog post in full, and address and questions and / or feedback through the associated forum thread.

Get more from the space you have via Mangrovejane’s video tutorial

via Mangrovejane

Blogger and vlogger Mangrovejane (Groves to her friends) has produced a nifty little video tutorial on using Second Life scene rezzers to help give a feeling of greater space in Second Life by allowing you to quickly and easily change the layout of one or more rooms (or even an entire house) without having to manually swap everything from inventory.

Scene rezzers are not new to SL – they’re pretty much as old as the hills (and again, just for clarity, I’m not referring to temp rezzers here – they are a nasty no-no); however, it is surprising how many people haven’t actually come across them – so Infinite Space: Making Your Second Life Land Work for You is liable to be a welcome eye-opener for many. At 17.25 minutes, it is informative and provides all the essential information on what’s required as well as clear and concise instructions on using the rezzer systems she opted to use (the RF Scene Rezzer and the Optimus Multi Rezzer).

I’ve long been an advocate of using rezzing systems (I save every design of out island home to one, allowing use to easily swap between houses / landscapes if we wish), and have blogged on the subject a couple of times in these pages:

In her video, Groves also discusses the use of the Curio Obscura Anywhere Door by Pandora Wrigglesworth, something I’ve used to create doorways in pre-built structures where doors don’t exist, rather than a TP system as we usually look upon them (see Still messing about in (house)boats in Second Life for example), and can again recommend.

Groves is planning a follow-up article to the video on her on her blog in due course, but in the meantime, I’m embedding her video below for those who haven’t seen and who don’t feel like reading my articles on the subject 🙂 . You can also check out more of her videos via her YouTube channel.

 

Sansar Product Meetings week #40: avatar updates + nudity in Sansar

The Nexus

The following notes were taken from my audio recording of the October 3rd (week #40) Sansar Product Meeting, which examined upcoming avatar updates and nakedness in Sansar. The official video is available on YouTube (and Twitch if you prefer) and is also embedded at the end of this summary.

Notes:

  • I was not present within Sansar for the meeting, but watching one of the streams, therefore the image captured from the demo video appear to be at odd angles due the positioning of the in-world camera used to relay the video.
  • Timestamps below will open the video of the meeting at the relevant point of discussion and in a separate tab. However, the topic summaries also include answers to questions raised in the Q&A session at the end of the meeting; therefore these will not be reflected in the video link.

Sansar Avatar

Pre-Morph Skeleton

[Video: 5:22-9:30]

  • The Avatar team is aiming for this to be available in the next major Sansar release, currently being scheduled for early November – but this is not a guarantee.
  • Gives custom avatars the ability to create differently sized and shaped avatars without being constrained to the Sansar base avatar.
    • Allows custom avatar creators to adjust bone translation (positioning) but not the bone rotation.
    • Providing they are correctly rigged, these differently sized and shaped avatars to correctly use Sansar emotes (“gestures” in SL parlance) and speech animations.
Pre-Morphing Skeleton – coming soon
  • Bone movement is being restricted to translations, and this works better with the automated animation re-targeting.
  • Part of this work also involves extending the Axis Aligned Bounding Box (AABB).
    • This is described as “not being a huge extension”, but is intended to offer a little more freedom in creating avatars and clothing.
    • It is likely to be constrained in terms of a (still TBD) minimum AABB and a maximum AABB.
  • Questions on the pre-morph skeleton from the Q&A session:
    • How far can bones be translated? As far as the minimum / maximum AABB limited allow.
    • If there is no bone rotation, will finger bones have to be in the same pose as the default avatar? Yes, although further testing may be carried out to see if this can be relaxed.

Additional Avatar Related Work

[Video: 9:34-20:00]

  • Camera movement in the avatar editor:
    • Work is in progress to involve the camera movement capabilities to address reported issues.
    • This is likely to include a more freecam style of camera movement to allow a better degree of panning and zooming when making very fine adjustments.
  • Avatar Skins:
    • Work is about to start on allowing custom skin uploads for the Sansar default avatar.
    • Creators will not initially be able to sell skins through the Sansar Store, but this will be added as the necessary licensing updates are made.
    • The system skins are being improved.
    • (From the Q&A session): will skin colour tinting be added? No. Tinting will be handled by swapping skin textures.
    • (From the Q&A session) will uploaded skins work with custom avatars? Initially, no; however, the option is being considered for a future update.
  • Full Body deformation:
    • Due to the feedback (particularly) concerning the avatar 2.0 base female shape, the avatar team is working to release full body deformation as soon as possible.
    • The plan is to have this working in a very similar manner to the face deformation.
    • Rigged clothing should adjust with the skeleton, and most of the deformation will be changing the size / shape of the skeleton.
    • Marvelous Designer™ clothing will use the clothing transform tools in the avatar editor.
      • Scaling / translating MD clothing is a challenge as it isn’t specifically rigged to the skeleton nor does it use skeletal bones.
      • LL and MD have been in conversation to see if MD could provide more information within MD files to allow for certain types of non-uniform scaling, and MD has indicated this is not possible on their end.
    • Part of this project may include the Sansar avatar team producing a wider range of base / starter avatars
      • For example: shapes and sizes that might be regarded as “standard” and worked for when creating custom avatars and also to help with producing clothing for different avatar “types”.
      • This feeds into attempts to limit market fragmentation (below).
  • Market fragmentation / Avatar Inventory:
    • There is already a degree of fragmentation in the store (avatar 1.0 clothing re-rigged for avatar 2.0; MD clothing, items for custom avatars, etc).
    • The Sansar team is looking to refine the Store and avatar inventory to make it easier to denote / see the types of avatar that items of clothing and accessories are designed to work with.
    • (From the Q&A session): for avatar inventory, this will likely include the ability to filter inventory contents.
    • (From the Q&A session): it is also hoped that the inventory improvements will include swapping (so if you are wearing a shirt and select another, the two will be swapped on your avatar, rather than both being worn).
  • Avatar editor lighting and background: LL are iterating on the lighting and improving the shadowing.
  • Facial Presets are being adjusted to give better starting points.

Contests

[Video: 20:35-23:00]

  • The idea has been floated that perhaps LL could run a contest for skin designers, with the winning skins being featured in the default inventory so users can view / use them and (via a right-click) see who made it.
  • If creators are interested in participating in this kind of contest, it could perhaps be extended to include avatars, etc.
  • Such competition would also include money or other practical prizes to rewards the creator’s time and effort.

Nudity in Sansar

[Video: 23:06-35:25]

  • New content guidelines will be available “shortly” in an attempt to clarify the rules around nudity.
  • In short:
    • Nudity is not permitted in Sansar.
    • Nudity is defined as something where there are visible genitalia, buttocks or breasts, especially with regards to humanoid avatars.
    • As a general rule, humanoid custom avatars should have underwear covering these body parts
      • This underwear should conform closely to the underwear seen on Sansar base avatars.
      • Changing the colour of the underwear is permitted, so long as the colour isn’t designed to blend with the skin to give the appearance of nakedness.
    • Certain humanoid forms that do not emphasise a sense of nakedness or that are not intentionally sexualised (such as the character show on the right by Sansar user Polygon) may be permitted.
    • Anthropomorphic avatars (animals, fruit, etc.) and nudity:
      • Such avatars do not necessarily have to have underwear, providing they are not being intentionality sexualised / showing genitalia, etc., in an attempt to bypass the guidelines.
      • Fur or feather coats on humanoid type avatars is OK, again providing they are not otherwise being intentionally sexualised.
  • The nudity guidelines will also extend to custom skins, once the capability to upload them is added to the platform.
  • Clothing that is also intentionally designed to show genitalia, etc. will be seen in violation of the nudity guidelines.
  • A point to remember with the nudity guidelines is that that are not something Linden Lab has arbitrarily set – rather, they are:
    • Intended to meet the expectations of content partners (.e.g. Sanrio, Levis®, etc.).
    • Allow Sansar to be offered to the widest audience of potential users without necessarily gating access to worlds, etc, and be a “family friendly” platform.
  • Avatars / content that is deemed to be in violation of the guidelines will be taken down.

Continue reading “Sansar Product Meetings week #40: avatar updates + nudity in Sansar”