Jump to content

General SL Idea - Make scripts change avatar size


Recommended Posts

Anyone who has ever sat on a chair, danced with another avatar, or taken a ride in a boat will know that many times your animations/poses do not perfectly fit.

My idea is that a product designed with animation/pose can also have a script to resize avatars to the exact size designed by the animator. You would get the prompt, "This object would like to resize your avatar to match animations," and if they agree to it they would be resized and be completely synched with the animation. Hands would hold hands. Lips would kiss lips. Everything would touch together correctly instead of floating or passing through each other. Once you stop using the animation the script would resize you back to your original size.

Sound like a good idea? Is it impossible to put this into the viewer?

  • Like 3
  • Haha 2
  • Sad 1
Link to comment
Share on other sites

It could be slightly complicated if the attachments the Avatar has might then not fit and also need to be resized... Mesh clothes obviously would resize with the avatar but things like shoes and hats wouldn't.

Some items of furniture offer an adjustment menu to allow you to reposition yourself and obtain an optimal fit too the furniture.

Link to comment
Share on other sites

24 minutes ago, Bree Giffen said:

Anyone who has ever sat on a chair, danced with another avatar, or taken a ride in a boat will know that many times your animations/poses do not perfectly fit.

My idea is that a product designed with animation/pose can also have a script to resize avatars to the exact size designed by the animator. You would get the prompt, "This object would like to resize your avatar to match animations," and if they agree to it they would be resized and be completely synched with the animation. Hands would hold hands. Lips would kiss lips. Everything would touch together correctly instead of floating or passing through each other. Once you stop using the animation the script would resize you back to your original size.

Sound like a good idea? Is it impossible to put this into the viewer?

The only way this would work is if the script caused the region to force a new shape onto the avatar.

It would work about as well as you would expect that to work. Even just scaling an avatar in select proportions would have some serious problems for anyone more than a few percent out. Uniformly shrinking and growing an avatar keeping all proportions intact wouldn't have the desired result.

It would make people look weird, if not objectively weird, then weird to the owner of the avatar plunging them instantly into the uncanny valley. That weirdness feeling would be proportional to the amount of change required to get from their normal avatar to the furniture's intended avatar.

Keep in mind, SL avatars are way too realistic. The only reason we're ok with them is we look at them all day long. We have broken our brains by brute forcing it to be comfortable with them. You know that feeling when you try on a new different mesh head and it can take a while to really be ok with it .. that's what's happening.

Link to comment
Share on other sites

Just now, Rowan Amore said:

roblox-promo-codes-january-2021.jpg

Hardly.

Roblox is adding human avatars. With clothing and dress up AND a full deformer that makes stuff just fit whatever avatar body you have.

Given them another year and they will have us dead in the water.

image15

image19

  • Haha 1
Link to comment
Share on other sites

8 minutes ago, Coffee Pancake said:

Hardly.

Roblox is adding human avatars. With clothing and dress up AND a full deformer that makes stuff just fit whatever avatar body you have.

Given them another year and they will have us dead in the water.

image15

image19

I'll pass.

  • Like 3
Link to comment
Share on other sites

23 minutes ago, Rowan Amore said:

I'll pass.

These are ugly developer test clothing items, for example the jacket mesh is actually smaller than the shirt

also note

GrB2e6u.png

the SAME shirt can be tucked in to pants or not

Once this rolls out to content creators (and they have way more than we do), you can expect some amazing end results.

We're stuck in a world where buying a new body demands you retire vast swathes of your wardrobe.

 

The only thing we have is a more permissive moderation free environment, but as roblox's users mature that will also change for them. They have a long vision and fully intend to grow with their userbase.

We don't even have a roadmap.

 

Link to comment
Share on other sites

Just now, Coffee Pancake said:

These are ugly developer test clothing items, for example the jacket mesh is actually smaller than the shirt

also note

GrB2e6u.png

the SAME shirt can be tucked in to pants or not

Once this rolls out to content creators (and they have way more than we do), you can expect some amazing end results.

We're stuck in a world where buying a new body demands you retire vast swathes of your wardrobe.

 

The only thing we have is a more permissive moderation free environment, but as roblox's users mature that will also change for them. They have a long vision and fully intend to grow with their userbase.

We don't even have a roadmap.

 

I'm not saying the concept is bad.  In fact, it's awesome.  However, by the time the user base matures enough for me to want to participate, I'll probably be too old to see just how wonderful it is.  The majority of players are still under 18 so again...I'll pass.

Here’s the age distribution of Roblox’s user base:

Age group Share (among DAUs)
Under 9 25%
9-12 29%
13-16 13%
17-24 16%
25+ 14%
  • Like 3
Link to comment
Share on other sites

13 minutes ago, Rowan Amore said:

Given them another year and they will have us dead in the water.

