Avatar 2.0
Introduction
We are often to ask ourselves who we are and why are you here, lacking a defined meaning to build our own persona as we came to existence in Second Life. We may choose limited set of default avatar's shape and skin, but are still bounded to the very same "Ruth" avatar mesh, which has plagued us so dearly since 2002. It may be hard to realize it has been 8 years since any improvement to avatar mesh. Only minor changes recently were new tattoo and alpha layers. In last 8 years, game technologies has changed numerous times, more than we can count. Model contents grew with such astounding details. Characters are becoming more realistic and packed with appeal outfits. To put it plainly, we're due for a new avatar mesh to keep up with today standards.
There are no question that we could provide much more tangibleness features. To impact us in a way we communicate, portrait, and express ourselves more than what we're have been missing out. In between relationship of another person online and yourself.
- "Great, but we could do that with Rigged Mesh Import."
- True, and this is just another reason why we must make a determination whither it's a good idea or not. How big is the file size of this mesh? How much PE (prim-equivalent) are you able to work with? Would it slow down data traffic network in Second Life? How would Avatar 2.0 help or make any difference? Also, we must be aware how many skin/clothes designers are going to build their own rigged mesh avatar to be compatible with their fashion line-ups. How many different avatar could or would they make? How many are willing to build a personal custom-made just for you?
- "What if I don't want rigged mesh import nor the new Avatar 2.0 mesh, will I be able to keep my old avatar?"
- It may be possible to keep or even replace it whole. With roughly same conformed shape that's not noticeably by untrained eyes.
File Memories Size
This discussion would not be about how much glamors we can get out of, nor how much features we could possibility get. What goes on the servers, affects everyone to use it. So we must ask which would help us deal with traffic load between clients, sim servers, network system, and Second Life's database servers. Let's break down technical spec for current information.
- Rigged Mesh
- Probability memories size of having 1 rigged mesh on a avatar (basic nude body), at maxim PE score of 256.
- Exported with OpenCOLLADA are roughly about 43 MB
- Exported with AutoDesk's FBX/COLLADA are roughly about 54 MB
- After uploaded to SL, may varies between 0.3MB to 20MB depending on how mesh are built.
- Probability memories size of having 1 rigged mesh on a avatar (basic nude body), at maxim PE score of 256.
- Avatar 1.0
- Rough estimate of a normal Avatar shape file via XML (which currectly used to transfer between client and server) are about 0.2 MB
While there are no concept how much more data in Avatar 2.0's shape file we would like, which could easily double up twice the setting and still stay below half of a megabyte.
However, unlikely majority of residents wearing a mesh worth 50k polygons for casual social life. An educated guess of a typical average polygon count for a decent avatar mesh by today standard are roughly around 20,000 to 8,000 polygons, which brings file size down to 6-1 MB. Falcon & Nyx Linden have written their own compression packet which used for uploading DAE file to the server. Compression ratio percentage have stated to be around 1byte per face (polygon). (This may not be actuate as developments goes on.)
Total memories size for Mesh Import may not weight as much, as far it goes not taking separate mesh for all 3 customized Level of Details (LOD) and its physical boundary box unaccounted. May raise memories size up to 9-2MB all together. (Compression unaccounted for.)
Legacy & 2.0 Skin (UV Mapping) Support
Last thing Linden Lab would like to do is making all existing skin and clothes textures incompetent and making creation more complicated for beginners. A proposal suggestion are UV map switching for Avatar 2.0 mesh. Generally speaking, to have two version of Avatar 2.0 mesh with UV map based on legacy avatar 1.0 UV map and other in a proper and professional tight to reserve many texture area of a image. Switch UV map mode via Skin layer item with a checkbox set by the creator. (A example shown on the right to compare UV map for SL's avatar chest piece and a professional-made game character.) There are no actual development of Avatar 2.0 mesh yet, thus there are no plans how Avatar 2.0's UV map layout. This would be an open-discussion with skin developers.
We could do more with Avatar 2.0 in UV map by adding the rest of the limbs, which we was unable to do. Currently, legacy avatar could only have one sided foot and one sided arm plus hand. Apart from the skin itself, we could only have one sided eye as well.
Normal, Specular, & Displacement Mapping
A Normal Map are for creating fake high geometry detail when it's mapped onto a much lower res mesh. The pixels of the normal map each store a normal, a vector that changes the surface slope of the original high mesh counterpart. The red, green, and blue channels of the normal map are used to control the direction of each pixel's normal. When a normal map is applied to a much lower mesh, the texture pixels control the direction each of the pixels on the lower mesh will be creating the illusion of more surface detail or better curvature. However, the silhouette of the model doesn't change. In displacement mapping, the surface is actually modified, in contrast to bump mapping where only the surface normal is modified. This means that displacement mapped surfaces will show the effect even at the silhouette. Giving you the need to extend its silhouette shape beyond slider's setting in shape appearance editor with more control of its details.
Simply said specular mapping is how “shiny” an object appears. You can set different values to make objects more or less shiny in a grey-scale texture. Higher values make the highlights more spread out on the object surface, in a way like in metal objects, while a lower value makes highlights more dull spot-like plastic/brick surfaces.
- Possibilities use of normal, specular, & displacement Mapping for avatar...
- Robotic
- Cyborgs
- Lizard-humanoids
- Body-builders
- Burnt/Scars
- Mutations
- Aliens
- Outfits
- Oily Skins and more.
Animation & Expression
Could we make a Mona Lisa's smile expression without using creepy wacko smile? The current set of expression haven't been updated since the beginning of its time, apart from adding voice mouth-speaking animation patch update. There are only 19 face expression and it has proven to be quite limited, or even hardly used for that matter. Must take this opportunity to improve as we work on Avatar 2.0, much as we could support legacy animations.
Let's not ask for some extremely complex details of face expression like MotionScan technology. It's already too much for Linden Lab to handle this sort of information in daily use over the internet. We need to simplify the basic needs of expression. Instead of providing a list of existing face expressions like we always have had. Provide short list of each face nodes, which in combination we can form together a unique face expression.
Face Nodes | Description |
---|---|
Right_Brow | Right side of the temple for anger/sad/surprised. |
Left_Brow | Left side of the temple for anger/sad/surprised. |
Center_Brow | Between two brows for main brows expression. |
Left_Eyelid | Left eye for tired or shocked expression. |
Right_Eyelid | Right eye for tired or shocked expression. |
Center_Face | Large area around the nose and mouth for anger/frown displacement across front teeth. |
Mouth_Corners | Main expression for happy and sad. |
Left_Cheek | Used for winking left eye, grinning or yelling. |
Right_Cheek | Used for winking right eye, grinning or yelling.. |
Lips_Shape | Used for making difference between "Ah" and "Oh" mouth. |
Jaw_Level | Either for chewing, dropping jaw, or whistling a tune with "Oh" Lips shape. |
Tongue | French Kissing? |
We also could use fingers animation to boot. However, must we use full bones structure or simplify down to most basic use? This is open to discussion.
Humanoid, Anthropomorphic, and Extended Shapes
Another thing we need to keep an open-minded discussion for people who wishes to be other than humanoid. Generally speaking for those wanted extra limbs, pair of wings, and/or a tail. This is open for discussion how to transcend between a humanoid Avatar 2.0 into one of the followings.
Some anthropomorphic creatures have reversed limb joints, some have a beak, some have distinctive facial features such as feline nose, horns, dog ears, fangs... etc etc. Possibilities of switching segments of the head into one of the following species with supporting face expression and shape settings.
For extended shapes where current shape sliders in appearance are lacking finer details. Apposed one could tweak muscles details from buffed to wired, chubby to blob and folds, smooth to veins-popping-out, nipples density, furs, lizard-scales, bare to manly-hairy, with the help from DirectX/OpenGL shader effects (along with Normal, Specular, & Displacement mapping).
Body Physic
We have breasts, belly, and rear bottom ends body physic currently at the moment. However, we can not assign range of the body part to become flexible with movement. While keeping in mind this is only client-side physic, would have no physic interacting with world-in objects.
The idea is to customize body physic to greater degree. Such as flabby arms, legs, ears, and maybe some melting mutilation zombie. Even old men have swagging jowls.
I apposed a suggestion in using UV Mapping on RGB 128x128 textures to assign those body part with its assignment info toward nearest vertices. Ditching slider for gravity, which we always have the same gravity force. No point in using more gravity when you could properly tune each parts with the textures. Only keep one last slider for Max Effect to each texture assignments.
Channels | Assignments |
---|---|
Red Channel | Damping |
Green Channel | Spring |
Blue Channel | Gain |
Alpha Channel | Mass |
Texture size for this requirement should be 128x128 and not more. To keep traffic load lighter than it need to be.
Hair
Ladies and Fabio-like wannabe Men have long burning desire to feel winds blowing through their hair since the dawn of time in Second Life.
Physic? Maybe not.
We can always stick to simple tried-and-true flexible hair seen across most videogames.
Currently (and almost forgotten) we have what some call it "a bubble hair with little flairs" linden's hair.
There's no better way to improve hair without having some sort of segments of hair lockets, which used to create in 3Ds Max, Maya, Daz and any other high-ends software. So for this case, we'll have to keep the "bubble" hair to support legacy avatars and pray for flexi feature support in Mesh instead. Allowing us to replace linden hair's model with user-created mesh prim without taking up Skull attachment point. This too, can be open for discussion.