I cannot say why I have this preference of making dark pictures over making brighter ones. Somehow I find more powerful feelings within darkness, perhaps because of the distortion provoked by the lack of light. I've always liked dark stories, and probably there isn't a why for it, just an it's just who I am.
The next day to preparing the prison, the exclusive item for A Tattered Page was ready. Inspired in the quote "It is well. I go; but remember, I shall be with you on your wedding-night" from Frankenstein, I called this item (couple pose and ghost), simply, "Wedding Night".
Why the ghost? To me, the ghost is Victor's guilty conscience. Victor broke his promise with the monster, but the monster kept his, killing his wife on their wedding night. This ghost represents the burden of his broken promise, coming back at him in the most painful way.
In that mood, I also made two new pose sets that will be released under Pose me Amazing, the 10th: Why did you leave me... (1 and 2)
I guess, some wounds never heal. But life goes on, and now I have to go back to work!
Have a great day :-)
Virtual life and some real thoughts from the person behind Auryn Beorn, a reserved and shy avatar (so she says) finding her own way. Curious by nature, she likes to ask questions. You may call her "Ms. Why".
Thursday, November 6, 2014
Bring the Spooky in your Windlight settings
This article was published in Fusion Magazine, October 2014. Click for the magazine!
Halloween is upon us! Many of us are already outfitted and roaming SL in a quest for spooky places. Many of us also love taking pictures in SL, to keep memories of all the mischief happening. How about enhancing those memories with a touch of windlight? Do I hear, you're not sure about what windlight is? Then don't worry, because this article is for you.
Windlight is SL's atmospheric rendering system. Our viewers give us a set of settings that allow us to change how the sky looks, the light, Sun position, and other ambient effects, such as fog, clouds... Each of us can change the windlight settings in our viewer. By doing so, we're changing how the sky, light, etc. are rendered, but only in our viewer. Our choice of windlight settings is local, meaning, only we can see it in our viewer, not other avatars around. But that is fine when all we want to do is take pictures.
Now, don't worry because it seems like we need to learn a lot of things in order to use this windlight thing. In this issue we'll begin with the basics: we'll learn where we can find this in our viewer, we'll see a few shortcuts for some third party viewers, and then we'll explore a few presets that we can use for our Halloween-Spooky oriented pictures. Yes: There are premade presets that we can just select and use. Starting to use windlight is that easy.
In the official viewer, the windlight settings can be found under: World: Environment Editor: Environment Settings
In order to select a specific windlight setting, we have to change the selection under Sky/Day Cycle, then Fixed sky, from Default to the setting we wish to use. For example, the picture shows how to change our setting to Blue Midday:
which immediately changes the light settings in our viewer. Press OK to have them applied.
Other viewers, like Firestorm or Singularity, have quick access to the windlight presets at the bottom right area of our viewer. For example, in Firestorm we would click the little icon to the bottom right of the screen, normally next to the AO button:
and that would open the Quick Preferences, which among others, let us to select a Windlight preset under WL Sky (and WL Water for similar settings, only for the water):
Let's make a list here of some presets that everybody has installed in their viewers, ready for Halloween:
These options aren't bad, but it's true that, to begin with, the official viewer doesn't give us many choices. Don't worry, though, because lots of people have created their own presets, including Torley Linden, and offer them to other SL residents. What would we do with them?
First, download the settings to your computer. Open this link in your browser, from the official wiki page, and start by downloading Torley's ones:
http://wiki.secondlife.com/wiki/WindLight_Settings
After this, you will have to unpack them in a specific folder. Depending on your Operating System, the Secondlife folder will be placed in one or other place. The previous link to the official wiki lists them:
Once you've found this Secondlife folder in your Operating System, the sky presets have to be saved under:
user_settings/windlight/skies
and the water presets (if any) under:
user_settings/windlight/water
Once you're done, next time you log in using the viewer you installed the presets for, you will have them available in the same dropdown menu we used before. If you're using a third party viewer such as Firestorm, note that instead of Secondlife or .secondlife, the folder to look for is named Firestorm (or .firestorm for Linux users). Also, many third party viewers come with lots of Windlight presets installed, so for example, you may not need to install Torley's ones in them.
For Halloween, I would recommend trying out all the presets from Torley that are in the FOGGY, HORROR and NIGHT categories. A few personal choices:
As a final note, know that you can also change the Sun position! In the official viewer we can use two ways. One thing that we can do is go to the World: Sun menu, and in there, select one of the four default positions, corresponding to 12 AM (Midnight), 6 AM (Sunrise), 12 PM (Noon) and 6 PM (Sunset).
Then, and this is a little more complicated: Go to the World: Environment Editor: Sky Presets: Edit Preset menu. This opens the following window, where we begin by selecting the preset we'll be using:
Making changes here will overwrite the preset. In order to avoid this, the first we do is a copy of the preset we're tweaking by writing something more under Preset Name, for example, Funky Funky Funky - My Sun Changes in this example, which will create a copy of the preset under this new name:
Now, we click on the Lighting tab, and we drag to move the green dot in the Sun/Moon Position slider, to change the Sun position:
Once we're done, we have to go again to World: Environment Editor: Environment Settings, and select the modified preset we've just tweaked by changing the Sun position, then hit OK:
We can of course change the Sun position over this work copy we've created, not creating more and more copies of it. The purpose of creating this first copy was not to lose the original setting, but with this done, now we can reuse it and tweak saving over it as much as we need.
This will let you experiment what Sun position gives the best spooky feeling for your pictures. It will also change the direction of the shadows, if you're using the Advanced Lighting Mode with shadows turned on.
Finally, if you're using a third party viewer as Firestorm, you can quickly change the Sun position by using a slider, without having to save a different preset for this! Just notice that under the WL Sky and WL Water selectors there's a color band representing the times of the day, and a slider that lets you drag and so change the Sun position:
With all this, now go out and take lots of fun pictures. Happy Halloween!
Enjoy your SL.
Halloween is upon us! Many of us are already outfitted and roaming SL in a quest for spooky places. Many of us also love taking pictures in SL, to keep memories of all the mischief happening. How about enhancing those memories with a touch of windlight? Do I hear, you're not sure about what windlight is? Then don't worry, because this article is for you.
Windlight is SL's atmospheric rendering system. Our viewers give us a set of settings that allow us to change how the sky looks, the light, Sun position, and other ambient effects, such as fog, clouds... Each of us can change the windlight settings in our viewer. By doing so, we're changing how the sky, light, etc. are rendered, but only in our viewer. Our choice of windlight settings is local, meaning, only we can see it in our viewer, not other avatars around. But that is fine when all we want to do is take pictures.
Now, don't worry because it seems like we need to learn a lot of things in order to use this windlight thing. In this issue we'll begin with the basics: we'll learn where we can find this in our viewer, we'll see a few shortcuts for some third party viewers, and then we'll explore a few presets that we can use for our Halloween-Spooky oriented pictures. Yes: There are premade presets that we can just select and use. Starting to use windlight is that easy.
In the official viewer, the windlight settings can be found under: World: Environment Editor: Environment Settings
In order to select a specific windlight setting, we have to change the selection under Sky/Day Cycle, then Fixed sky, from Default to the setting we wish to use. For example, the picture shows how to change our setting to Blue Midday:
which immediately changes the light settings in our viewer. Press OK to have them applied.
Other viewers, like Firestorm or Singularity, have quick access to the windlight presets at the bottom right area of our viewer. For example, in Firestorm we would click the little icon to the bottom right of the screen, normally next to the AO button:
and that would open the Quick Preferences, which among others, let us to select a Windlight preset under WL Sky (and WL Water for similar settings, only for the water):
Let's make a list here of some presets that everybody has installed in their viewers, ready for Halloween:
- Blizzard
- Foggy
- Funky Funky Funky
- Ghost
These options aren't bad, but it's true that, to begin with, the official viewer doesn't give us many choices. Don't worry, though, because lots of people have created their own presets, including Torley Linden, and offer them to other SL residents. What would we do with them?
First, download the settings to your computer. Open this link in your browser, from the official wiki page, and start by downloading Torley's ones:
http://wiki.secondlife.com/wiki/WindLight_Settings
After this, you will have to unpack them in a specific folder. Depending on your Operating System, the Secondlife folder will be placed in one or other place. The previous link to the official wiki lists them:
Linux: ~/.secondlife/ Mac: ~/Library/Application Support/SecondLife/ Windows Vista & 7: C:\Users\USERNAME\AppData\Roaming\SecondLife\ Windows XP: C:\Documents and Settings\USERNAME\Application Data\SecondLife\
Once you've found this Secondlife folder in your Operating System, the sky presets have to be saved under:
and the water presets (if any) under:
Once you're done, next time you log in using the viewer you installed the presets for, you will have them available in the same dropdown menu we used before. If you're using a third party viewer such as Firestorm, note that instead of Secondlife or .secondlife, the folder to look for is named Firestorm (or .firestorm for Linux users). Also, many third party viewers come with lots of Windlight presets installed, so for example, you may not need to install Torley's ones in them.
For Halloween, I would recommend trying out all the presets from Torley that are in the FOGGY, HORROR and NIGHT categories. A few personal choices:
[TOR] FOGGY - Das fog
[TOR] FOGGY - Silent heck
[TOR] HORROR - Bloody moon
[TOR] HORROR - Castle vain
[TOR] HORROR - Darkside tales
[TOR] HORROR - Dullard
[TOR] NIGHT - Moony
[TOR] NIGHT - That spells moon (1 to 4)As a final note, know that you can also change the Sun position! In the official viewer we can use two ways. One thing that we can do is go to the World: Sun menu, and in there, select one of the four default positions, corresponding to 12 AM (Midnight), 6 AM (Sunrise), 12 PM (Noon) and 6 PM (Sunset).
Then, and this is a little more complicated: Go to the World: Environment Editor: Sky Presets: Edit Preset menu. This opens the following window, where we begin by selecting the preset we'll be using:
Making changes here will overwrite the preset. In order to avoid this, the first we do is a copy of the preset we're tweaking by writing something more under Preset Name, for example, Funky Funky Funky - My Sun Changes in this example, which will create a copy of the preset under this new name:
Now, we click on the Lighting tab, and we drag to move the green dot in the Sun/Moon Position slider, to change the Sun position:
Once we're done, we have to go again to World: Environment Editor: Environment Settings, and select the modified preset we've just tweaked by changing the Sun position, then hit OK:
We can of course change the Sun position over this work copy we've created, not creating more and more copies of it. The purpose of creating this first copy was not to lose the original setting, but with this done, now we can reuse it and tweak saving over it as much as we need.
This will let you experiment what Sun position gives the best spooky feeling for your pictures. It will also change the direction of the shadows, if you're using the Advanced Lighting Mode with shadows turned on.
Finally, if you're using a third party viewer as Firestorm, you can quickly change the Sun position by using a slider, without having to save a different preset for this! Just notice that under the WL Sky and WL Water selectors there's a color band representing the times of the day, and a slider that lets you drag and so change the Sun position:
With all this, now go out and take lots of fun pictures. Happy Halloween!
Enjoy your SL.
Monday, November 3, 2014
A prison for your mind
Events are all the rage nowadays, even though there are signs that we're living in a crazy overload of them. Still, new events continue to be created, and A Tattered Page is one of them. I confess, when I read what is it about, I loved it.
It sure is not the event for the merchant that rushes into their event items the last five minutes (or worse, the hour after the event started). We have to read a book before thinking what to create for the event. Why? Because whatever we create, not only has to be inspired in the book. We have to provide the exact quote that inspired us. And for that, you need to take your time to... yes, to read the book.
The first round is about to begin (November 7th), and the chosen book is Frankenstein. I never read this book before, and I'm really glad to have been accepted into the event, because it's a book I've enjoyed. Also, the event itself reminds me a lot of the literary workshop I enjoyed so much when I was in high school. I could go on a long ramble about what I've observed as the two main topics of the book: the dangers of playing God, and the despair an unloved child feels, feeling so abandoned and hurt, that said child could turn into a spiteful monster. (Victor's creation hasn't even a name, to add to the injury.)
At the moment of writing this, I've completed my first item, and I'll start making the exclusive one for the event after lunch. In this event, exclusive means that once the event is over, the item will no longer be sold.
Of course, with such a read, I couldn't stop thinking, and it was very difficult to choose one quote, one idea. As much as I'd like to make everything that went into my mind, time constraints keep me straight into being the most realistic possible with what I will be able to do.
My first item, A prison for your mind, is inspired by the quote "But I was doomed to live and in two months found myself as awaking from a dream, in a prison, stretched on a wretched bed, surrounded by jailers, turnkeys, bolts, and all the miserable apparatus of a dungeon."
The worst prisons are those without keys. Prisoners of our own guilty conscience, prisoners of anguish and despair we've created, we sit hoping for the dark feelings to go away. But they don't go. They chase us until either we own up to our actions, or we give a step closer to the darkness and malice that comes with the lack of sympathy. Either we learn or we're a step closer to becoming a real monster.
The idea I have for the exclusive item is inspired by the quote "It is well. I go; but remember, I shall be with you on your wedding-night." Stay tuned to see what it will be, and spread the word about A Tattered Page!
Have a great day :-)
It sure is not the event for the merchant that rushes into their event items the last five minutes (or worse, the hour after the event started). We have to read a book before thinking what to create for the event. Why? Because whatever we create, not only has to be inspired in the book. We have to provide the exact quote that inspired us. And for that, you need to take your time to... yes, to read the book.
The first round is about to begin (November 7th), and the chosen book is Frankenstein. I never read this book before, and I'm really glad to have been accepted into the event, because it's a book I've enjoyed. Also, the event itself reminds me a lot of the literary workshop I enjoyed so much when I was in high school. I could go on a long ramble about what I've observed as the two main topics of the book: the dangers of playing God, and the despair an unloved child feels, feeling so abandoned and hurt, that said child could turn into a spiteful monster. (Victor's creation hasn't even a name, to add to the injury.)
At the moment of writing this, I've completed my first item, and I'll start making the exclusive one for the event after lunch. In this event, exclusive means that once the event is over, the item will no longer be sold.
Of course, with such a read, I couldn't stop thinking, and it was very difficult to choose one quote, one idea. As much as I'd like to make everything that went into my mind, time constraints keep me straight into being the most realistic possible with what I will be able to do.
My first item, A prison for your mind, is inspired by the quote "But I was doomed to live and in two months found myself as awaking from a dream, in a prison, stretched on a wretched bed, surrounded by jailers, turnkeys, bolts, and all the miserable apparatus of a dungeon."
The worst prisons are those without keys. Prisoners of our own guilty conscience, prisoners of anguish and despair we've created, we sit hoping for the dark feelings to go away. But they don't go. They chase us until either we own up to our actions, or we give a step closer to the darkness and malice that comes with the lack of sympathy. Either we learn or we're a step closer to becoming a real monster.
The idea I have for the exclusive item is inspired by the quote "It is well. I go; but remember, I shall be with you on your wedding-night." Stay tuned to see what it will be, and spread the word about A Tattered Page!
Have a great day :-)
Labels:
Black Tulip,
Exploring yourself,
Musings
Thursday, October 23, 2014
The German button
It may be seventeen years ago when I first heard of a surreal joke:
«There was a switch on my house that seemed to do nothing. Every day I would turn it on and off, on and off, in hopes that something would happen, a light would turn on... Nothing. Nothing would ever happen. Then one day, a woman called, from Germany. She just said "STOP IT!"»
Ever since then, when I find a switch that does nothing, I say "oh look, here we have another German button!"
Today I had that same feeling when I was researching about what a button in Blender does, because its behaviour seemed quite random to me (as in, at times it didn't seem to do a thing at all). The official wiki points to a page where the button isn't named at all. Google only refers to somebody complaining that once there was a correct link, but then changed (the person could have put the correct link!)
Finally, with some more experimentation (and by accident), I found out when exactly the button works at all, but since before that, it's been baptized too as "yet another German button".
So from now on, if you ever hear me say "that's a German button", now you know what I'm talking about :-)
To click or not to click, in Flickr.
Clothes: My preppy sweater (wine) and skirt (black), from [monso]
Shoes: Penny boots, from JD
Skin: Lulu (Jamaica), from Glam Affair
Hands: Slink Avatar Enhancement Hands (relaxed, both), from Slink
Panties: Nevermind, okay?
Build: Benthlem Asylum, from Pandemonium
(Yes, there's an asylum at my builder platform. Any questions?)
Wall lights are not in the build (Those are mine, same with the light script.)
Pose: Forest Day #1, from Black Tulip (Yep! Shameless self promotion.)
«There was a switch on my house that seemed to do nothing. Every day I would turn it on and off, on and off, in hopes that something would happen, a light would turn on... Nothing. Nothing would ever happen. Then one day, a woman called, from Germany. She just said "STOP IT!"»
Ever since then, when I find a switch that does nothing, I say "oh look, here we have another German button!"
Today I had that same feeling when I was researching about what a button in Blender does, because its behaviour seemed quite random to me (as in, at times it didn't seem to do a thing at all). The official wiki points to a page where the button isn't named at all. Google only refers to somebody complaining that once there was a correct link, but then changed (the person could have put the correct link!)
Finally, with some more experimentation (and by accident), I found out when exactly the button works at all, but since before that, it's been baptized too as "yet another German button".
So from now on, if you ever hear me say "that's a German button", now you know what I'm talking about :-)
To click or not to click, in Flickr.
PHOTO CREDITS
Hair: Never, from MagikaClothes: My preppy sweater (wine) and skirt (black), from [monso]
Shoes: Penny boots, from JD
Skin: Lulu (Jamaica), from Glam Affair
Hands: Slink Avatar Enhancement Hands (relaxed, both), from Slink
Panties: Nevermind, okay?
Build: Benthlem Asylum, from Pandemonium
(Yes, there's an asylum at my builder platform. Any questions?)
Wall lights are not in the build (Those are mine, same with the light script.)
Pose: Forest Day #1, from Black Tulip (Yep! Shameless self promotion.)
DISCLAIMER
I'm not a fashion blogger, I'm always the last person in SL buying "the newest shiny" (when it's new no more). But I thought I could give credits from time to time.Thursday, October 2, 2014
Keep your inventory under control (Part 6)
This article was published in Fusion Magazine, September 2014. Click for the magazine!
Disclaimer: The screenshots and brand names shown in this article do not reflect in any manner, any preference that Fusion could have for specific stores. They show up merely as examples, coming from the inventory of the writer of this article.
Greetings everybody! With the advent of mesh body enhancements such as hands, feet, breasts and whatnot, our avatars, currently, may look smoother and more detailed than the default SL avatar. In order to use said body parts, fashion creators provide a variety of appliers and add-ons. Appliers are HUDs that load into the mesh part the corresponding texture: skins, tattoos, lingerie, tops, pants... Add-ons are (rigged mesh) objects that conform to specific body parts: rings for mesh hands (in specific poses), anklets for mesh feet (again, specific feet poses) and so on.
All these items have improved our appearance a lot, but in exchange, sorting our inventory in a way that makes sense has become more confusing. Also, some body parts require specific feet/hand sizes, while when not using them, our avatar better fits other sizes; dressing in itself has become more complicated.
We'll explore here some ideas I've been testing through time, that have helped me in performing these tasks faster, always finding everything I need with very few clicks. Hopefully, these ideas will help you develop your own strategy that works for you.
First of all: How do we go about having all of our body parts, controller HUDs, skin appliers, etc. accessible?
I have the body parts under the Body Parts system folder, and said folder in my inventory looks like follows, which works for me:
The body parts I use the most are accessible at the top, by using the [] characters to enclose the brand. All of the body parts that I barely use, are under a [Z] Parts - Not Used Often folder, so the Body Parts folder doesn't get too long a list of folders that would force me to scroll down in order to find things.
The hands pose I use the most is one click away under the [Slink] Hands folder, and then all the other hand poses under a subfolder (again, avoiding having to scroll down to find the hands pose I use the most.)
Then, mesh bodies require a different size of hands and feet than my own shape does, so I keep those sizes within the corresponding mesh body folder. Notice also how I do the same with the hands pose: The relaxed pose is accessible directly under the mesh body folder, while all the other poses in that size are stored under a subfolder.
Remember, this is just a suggestion! It may not work perfectly for you, so use it just as a starting point to develop your own system.
Once we have all the body parts organized, we can use a little tip to easily find of our clothes/shoes/etc. that work with said body parts.
Suppose you have a folder with lingerie that comes with appliers for both the Slink feet and Gos shoes. You could rename that folder this way:
Lingerie Folder {Slink}{Gos}
What do we achieve with that? If we now start typing the following in the Search bar of the inventory window:
{Gos}
every folder that was labeled with {Gos} will show up in the search, making very easy to choose something that will work with those shoes. If we have a dress that has appliers for Wowmeh, Physique and Lolas, by renaming it this way:
Dress Folder {Lolas}{Wowmeh}{Physique}
we are making it easy to find when we look for out items that work with either of the three. You can of course choose your own way of writing the body parts. If {Wowmeh} and {Physique} are too long, {Wowm} and {Phys} could work good enough.
A closing suggestion: create outfits with your most used body parts. For example, create an outfit where you would have a mesh body on with the corresponding hands and feet sizes for it, if you use mesh bodies. This would allow you to quickly switch to that body and the correctly sized hands and feet for it. Then all you have to do is dress over that mesh body. Outfits can be really useful. If you haven't used Outfits yet, don't worry: soon we'll talk about more uses for them, and how to create them. But for now, we're closing this Keep your inventory under control series.
I hope you found it useful! See you in the next issue. In the meantime... Enjoy your SL!
Disclaimer: The screenshots and brand names shown in this article do not reflect in any manner, any preference that Fusion could have for specific stores. They show up merely as examples, coming from the inventory of the writer of this article.
Greetings everybody! With the advent of mesh body enhancements such as hands, feet, breasts and whatnot, our avatars, currently, may look smoother and more detailed than the default SL avatar. In order to use said body parts, fashion creators provide a variety of appliers and add-ons. Appliers are HUDs that load into the mesh part the corresponding texture: skins, tattoos, lingerie, tops, pants... Add-ons are (rigged mesh) objects that conform to specific body parts: rings for mesh hands (in specific poses), anklets for mesh feet (again, specific feet poses) and so on.
All these items have improved our appearance a lot, but in exchange, sorting our inventory in a way that makes sense has become more confusing. Also, some body parts require specific feet/hand sizes, while when not using them, our avatar better fits other sizes; dressing in itself has become more complicated.
We'll explore here some ideas I've been testing through time, that have helped me in performing these tasks faster, always finding everything I need with very few clicks. Hopefully, these ideas will help you develop your own strategy that works for you.
First of all: How do we go about having all of our body parts, controller HUDs, skin appliers, etc. accessible?
I have the body parts under the Body Parts system folder, and said folder in my inventory looks like follows, which works for me:
The body parts I use the most are accessible at the top, by using the [] characters to enclose the brand. All of the body parts that I barely use, are under a [Z] Parts - Not Used Often folder, so the Body Parts folder doesn't get too long a list of folders that would force me to scroll down in order to find things.
The hands pose I use the most is one click away under the [Slink] Hands folder, and then all the other hand poses under a subfolder (again, avoiding having to scroll down to find the hands pose I use the most.)
Then, mesh bodies require a different size of hands and feet than my own shape does, so I keep those sizes within the corresponding mesh body folder. Notice also how I do the same with the hands pose: The relaxed pose is accessible directly under the mesh body folder, while all the other poses in that size are stored under a subfolder.
Remember, this is just a suggestion! It may not work perfectly for you, so use it just as a starting point to develop your own system.
Once we have all the body parts organized, we can use a little tip to easily find of our clothes/shoes/etc. that work with said body parts.
Suppose you have a folder with lingerie that comes with appliers for both the Slink feet and Gos shoes. You could rename that folder this way:
Lingerie Folder {Slink}{Gos}
What do we achieve with that? If we now start typing the following in the Search bar of the inventory window:
{Gos}
every folder that was labeled with {Gos} will show up in the search, making very easy to choose something that will work with those shoes. If we have a dress that has appliers for Wowmeh, Physique and Lolas, by renaming it this way:
Dress Folder {Lolas}{Wowmeh}{Physique}
we are making it easy to find when we look for out items that work with either of the three. You can of course choose your own way of writing the body parts. If {Wowmeh} and {Physique} are too long, {Wowm} and {Phys} could work good enough.
A closing suggestion: create outfits with your most used body parts. For example, create an outfit where you would have a mesh body on with the corresponding hands and feet sizes for it, if you use mesh bodies. This would allow you to quickly switch to that body and the correctly sized hands and feet for it. Then all you have to do is dress over that mesh body. Outfits can be really useful. If you haven't used Outfits yet, don't worry: soon we'll talk about more uses for them, and how to create them. But for now, we're closing this Keep your inventory under control series.
I hope you found it useful! See you in the next issue. In the meantime... Enjoy your SL!
Monday, September 15, 2014
Guess who's teaching at the Home and Garden Expo...
The Home and Garden Expo is the first event I ever knew of, and perhaps the reason why I'm specially fond about it. It was back in 2011, May, when the instructors at Builder's Brewery, the school where I was teaching for more than two years, were asked for extra classes to be given at this Expo. "Sure why not! It sounds fun!" I participated back then, opening the classes season in the Expo, with classes that explained how to build flowers and other related garden setups with the most used tools then: torturing regular prims, and creating sculpt prims with specific tools such as Sculptcrafter. Mesh hadn't arrived yet.
I still remember with a smile when, because of a joke I just did at class, several students thought that I was talking seriously, and so, they turned some of their prims to physical... which did for an spectacle of several petals of the flowers they were building, falling to the ground. If there was a teacher able to create such confusion at class... That was me.
During the Expo, I visited the sims around, admiring what everybody had brought to the Expo, and decided that, from the next year on, I would participate too! At that time, my store was really small, because almost all my time was spent teaching. I just had a few classes to offer, not even a single script that was good enough for professional use by other designers. Scripts started coming later, almost finishing 2011.
I participated in 2012, also, teaching at the Expo. Then again in 2013, this time as second-category sponsor. I didn't teach at the time, because the classroom was open only for one school, which I no longer belonged to.
2014's edition is here, and I'm participating as sim sponsor and classroom sponsor (the latter, together with DeAnn Dufaux, from park Place). The classroom has been open this year to anybody that can teach, and of course, I was not going to let that chance go. If I can make that students pluck petals at class... I can make this :-)
Being sim sponsor scared me a little. My store logo shares space with other names such as Dutchie or Maven Homes. High quality merchants... and me. So I put myself to work. I'm well aware that I still am not at their level, not even close, but nowadays I'm confident enough that given time enough, I can reach to a minimally decent result that I won't be ashamed to show. That's how the greenhouse came up, and so my plot looks like this:
The greenhouse took me four days to complete. I'm slow, when it comes to modelling.
The first day I did the windows and doors (with their LODs, physics and texturing), and laid out the base of the build. Then the next day I continued modelling, solving aspects like the roof and the entrance's roof. Next day I started joining pieces, UV mapping and creating the LOD models and the physic models. Last day, I did the textures. I'm not good at texturing, so I'm quite glad that I didn't ruin the model with my crappy texture skills. A so-so texture will make the best of the models, look ugly. I'm well aware of it, and that's my weakest spot in the "creation chain". A spot I hope I can continue to work on.
Anyway... I've mentioned that this year I will be teaching at the Home and Garden Expo. Everybody is welcome to attend, and I'd like to see you around. I will be making classes in voice, so my apologies in advance for my accent (I'm not native; If it's bad when I write, it's worse when I speak.) If you ever wanted to know if I'm a man in RL, my voice may give you a clue about. I won't spoil the surprise :o)
Following, there's the schedule. I hope you will find something interesting, and see you in the Expo!
FRIDAY, SEPTEMBER 19TH, 2 PM
SATURDAY, SEPTEMBER 20TH, 2 PM
SUNDAY, SEPTEMBER 21TH, 2 PM
MONDAY, SEPTEMBER 22TH, 2 PM
TUESDAY, SEPTEMBER 23TH, 2 PM
FRIDAY, SEPTEMBER 26TH, 2 PM
I still remember with a smile when, because of a joke I just did at class, several students thought that I was talking seriously, and so, they turned some of their prims to physical... which did for an spectacle of several petals of the flowers they were building, falling to the ground. If there was a teacher able to create such confusion at class... That was me.
During the Expo, I visited the sims around, admiring what everybody had brought to the Expo, and decided that, from the next year on, I would participate too! At that time, my store was really small, because almost all my time was spent teaching. I just had a few classes to offer, not even a single script that was good enough for professional use by other designers. Scripts started coming later, almost finishing 2011.
I participated in 2012, also, teaching at the Expo. Then again in 2013, this time as second-category sponsor. I didn't teach at the time, because the classroom was open only for one school, which I no longer belonged to.
2014's edition is here, and I'm participating as sim sponsor and classroom sponsor (the latter, together with DeAnn Dufaux, from park Place). The classroom has been open this year to anybody that can teach, and of course, I was not going to let that chance go. If I can make that students pluck petals at class... I can make this :-)
Being sim sponsor scared me a little. My store logo shares space with other names such as Dutchie or Maven Homes. High quality merchants... and me. So I put myself to work. I'm well aware that I still am not at their level, not even close, but nowadays I'm confident enough that given time enough, I can reach to a minimally decent result that I won't be ashamed to show. That's how the greenhouse came up, and so my plot looks like this:
The greenhouse took me four days to complete. I'm slow, when it comes to modelling.
The first day I did the windows and doors (with their LODs, physics and texturing), and laid out the base of the build. Then the next day I continued modelling, solving aspects like the roof and the entrance's roof. Next day I started joining pieces, UV mapping and creating the LOD models and the physic models. Last day, I did the textures. I'm not good at texturing, so I'm quite glad that I didn't ruin the model with my crappy texture skills. A so-so texture will make the best of the models, look ugly. I'm well aware of it, and that's my weakest spot in the "creation chain". A spot I hope I can continue to work on.
Anyway... I've mentioned that this year I will be teaching at the Home and Garden Expo. Everybody is welcome to attend, and I'd like to see you around. I will be making classes in voice, so my apologies in advance for my accent (I'm not native; If it's bad when I write, it's worse when I speak.) If you ever wanted to know if I'm a man in RL, my voice may give you a clue about. I won't spoil the surprise :o)
Following, there's the schedule. I hope you will find something interesting, and see you in the Expo!
FRIDAY, SEPTEMBER 19TH, 2 PM
LAG: WHAT CAN (ALL) SL RESIDENTS DO, TO MINIMIZE IT?
Format: Voice Estimated time: 60 minutesIf there's something that can ruin our SL experience, that is lag. This doesn't mean that we should think, there's not a solution. There it is a solution to lag, if only each one of us contributes a little bit. In the past, scripts alone did for much of the problem, but nowadays with mesh, there's a new player on the game. Accompany me in this session, where I'll explain about different sources of lag, and what can you do to help minimizing it.
SATURDAY, SEPTEMBER 20TH, 2 PM
INTRODUCTION TO MESH FOR CREATORS
Format: Voice Estimated time: 60 minutesSince Mesh hit the SL grid in August 2011, the visual quality of SL has given a big step forward, and nowadays, learning about mesh is a must for all creators. Whether you plan on learning a program (like Blender), or you prefer relying on templates made by other creators, there are several relevant concepts that you need to know about: Land impact, Physics, LODs, AO maps, Materials... We'll talk about all this, during this session.
SUNDAY, SEPTEMBER 21TH, 2 PM
ZERO-LAG SCRIPTING TIPS FOR CREATORS
Format: Voice Estimated time: 60 minutesDid you know that you can have several scripting effects running, with no scripts at all in your objects? In this class, we will explain the tricks and tips, which will help you in designing items that will have less scripts... and so, will cause less server side lag.
MONDAY, SEPTEMBER 22TH, 2 PM
(VERY BASIC) INTRODUCTION TO SCRIPTS FOR CREATORS
Format: Voice Estimated time: 60 minutesWhen we want that our items turn on/off lights, change textures, open doors, play songs, animate avatars... We need scripts. Some scripts will be complex, and we'll need from a scripter, or purchasing them, but some other tasks are easy enough, so we could write them on our own. In each case, there are some basic concepts about scripts that we should know about. This session will be devoted to clarify all those basic concepts.
TUESDAY, SEPTEMBER 23TH, 2 PM
BASICS ON PERMISSIONS FOR CREATORS
Format: Voice Estimated time: 60 minutesSetting permissions correctly is a critical task in order to ensure that we do not distribute animations, scripts, sound clips, textures... against the license terms of the supplies we purchase. In this class, we'll discuss the basics of the permissions system in SL, as well as several common mistakes that we have to avoid.
FRIDAY, SEPTEMBER 26TH, 2 PM
INTRODUCTION TO 3D MODELLING IN BLENDER FOR SL
Format: Voice Estimated time: 75 minutesDo you want to unleash your creativity by bringing 3D models to SL, but you aren't clear about how to go about it? In this class we'll give an introduction to all of the prerequisites and necessary steps we have to follow, using as an example the open source program Blender.
Labels:
Black Tulip,
Exploring yourself,
My classes
Saturday, September 13, 2014
Resident Resource - "Lag! Your Animation Overrider"
This tutorial is available at: Resident Resource - "Lag! Your Animation Overrider"
This class was written in September 2011. Since then, viewers like Emergence and Phoenix succumbed, so the bits referring to them can be safely skipped. I've kept them for the sake of completion, since this was the original material I used to teach. The text hasn't been updated, but hopefully some ideas will still remain interesting to know about. Please forgive my 2011-English (Of course, suggestions to correct it are more than welcome.)
Also, I've decided to set out the original supplies for this class in a box at the store, within the books section, for free. Head over here and get the class supplies if you wish to follow the practice. The items are inside a Black Tulip textured box.
Welcome everybody. I am Auryn Beorn and I'll be your instructor for this class.
It's a while since we're discussing in some classes about the sources of lag, and what we can do to avoid it the most possible (as much as us, as residents, can do about). It all began as an unique class that was intended for 90 minutes. It went for three hours and the AO topic had no time for being discussed, so I've finally found the moment to do it separately.
As you sure know, "lag" is the common word used to name a slow reaction time when we're using an online application, like Second Life, World of Warcraft... anything like this that you can think of.
The fact of existing a slow reaction time means that "something's happening", either at client side, or at server side. The reasons and main culprits are discussed in detail in the class "LAG! Every script counts" and will not be the focus for this class.
In other classes we see why the scripts are such a big deal, as well as which effects and properties assure us that we can remove scripts from the objects if necessary. Also, we all know about resizers being the evil, etc, etc, regarding the avatar appearance, more specifically.
This class is to study what an animation overrider is, and what we can do to create a low scripted animation override, as well as be conscious of why we're asked to take it off when in crowded places, among other details.
When we all get to SL, we're gifted with walking like ducks and standing like robots.
We, as avatars, have a predefined set of states that can be animated: Walking, standing, sitting, jumping, turning to left, turning to right, crouching, hovering, etc.
But the default animations are not... How to say... Specially glamorous.
Not even human (I know nobody walking like ducks.)
So, since scripts allow to animate avatars, and scripts allow to control your avatar keys, people smarter than the designer of the default animations decided to script what is called an "animation overrider" (and better animators, to create decent animations.)
So there we have them again: if we want to walk like humans, we need to wear scripts attached.
We know that an important problem we have with scripts is... If there are many, they fill quick the memory. That's why it's so important to proceed deleting as soon as we can the resizers, specially the older ones, with one script per child prim.
But sometimes, just reducing the script count is not enough. We may have an animation overrider that only needs from two scripts (and we're preparing such an AO here, at class), and still, 40 avatars wearing the AO is an issue.
What does the AO have that makes it being so painful?
A 0.25 seconds timer (or even more frequent!)
That means: Per avatar, the server needs to pay attention each 0.25 seconds to all of our animation overriders.
Why such a small time?
Because that's a reasonable time for the script detecting a change in our state, so it can stop the previous animation and run the appropriated one.
An example for what I mean with this: When we are walking, it doesn't make sense to play other than a walking animation. But as soon as we stop walking to, say, sit, the walking animation should be stopped, then the sitting one animation initiated. Those state changes happen quick, that's why the script needs to be asking for our current state so often. That's why nobody would program an AO script and give the timer 5 seconds, to reduce lag... The requirements for an AO mean a timer that runs quick.
So yes, we can cut down the total of scripts that our AO's have, and that will of course improve the memory usage for the server, but we still have the problem of the timer.
Still, to focus all what we're discussing here, let me try to advance the "sections."
On one hand, yes, because reducing the script count is important, we're seeing how to make a "script cut" version of our AO's, and we'll do it here.
But also... We've said that the AO is requesting each 0.25 seconds our state.
If we detach the AO, yes, problem solved.
But AO's can be deactivated, not needing to be detached.
If we get an AO that needs only two scripts (which is a good thing!), we could simply deactivate it when not needed, and that way, the timer, which is the biggest load for the server this time, won't be active also, right?
So one may wonder, when could we just deactivate a two-scripts-AO, to help with lag?
Like... Right now. We're all sitting, right?
So if we're all the time sitting, why make the server check each 0.25 seconds if we're sitting or not?
I mean, at class, to say an example, we're pretty much aware of when we're sitting (and for a long time! At least at my classes :P )
We could make an habit of this:
(I know I have an animation active, but I'll say why in a moment)
There are many situations where we spend our SL's sitting on something:
Why not deactivate the AO in those situations?
Just by doing that, we'll help a lot the server.
For each state, there are default animations. When we sit on a prim, by default, there's a sitting animation that will be activated on us. This can be changed by a script that starts a different animation than the default one.
So having the AO overriding poseballs scripts is not a good idea, since the poseballs themselves have a script to animate our avatar.
We're now completely aware that by creating a script-cut version of our AO plus getting the habit of deactivating the AO each time we *sit* (which is often), we're helping a lot reducing lag.
Also... Some viewers have a client side AO. That's even better!
Emergence, Phoenix, Firestorm and Singularity have client side AO.
That is what I'm using: the client side AO... So that's why I have my sitting animation on... :o)
Not because I was setting a bad example, but because I have the client AO on!
The client side AO relies on the bridge script, which all the users of those viewers always have on. So, since the viewer can take care of the keys we press and that script already can communicate with the server to be aware of state changes/notify of the new animation to play, why use an inworld AO?
Ok, so we've identified a problem: script count + timer.
We've thought about a possible solution: script cut + deactivate when not necessary/client side AO when possible.
Usually, we don't need more functions from our animation overrider than actually... let it override the animations. Dances, facial gestures and other extras are not much needed at a class, shopping or maybe even roleplaying. Even the dances may be an option... as all the dance places already have danceballs... why overload the place with more scripts for that?
So we can create a low-scripted version for our animation overrider, that will cut the script count for it from the usual 20 scripts the AO's have, to only TWO. Now think on a crowded club, and think what if all the avatars use a cut-script version of their AO. We're talking about a serious reduction of the number of scripts. Not as spectacular as when we remove the resizer scripts, but yet, important.
And the best of all! We don't need to renounce to our animations. We don't need to walk like a duck in a club. So let's do *here* the work of creating this low-scripted version of our animation overrider. Once we're finished, you all will have an AO to choose, depending on how crowded do you expect to be the place.
I've chosen creating a couple of prims to hold within the open source animation overrider ZHAO-II, that you can find as the object "AO base (ZHAO interface)" included in the class supplies. All the animation overriders need from a notecard that tells which animations we're using for each state, and the ZHAO notecard type is, by far, the most widely used.
So... Let's begin with how to create a script-cut version of our AO. This work will be useful EVEN if we have a client side AO, since the notecard that we are going to create now has THE SAME FORMAT than the one the client AO requires.
If any of you has, by chance, a no copy AO attached, the following links contain two really basic AO from Vista that can purchase, so we can do the practice here, not risking your own AO at class!
For the girls: https://marketplace.secondlife.com/p/VA-VISTA-BASIC-FEMALE-AO-V08-basic-line/298453
For the guys: https://marketplace.secondlife.com/p/VISTA-MALE-BASIC-AO-V08-basic-line/298450
2014 NOTE: If you have a no copy AO, do not try to do this with it unless you're sure that there's no maintenance going on. One way to know if there's any kind of maintenance going on is by checking the SL status page. Keep in mind this: If there's any issue in the grid, it takes some time until LL are notified and they update the status page. If you notice any kind of inventory issues, or that you cannot attach/detach items... DO NOT REZ no copy items! Wait until you see an update announcement in the status page, and then refresh the page until making sure the issue is resolved.
What should we do, then?
Try not going ahead! We'll follow each step slowly.
Rez a copy of your own AO on the ground: It will be a small thing, so don't lose it from sight :-)
Not the AO from supplies: Your own AO.
Right click on your AO, and select "Open". It will take a moment to load everything.
Do we all have open a window that is loading a (most likely, long) list of animations, some scripts and notecards?
When you have that list loaded, click "Copy to Inventory".
That will make a whole copy in your inventory: once the copy is all done, you can take your AO back.
REZ the object "AO base (ZHAO interface)" from the class supplies and edit it.
Drop all the *animations* from your AO within the same prim that has the two scripts "ZHAO-II-core 7/29.1" and "ZHAO-II-interface 7/21.1".
Just the animations that we've copied in our inventory, at the moment. Let's wait a moment for the notecard.
Now we need to set the notecard.
Since this notecard we're setting is going to be full perms, we can do this step now in our inventory (we can drop FULL PERMISSIONS items within an attached HUD: it's only when the items are NOT full perms when we have to rez it to add contents.)
Before taking the AO back into your inventory, rename it to something that makes sense for you. For example, you can rename your HUD My Script-Cut AO before taking it into your inventory. This is just so you know this will be your script-cut AO with your animations.
Once renamed, take it.
The last step is editing a Default notecard, for it to be contained in the AO, so we can load it once finished, following a specific format.
Create a notecard in your supplies folder named Default.
You can choose other name if you wish, but keep in mind that this notecard name will appear as a button option in a dialog window, so DON'T USE more than 24 characters for the name of the notecard!
I've included several sample notecards in the supplies to show different formats that our AO's may be using: we'll refer to them later.
I've also included a notecard named Default - Sample from supplies: This one has the exact format that ZHAO-II expects from it. So let's study first the format of this notecard, and then we'll study how to "translate" our own AO notecard to this format.
Please, open the Default - Sample from supplies notecard.
After opening it, you all see that it has several lines, and all those lines have the same structure.
That is:
First, between [ and ], it has a word, a very specific word that has to be written as you see there, with the spaces around, exactly as there.
Those special words, like Standing, Walking, Falling... correspond with the states that our avatars allow to have animated, and we have to write that exactly as we see there:
Then, after the closing ], we specify which animation corresponds to that state. That animation has to be in the inventory of our AO prim: In the same prim where the scripts are, and we have to use the same exact name that the animation has.
Many states only allow one animation, and ZHAO-II will complain if it finds one of these states having specified for it MORE than one animation. Fix the notecard is simple here: make that state have just an animation, as ZHAO-II indicates in its error message.
But a few allow several animations. When a state allows several animations, what the AO does is, usually, to cycle between them.
Which states have multiple animations allowed? Stands, walks, sits and ground-sits.
How do we assign more than one animation to the states that allow so?
As we can see in the notecard, simply separating each one of the animations we want for the stand, by the | (pipe) character, like the sample from the supplies that you have now open:
This means that, for the Walking state, ZHAO-II will cycle among the animations:
And that means also, that we should have those animations in the AO prim, OR THERE WILL BE RUN-TIME ERRORS (that are visible, AND VERY ANNOYING, for many users, in their local chat!)
Also important: the animation names can't have spaces between them and the | to join all of them in the same line.
Another note: the Standing state admits more than 12 animations (walks, sits and ground sits are limited to 12), but we have to add up to 12 per notecard line, as we can see in the example notecard open (to overcome a LSL limit about reading notecards):
NOTE: Where the pipe | character is located depends on our keyboard. Some keyboards have it pressing ALT GR + 1, others have it pressing SHIFT + BACKLASH. Check your keyboard configuration for this matter. As a last solution, you can always copy/paste it from this notecard: |
Ok up to here? Clear the format of the notecard, as a start?
Following is the complete list of states that can be animated for our avatar, updated to 2011-08-15, according to the wiki (source, here: http://wiki.secondlife.com/wiki/LlGetAnimation )
2014 note: This list remains valid nowadays.
Striding is when the avatar is stuck on the edge of an object or on top of another avatar. About Standing: After falling a long distance, the Landing animation state is skipped and the Standing Up state is used.
IMPORTANT: This means that additions from specific AO's, like turning when swimming or diving, are not a state controlled by a "normal AO script" (like ZHAO-II), but a specific extension of such an AO that also checks the water level in the timer (by using the llWater function: http://wiki.secondlife.com/wiki/LlWater )
Now... How do we "translate" our own AO notecard to this format?
Some AO's will make this task easy. Others will require more work from us. I've prepared several sample notecards that show different formats, and then included how the "translation" should be done.
The notecards (no modify/no transfer so you don't confuse them with the one you have to use in your AO) are:
The easiest case comes from AO's like Vista which, from the 2.0 version, use the same format that ZHAO-II expects, with a single exception: the [ Typing ] state, which is NOT acknowledged by this ZHAO version.
Open the Vista AO - Example and VISTA AO - For ZHAO-II notecards to see that the differences are minimal. Easy peasy, this case. But sometimes we'll have to do more work.
Close those notecards, and let's open now, to compare, the VISTA - Old Format Example and VISTA Old Format - For ZHAO-II notecards.
To mention an example, notice how the following block in the Vista - Old Format Example notecard:
has been translated to the following in a ZHAO-II notecard (Vista Old Format - For ZHAO II in your supplies, removing duplicate animations):
[ Standing ]casual stand 1|casual stand 2|casual stand 3
Similarly, we'd translate the rest. More work to do, but still, easy.
NOTE: When translating an AO notecard to ZHAO-II format, don't forget that only standing, walking, sitting and ground sitting are the states that allow us more than one animation, but none of the rest!
Some AO's may have a notecard format that differs a lot from the standard ZHAO-II format.
To illustrate this, we can check, for example, how the My AO Default - Example notecard refers to the normal and ground sits:
and how this should be written in our ZHAO-II notecard, as the MyAO Default - For ZHAO-II notecard shows:
There's another example in the supplies, GuyMocaps - Example which, as an example, has the walking animations as follows:
and this should be written this way in our ZHAO-II notecard, as the GuyMocaps - For ZHAO-II notecard shows:
Check these examples on your own in case you need it.
Once we're done getting ready our ZHAO-II notecard, wear the AO we've got ready with your animations.
Edit it, click the "Content" tab.
Rename the empty Default notecard from the AO included in the supplies to Empty (it's always a good idea to have a clean reference of the notecard format.) Supplies have also a copy of this empty notecard, Empty - Keep it as base to start with!
Drop this Default notecard we've created from our AO's configuration after translating to what ZHAO-II expects.
Close the "Edit" window.
Click the white "page" button from the AO. Select "Load" from the menu it shows, then select to load the Default notecard.
Ready to go.
Now, why have I insisted this much in having clear the format for the ZHAO notecard?
Because if we're using Emergence, Phoenix, Firestorm, Singularity... We may use a client side AO, and this client side AO requires a notecard with the SAME FORMAT that we've now studied, so all the work made before can be used for this too.
How do we make it work?
IMPORTANT 2014 NOTE: As time went by, each viewer has developed/polished their way of setting up a client side AO, and so the following information might be obsolete/inaccurate. Please DO REFER to the documentation of each viewer for the most current information, if what's explained below doesn't correspond to what your viewer shows. The text below is kept because that's how things worked back in 2011, for the sake of completion with class text, as explained in the opening.
First, we have to copy the ANIMATIONS AND THE ZHAO-II NOTECARD WE'VE CREATED in a special folder. The scripts are not to be copied there.
This folder depends on the viewer we use. So far, I've compiled this list:
Now, either click CTRL SHIFT O (letter o), or select Phoenix: AO / Emergence/AO / Singularity/Animation Override... from your menu.
That brings up a window.
Do you see a zone of that window saying Drop a ZHAO II Notecard here?
That's it: drag the notecard directly into that zone of the window. We're not done yet! But almost.
Now we have to click "Reload" to make sure the notecard is loaded (still, one more step to follow!)
There it is a "Override Anims" check box below the Reload button. We have to click it!
If we get warnings, that might mean that some animations we've said in the notecard are not in the viewer folder.
Once the notecard is loaded, then we can check clicking "More" for the default animation we want for each state, and if we want to randomly cycle among them. That's it all what we need to have the client side AO working.
And this is all!
You don't need to be ashamed of having an AO and walk like a duck anymore: Now you know how to be as glamorous as animations allow us, at low-lag cost!
-- Auryn Beorn
This class was written in September 2011. Since then, viewers like Emergence and Phoenix succumbed, so the bits referring to them can be safely skipped. I've kept them for the sake of completion, since this was the original material I used to teach. The text hasn't been updated, but hopefully some ideas will still remain interesting to know about. Please forgive my 2011-English (Of course, suggestions to correct it are more than welcome.)
Also, I've decided to set out the original supplies for this class in a box at the store, within the books section, for free. Head over here and get the class supplies if you wish to follow the practice. The items are inside a Black Tulip textured box.
LAG! YOUR ANIMATION OVERRIDER
Welcome everybody. I am Auryn Beorn and I'll be your instructor for this class.
It's a while since we're discussing in some classes about the sources of lag, and what we can do to avoid it the most possible (as much as us, as residents, can do about). It all began as an unique class that was intended for 90 minutes. It went for three hours and the AO topic had no time for being discussed, so I've finally found the moment to do it separately.
As you sure know, "lag" is the common word used to name a slow reaction time when we're using an online application, like Second Life, World of Warcraft... anything like this that you can think of.
The fact of existing a slow reaction time means that "something's happening", either at client side, or at server side. The reasons and main culprits are discussed in detail in the class "LAG! Every script counts" and will not be the focus for this class.
In other classes we see why the scripts are such a big deal, as well as which effects and properties assure us that we can remove scripts from the objects if necessary. Also, we all know about resizers being the evil, etc, etc, regarding the avatar appearance, more specifically.
This class is to study what an animation overrider is, and what we can do to create a low scripted animation override, as well as be conscious of why we're asked to take it off when in crowded places, among other details.
WHAT IS AN ANIMATION OVERRIDER?
When we all get to SL, we're gifted with walking like ducks and standing like robots.
We, as avatars, have a predefined set of states that can be animated: Walking, standing, sitting, jumping, turning to left, turning to right, crouching, hovering, etc.
But the default animations are not... How to say... Specially glamorous.
Not even human (I know nobody walking like ducks.)
So, since scripts allow to animate avatars, and scripts allow to control your avatar keys, people smarter than the designer of the default animations decided to script what is called an "animation overrider" (and better animators, to create decent animations.)
So there we have them again: if we want to walk like humans, we need to wear scripts attached.
WHY ARE THEY ALWAYS A TARGET OF THE REQUESTS FOR DETACHING SCRIPTS?
We know that an important problem we have with scripts is... If there are many, they fill quick the memory. That's why it's so important to proceed deleting as soon as we can the resizers, specially the older ones, with one script per child prim.
But sometimes, just reducing the script count is not enough. We may have an animation overrider that only needs from two scripts (and we're preparing such an AO here, at class), and still, 40 avatars wearing the AO is an issue.
What does the AO have that makes it being so painful?
A 0.25 seconds timer (or even more frequent!)
That means: Per avatar, the server needs to pay attention each 0.25 seconds to all of our animation overriders.
Why such a small time?
Because that's a reasonable time for the script detecting a change in our state, so it can stop the previous animation and run the appropriated one.
An example for what I mean with this: When we are walking, it doesn't make sense to play other than a walking animation. But as soon as we stop walking to, say, sit, the walking animation should be stopped, then the sitting one animation initiated. Those state changes happen quick, that's why the script needs to be asking for our current state so often. That's why nobody would program an AO script and give the timer 5 seconds, to reduce lag... The requirements for an AO mean a timer that runs quick.
So yes, we can cut down the total of scripts that our AO's have, and that will of course improve the memory usage for the server, but we still have the problem of the timer.
Still, to focus all what we're discussing here, let me try to advance the "sections."
On one hand, yes, because reducing the script count is important, we're seeing how to make a "script cut" version of our AO's, and we'll do it here.
But also... We've said that the AO is requesting each 0.25 seconds our state.
If we detach the AO, yes, problem solved.
But AO's can be deactivated, not needing to be detached.
If we get an AO that needs only two scripts (which is a good thing!), we could simply deactivate it when not needed, and that way, the timer, which is the biggest load for the server this time, won't be active also, right?
So one may wonder, when could we just deactivate a two-scripts-AO, to help with lag?
Like... Right now. We're all sitting, right?
So if we're all the time sitting, why make the server check each 0.25 seconds if we're sitting or not?
I mean, at class, to say an example, we're pretty much aware of when we're sitting (and for a long time! At least at my classes :P )
We could make an habit of this:
- Sit
- Deactivate AO
- Stand up
- Activate AO
(I know I have an animation active, but I'll say why in a moment)
There are many situations where we spend our SL's sitting on something:
- A chair
- A couch
- A poseball dancing
Why not deactivate the AO in those situations?
Just by doing that, we'll help a lot the server.
For each state, there are default animations. When we sit on a prim, by default, there's a sitting animation that will be activated on us. This can be changed by a script that starts a different animation than the default one.
So having the AO overriding poseballs scripts is not a good idea, since the poseballs themselves have a script to animate our avatar.
We're now completely aware that by creating a script-cut version of our AO plus getting the habit of deactivating the AO each time we *sit* (which is often), we're helping a lot reducing lag.
Also... Some viewers have a client side AO. That's even better!
Emergence, Phoenix, Firestorm and Singularity have client side AO.
That is what I'm using: the client side AO... So that's why I have my sitting animation on... :o)
Not because I was setting a bad example, but because I have the client AO on!
The client side AO relies on the bridge script, which all the users of those viewers always have on. So, since the viewer can take care of the keys we press and that script already can communicate with the server to be aware of state changes/notify of the new animation to play, why use an inworld AO?
Ok, so we've identified a problem: script count + timer.
We've thought about a possible solution: script cut + deactivate when not necessary/client side AO when possible.
CREATING A LOW-SCRIPTED VERSION OF OUR ANIMATION OVERRIDER
Usually, we don't need more functions from our animation overrider than actually... let it override the animations. Dances, facial gestures and other extras are not much needed at a class, shopping or maybe even roleplaying. Even the dances may be an option... as all the dance places already have danceballs... why overload the place with more scripts for that?
So we can create a low-scripted version for our animation overrider, that will cut the script count for it from the usual 20 scripts the AO's have, to only TWO. Now think on a crowded club, and think what if all the avatars use a cut-script version of their AO. We're talking about a serious reduction of the number of scripts. Not as spectacular as when we remove the resizer scripts, but yet, important.
And the best of all! We don't need to renounce to our animations. We don't need to walk like a duck in a club. So let's do *here* the work of creating this low-scripted version of our animation overrider. Once we're finished, you all will have an AO to choose, depending on how crowded do you expect to be the place.
I've chosen creating a couple of prims to hold within the open source animation overrider ZHAO-II, that you can find as the object "AO base (ZHAO interface)" included in the class supplies. All the animation overriders need from a notecard that tells which animations we're using for each state, and the ZHAO notecard type is, by far, the most widely used.
So... Let's begin with how to create a script-cut version of our AO. This work will be useful EVEN if we have a client side AO, since the notecard that we are going to create now has THE SAME FORMAT than the one the client AO requires.
If any of you has, by chance, a no copy AO attached, the following links contain two really basic AO from Vista that can purchase, so we can do the practice here, not risking your own AO at class!
For the girls: https://marketplace.secondlife.com/p/VA-VISTA-BASIC-FEMALE-AO-V08-basic-line/298453
For the guys: https://marketplace.secondlife.com/p/VISTA-MALE-BASIC-AO-V08-basic-line/298450
2014 NOTE: If you have a no copy AO, do not try to do this with it unless you're sure that there's no maintenance going on. One way to know if there's any kind of maintenance going on is by checking the SL status page. Keep in mind this: If there's any issue in the grid, it takes some time until LL are notified and they update the status page. If you notice any kind of inventory issues, or that you cannot attach/detach items... DO NOT REZ no copy items! Wait until you see an update announcement in the status page, and then refresh the page until making sure the issue is resolved.
What should we do, then?
Try not going ahead! We'll follow each step slowly.
Rez a copy of your own AO on the ground: It will be a small thing, so don't lose it from sight :-)
Not the AO from supplies: Your own AO.
Right click on your AO, and select "Open". It will take a moment to load everything.
Do we all have open a window that is loading a (most likely, long) list of animations, some scripts and notecards?
When you have that list loaded, click "Copy to Inventory".
That will make a whole copy in your inventory: once the copy is all done, you can take your AO back.
REZ the object "AO base (ZHAO interface)" from the class supplies and edit it.
Drop all the *animations* from your AO within the same prim that has the two scripts "ZHAO-II-core 7/29.1" and "ZHAO-II-interface 7/21.1".
Just the animations that we've copied in our inventory, at the moment. Let's wait a moment for the notecard.
Now we need to set the notecard.
Since this notecard we're setting is going to be full perms, we can do this step now in our inventory (we can drop FULL PERMISSIONS items within an attached HUD: it's only when the items are NOT full perms when we have to rez it to add contents.)
Before taking the AO back into your inventory, rename it to something that makes sense for you. For example, you can rename your HUD My Script-Cut AO before taking it into your inventory. This is just so you know this will be your script-cut AO with your animations.
Once renamed, take it.
The last step is editing a Default notecard, for it to be contained in the AO, so we can load it once finished, following a specific format.
Create a notecard in your supplies folder named Default.
You can choose other name if you wish, but keep in mind that this notecard name will appear as a button option in a dialog window, so DON'T USE more than 24 characters for the name of the notecard!
I've included several sample notecards in the supplies to show different formats that our AO's may be using: we'll refer to them later.
I've also included a notecard named Default - Sample from supplies: This one has the exact format that ZHAO-II expects from it. So let's study first the format of this notecard, and then we'll study how to "translate" our own AO notecard to this format.
Please, open the Default - Sample from supplies notecard.
After opening it, you all see that it has several lines, and all those lines have the same structure.
That is:
First, between [ and ], it has a word, a very specific word that has to be written as you see there, with the spaces around, exactly as there.
Those special words, like Standing, Walking, Falling... correspond with the states that our avatars allow to have animated, and we have to write that exactly as we see there:
[ Standing ] [ Falling ]etc.
Then, after the closing ], we specify which animation corresponds to that state. That animation has to be in the inventory of our AO prim: In the same prim where the scripts are, and we have to use the same exact name that the animation has.
Many states only allow one animation, and ZHAO-II will complain if it finds one of these states having specified for it MORE than one animation. Fix the notecard is simple here: make that state have just an animation, as ZHAO-II indicates in its error message.
But a few allow several animations. When a state allows several animations, what the AO does is, usually, to cycle between them.
Which states have multiple animations allowed? Stands, walks, sits and ground-sits.
How do we assign more than one animation to the states that allow so?
As we can see in the notecard, simply separating each one of the animations we want for the stand, by the | (pipe) character, like the sample from the supplies that you have now open:
[ Walking ]08WALKSEP4|08WALKELEGANT|08WALKSEP2HIPS|08WALKSEPBACK|08WALKHAPPY&SEXY|08WALKH&SHIP|08WALKH&Spocket|08WALKhead|sexywalk
This means that, for the Walking state, ZHAO-II will cycle among the animations:
08WALKSEP4 08WALKELEGANT 08WALKSEP2HIPS 08WALKSEPBACK 08WALKHAPPY&SEXY 08WALKH&SHIP 08WALKH&Spocket 08WALKhead sexywalk
And that means also, that we should have those animations in the AO prim, OR THERE WILL BE RUN-TIME ERRORS (that are visible, AND VERY ANNOYING, for many users, in their local chat!)
Also important: the animation names can't have spaces between them and the | to join all of them in the same line.
Another note: the Standing state admits more than 12 animations (walks, sits and ground sits are limited to 12), but we have to add up to 12 per notecard line, as we can see in the example notecard open (to overcome a LSL limit about reading notecards):
[ Standing ]VACOOL1.1xF|VACOOL1.2xF|VACOOL1.2bisxx|VACOOL1.3xF|VACOOL1.4xFx|cool27|VACOOL2.2F|VACOOL2.3xF2|VACOOL2.3x2F|VACOOL2.4FX|VACOOL30 [ Standing ]cool6Fbis|VACOOL9b|VACOOL9|cool4.2F1|cool4.2F|VACOOL4.4|cool7|cool6F08|VACOOL2.4Fxxx|VACOOL2.4Fxx2|VACOOL4.4FAUG2|VACOOL1
NOTE: Where the pipe | character is located depends on our keyboard. Some keyboards have it pressing ALT GR + 1, others have it pressing SHIFT + BACKLASH. Check your keyboard configuration for this matter. As a last solution, you can always copy/paste it from this notecard: |
Ok up to here? Clear the format of the notecard, as a start?
Following is the complete list of states that can be animated for our avatar, updated to 2011-08-15, according to the wiki (source, here: http://wiki.secondlife.com/wiki/LlGetAnimation )
Crouching Hovering Hovering Down Hovering Up Jumping PreJumping Running Sitting Sitting on Ground Standing Striding Standing Up Flying FlyingSlow Falling Down Landing Soft Landing CrouchWalking Turning Left Turning Right Walking
2014 note: This list remains valid nowadays.
Striding is when the avatar is stuck on the edge of an object or on top of another avatar. About Standing: After falling a long distance, the Landing animation state is skipped and the Standing Up state is used.
IMPORTANT: This means that additions from specific AO's, like turning when swimming or diving, are not a state controlled by a "normal AO script" (like ZHAO-II), but a specific extension of such an AO that also checks the water level in the timer (by using the llWater function: http://wiki.secondlife.com/wiki/LlWater )
Now... How do we "translate" our own AO notecard to this format?
Some AO's will make this task easy. Others will require more work from us. I've prepared several sample notecards that show different formats, and then included how the "translation" should be done.
The notecards (no modify/no transfer so you don't confuse them with the one you have to use in your AO) are:
ORIGINAL AO NOTECARD "TRANSLATED" AO NOTECARD -------------------------------------------------------------------- VISTA AO - Example VISTA AO - For ZHAO-II VISTA - Old Format Example VISTA Old Format - For ZHAO-II GuyMocaps - Example GuyMocaps - For ZHAO-II MyAO Default - Example MyAO Default - For ZHAO-II
The easiest case comes from AO's like Vista which, from the 2.0 version, use the same format that ZHAO-II expects, with a single exception: the [ Typing ] state, which is NOT acknowledged by this ZHAO version.
Open the Vista AO - Example and VISTA AO - For ZHAO-II notecards to see that the differences are minimal. Easy peasy, this case. But sometimes we'll have to do more work.
Close those notecards, and let's open now, to compare, the VISTA - Old Format Example and VISTA Old Format - For ZHAO-II notecards.
To mention an example, notice how the following block in the Vista - Old Format Example notecard:
:: [ Standing 1 ] :: casual stand 1 :: [ Standing 2 ] :: casual stand 2 :: [ Standing 3 ] :: casual stand 3 :: [ Standing 4 ] :: casual stand 1 :: [ Standing 5 ] :: casual stand 2
has been translated to the following in a ZHAO-II notecard (Vista Old Format - For ZHAO II in your supplies, removing duplicate animations):
[ Standing ]casual stand 1|casual stand 2|casual stand 3
Similarly, we'd translate the rest. More work to do, but still, easy.
NOTE: When translating an AO notecard to ZHAO-II format, don't forget that only standing, walking, sitting and ground sitting are the states that allow us more than one animation, but none of the rest!
Some AO's may have a notecard format that differs a lot from the standard ZHAO-II format.
To illustrate this, we can check, for example, how the My AO Default - Example notecard refers to the normal and ground sits:
[Sit.N]D1479-Sit.N,D1480-Sit.N,D1481-Sit.N,D1482-Sit.N,D1483-Sit.N,D1184-Sit.N [Sit.G]D1485-Sit.G (185cm),D1486-Sit.G (185cm),D1487-Sit.G (185cm),D1488-Sit.G (185cm),D1489-Sit.G (185cm),D1490-Sit.G (185cm)
and how this should be written in our ZHAO-II notecard, as the MyAO Default - For ZHAO-II notecard shows:
[ Sitting ]D1479-Sit.N|D1480-Sit.N|D1481-Sit.N|D1482-Sit.N|D1483-Sit.N|D1184-Sit.N [ Sitting On Ground ]D1485-Sit.G (185cm)|D1486-Sit.G (185cm)|D1487-Sit.G (185cm)|D1488-Sit.G (185cm)|D1489-Sit.G (185cm)|D1490-Sit.G (185cm)
There's another example in the supplies, GuyMocaps - Example which, as an example, has the walking animations as follows:
a,cartwheel,drunkwalk2,fliprun,handstdwalk,MDHUskip,morpheuswalk,mwalk2MC,mwalking1,mwalking3,mwalking4,mwalking2
and this should be written this way in our ZHAO-II notecard, as the GuyMocaps - For ZHAO-II notecard shows:
[ Walking ]cartwheel|drunkwalk2|fliprun|handstdwalk|MDHUskip|morpheuswalk|mwalk2MC|mwalking1|mwalking3|mwalking4|mwalking2
Check these examples on your own in case you need it.
Once we're done getting ready our ZHAO-II notecard, wear the AO we've got ready with your animations.
Edit it, click the "Content" tab.
Rename the empty Default notecard from the AO included in the supplies to Empty (it's always a good idea to have a clean reference of the notecard format.) Supplies have also a copy of this empty notecard, Empty - Keep it as base to start with!
Drop this Default notecard we've created from our AO's configuration after translating to what ZHAO-II expects.
Close the "Edit" window.
Click the white "page" button from the AO. Select "Load" from the menu it shows, then select to load the Default notecard.
Ready to go.
CLIENT SIDE ANIMATION OVERRIDER
Now, why have I insisted this much in having clear the format for the ZHAO notecard?
Because if we're using Emergence, Phoenix, Firestorm, Singularity... We may use a client side AO, and this client side AO requires a notecard with the SAME FORMAT that we've now studied, so all the work made before can be used for this too.
How do we make it work?
IMPORTANT 2014 NOTE: As time went by, each viewer has developed/polished their way of setting up a client side AO, and so the following information might be obsolete/inaccurate. Please DO REFER to the documentation of each viewer for the most current information, if what's explained below doesn't correspond to what your viewer shows. The text below is kept because that's how things worked back in 2011, for the sake of completion with class text, as explained in the opening.
First, we have to copy the ANIMATIONS AND THE ZHAO-II NOTECARD WE'VE CREATED in a special folder. The scripts are not to be copied there.
This folder depends on the viewer we use. So far, I've compiled this list:
Emergence #emergence Phoenix #Phoenix Singularity #Phoenix FireStorm #FireStorm/#AO
Now, either click CTRL SHIFT O (letter o), or select Phoenix: AO / Emergence/AO / Singularity/Animation Override... from your menu.
That brings up a window.
Do you see a zone of that window saying Drop a ZHAO II Notecard here?
That's it: drag the notecard directly into that zone of the window. We're not done yet! But almost.
Now we have to click "Reload" to make sure the notecard is loaded (still, one more step to follow!)
There it is a "Override Anims" check box below the Reload button. We have to click it!
If we get warnings, that might mean that some animations we've said in the notecard are not in the viewer folder.
Once the notecard is loaded, then we can check clicking "More" for the default animation we want for each state, and if we want to randomly cycle among them. That's it all what we need to have the client side AO working.
And this is all!
You don't need to be ashamed of having an AO and walk like a duck anymore: Now you know how to be as glamorous as animations allow us, at low-lag cost!
-- Auryn Beorn
Labels:
Black Tulip,
My classes,
Tutorial
Subscribe to:
Posts (Atom)

