It looks possible to add something like this to SL, on existing content. I've been discussing this over on GameDev.net. There, others with background in the math involved have commented. There are some hard problems to be solved, but they're not impossible.

I'm focusing here on the "peek through" problem. The goal is that when you put on an item, if it fits properly in the neutral pose (pose stand position) it will fit in all joint positions. The layers underneath would get compressed a bit, and vertices would be added to meshes, to make this work. No need for alpha layers. No mods required to existing items.

All this would be done by a "mesh baking server". It would be done at the same time BOM textures are baked, probably by the same server. All the meshes that make up a character go in, and new, slightly tweaked temporary meshes come out. Like BOM baked textures, they live for the duration of the login. If you change shape sliders, this rebake has to occur as you end edit mode.

How would this work? Informally, additional points would be added to mesh attachments and skins around tight spots. New points on the  inner layer would be given rigging weights taken from the outer layer, so they move in sync with the outer layer and never poke through it. Exactly how to do that is a reasonably hard problem, and if you want to discuss it, please contribute to the discussion on GameDev.

Roblox is going further than this, with explicit "cage meshes" added by creators, but they don't have a huge inventory of existing mesh clothing to support, so their approach is a bit different.

The viewer mods required for this should be similar to those for Bakes On Mesh - fetch the data from a different URL for avatars. Server side, it's a big, but self-contained, program within the BOM server system.

There's also an avatar optimization opportunity during this bake. Since the baking system has both mesh and textures, it can do optimizations. For lower levels of detail, simplify the mesh, but use the normals from the high LOD, so fine detail doesn't entirely go away, it just goes into the normal map. The entire avatar (or, probably, the usual head/upper/lower parts) could be combined into single meshes, like a game character. Lower LODs could look good, which means avatars only have to go to high LOD when really close. This would speed up rendering in clubs and other crowded places.

Nice side benefit: for the first time, something server-side knows about the visual geometry of avatars. So there could be an LSL data server request for useful info like character height, pelvis to seat distance, pelvis to back distance, etc., so sit scripts could adjust the position for character dimensions. Built-in sit could do that, too.

Now, ordinarily this would be a tough sell to LL management. But this time it's different. Management level summary: The competitor with a $50 billion market cap is about to surpass SL in character quality, which was SL's edge. Time to do something or get trampled.

  • Like 2
  • Thanks 1
  • Haha 1
Link to comment
Share on other sites

14 minutes ago, Coffee Pancake said:

They are intentionally moving to broaden that demographic ahead of their user base. Their metaverse aspirations require that.

Yes. From the Roblox S-1 filing with the Securities and Exchange Commission:

   

Platform Extension:    We are continually investing in the Roblox Platform, including significant investments in high fidelity avatars, more realistic experiences, 3D spatial audio technology, and other social features. These investments should enable Roblox to support human co-experience in the entertainment, learning and business markets. For example, developers will be able to build and host virtual concerts, classrooms, meetings and conferences on Roblox.

 

   

Age Demographic Expansion:    As a result of platform extension, developers, and creators are now able to build higher quality experiences and content that appeals to an older age demographic. We believe there is significant potential for us to increase our penetration and engagement across all age demographics. We ultimately aim to be a brand that serves all ages. An early sign of what is possible: DAUs from our 17 to 24-year-old user age group grew faster than our core under 13 age group in the year ended December 31, 2020.

 

Roblox already has more users over 21 than SL does. Just because of their sheer size.

 

Link to comment
Share on other sites

Are there designated areas for anyone over 18? Personally, I'd prefer interacting with adults and not children.  I'm not even referring to anything adult in nature.  Just the social interaction with grown ups which is what a lot of people enjoy about SL.  I don't hang out socially with children in RL so I'd rather not do so online.  I barely interact with people under 30 on SL.  

Incorporating aspects of Roblox into SL would be great.  Thinking masses of people will abandon SL for it?  Not going to happen IMO.

 

  • Like 4
Link to comment
Share on other sites

1 hour ago, Coffee Pancake said:

Keep in mind, SL avatars are way too realistic. The only reason we're ok with them is we look at them all day long. We have broken our brains by brute forcing it to be comfortable with them. You know that feeling when you try on a new different mesh head and it can take a while to really be ok with it .. that's what's happening.

30 minutes ago, Coffee Pancake said:

Roblox is adding human avatars. With clothing and dress up AND a full deformer that makes stuff just fit whatever avatar body you have.

Given them another year and they will have us dead in the water.

I'm confused. They'll "have us dead in the water" by making human avatars "way too realistic" only moreso?

Anyway, I probably have wandered deep into uncanny valley, unconscious as realism crept in. I mean, I was perfectly happy with the system avatars when I started in 2006, and now I'm happy (-ish) with mesh avatars that are much more realistic. If I hadn't boiled my own frog for a decade and a half, I'm sure 2006 me would be aghast at 2021 Qie.

As to scripted avatar deformation: seems to me it's not the avatars that are too primitive, but rather the animations that are just clumsy joint-bending, mindlessly mimicking the side-effect of the intent expressed by the motion.

  • Like 1
Link to comment
Share on other sites

This is not the solution to the problem. I am a bit passionate about this. Allow me to explain.

There is a standard way of overcoming this issue that most game engines use, called Animation Constraints. But first you have to understand a little bit about the problem:

Why don't our hands line up when we play our hand holding animation?

The vast majority of animations in SecondLife are FK (Forward Kinematics) animations. SecondLife has a bone heirachy starting from the Pelvis. In an FK animation, there is no target that the bone is pointing to.

 To get your hand in position, the Torso bones, shoulder, upper arm, lower arm and finally wrist are rotated by specific degrees on each axis. Where the hand ends up is unpredictable because these are fixed rotations and the length of your bones varies based on your shape.

How do we overcome this?

Game Engines would use IK (Inverse Kinematics) animations. In an IK animation, we do not specify the rotation of each joint in the chain, but rather we declare a point in space where we would like our hand to end up. The computer automatically calculates the rotations necessary to achieve the desired pose, responding to your shape automatically.

We use a system of constraints to define where these targets in space are. Sometimes constraints are relative to other bones on our own body, sometimes they are relative to the ground. Sometimes they are relative to moving points in space (Such as grabbing a door handle)

The Original Lindens Knew

Things are about to get very nerdy (as if they weren't already). The Lindens who created the animation system knew about inverse kinematics and bone constraints. The .anim file format the Lindens created, supports bone constraints (to an extent). In fact, the default noob animations that play when you have no AO use them!

So why aren't we using them?

So far the main animation tools that people use to create animations for SecondLife do not support the constraints feature that SecondLife has. Whilst Blender itself supports IK and constraints, The Avastar plugin that people export them with does not. Tools such as Qavimator do not support them either.

So all the main third party animation tools can't take advantage of this feature built into SecondLife.

Frustrated with this, I made a tool once to read and write animation file data, just to see how they work.

A Linden who perhaps doesn't know much about the animation format has at some point broken ground constrained animations.

There are also some limitations [1] [2] of the format currently, that I have made suggestions to the Lindens in the past to fix.

Edited by Extrude Ragu
missing link
  • Like 3
  • Thanks 2
Link to comment
Share on other sites

3 hours ago, Bree Giffen said:

Anyone who has ever sat on a chair, danced with another avatar, or taken a ride in a boat will know that many times your animations/poses do not perfectly fit.

My idea is that a product designed with animation/pose can also have a script to resize avatars to the exact size designed by the animator. You would get the prompt, "This object would like to resize your avatar to match animations," and if they agree to it they would be resized and be completely synched with the animation. Hands would hold hands. Lips would kiss lips. Everything would touch together correctly instead of floating or passing through each other. Once you stop using the animation the script would resize you back to your original size.

Sound like a good idea? Is it impossible to put this into the viewer?

No, thank you. I'd rather resize the oversized furniture to fit my av rather than make my av fit the furniture. My avatar is not 8 feet tall either, just under 5' 9" at 5.89 feet, not meters. As for the anims, if the scripts don't come with an adjuster, as long as it's mod I'll yank those scripts out and put AVsitter 2.0 in instead.

Leave my avatar alone. It took years to get it this way! 😛

  • Like 4
Link to comment
Share on other sites

8 hours ago, Bree Giffen said:

Anyone who has ever sat on a chair, danced with another avatar, or taken a ride in a boat will know that many times your animations/poses do not perfectly fit.

My idea is that a product designed with animation/pose can also have a script to resize avatars to the exact size designed by the animator. You would get the prompt, "This object would like to resize your avatar to match animations," and if they agree to it they would be resized and be completely synched with the animation. Hands would hold hands. Lips would kiss lips. Everything would touch together correctly instead of floating or passing through each other. Once you stop using the animation the script would resize you back to your original size.

Sound like a good idea? Is it impossible to put this into the viewer?

I don't think it's possible, but I do love to play along.

I will insist that your magic resizing script only shrink my dance partner to fit with my normal human proportions instead of turning me into Gigantor to fit with his.  Since I choose to be human, I'll need that partner of mine with the horse head to have it squished down for kissing animations.  Also, if I send in my .25 sized avatar, I'll need that werewolf shrunken to ferocious puppy size for reasons.

  • Like 2
Link to comment
Share on other sites

I didn't even consider IK because I thought that was completely unsupported in SL. If LL could somehow fix IK usage in SL that might be a better solution than resizing avatars.

Still, I understand why people wouldn't want to be resized even if it fixed animations. I think Qie defined what my problem is with SL animation. It presents and uncanny valley of movement that just irks me terribly. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...