[sldev] [HELP] Character/Avatar Engine]

Ian Wilson ian at neon.ai
Mon Jan 7 17:48:18 PST 2008


Thanks for the detailed info, it helps a lot.

I wanted to generally get a feel for how modular the system was. So if 
we wanted to change the entire avatar body system we could (or not) 
using a different model system, different skeleton system and different 
"morph" control system.

As a first stage we will update the client to change the behavior of the 
local avatar but then we would want to transmit those changes (using 
some custom messages) to other avatars using the updated client system. 
This, of course, is also another point of concern in the project.

Do you have anything written up on your work with lip syncing? That 
might be a useful guide for what we are looking at.

I also noted that the SL team were working on implementing inverse 
kinematics which would be an entirely new system, but that has been 
mothballed while scale/stability issues are fixed. Is that code 
available anywhere perhaps?

Ian

Mike Monkowski wrote:
> Ian Wilson wrote:
>> Mike, apologies, I have to be a little vague at this point for a 
>> couple of reasons, the project is not yet fully spec'd and the 
>> project is for a client so I am not able to mention too much about 
>> what is being planned at this stage. But that is a temporary problem.
>>
>> To be a little more detailed, we require a skeleton and meshes that 
>> can be driven/deformed procedurally. Animations will not be used (or 
>> will be blended into the procedural system movements). It is also 
>> possible that we require much more detailed models with more joints 
>> and more advanced "meshes".
>>
>> Initially we will investigate the current system and see how far it 
>> can be tweaked but if anyone has already looked at this system (as 
>> your detailed knowledge seems to indicate) it could save us a good 
>> deal of time and pain.
>>
>> Ian
>
> All viewers currently use the same mesh for every avatar.  The 
> appearance is changed using morphs.  The server sends a fixed length 
> vector of morph values to the client to set the morph amounts.
>
> There's no requirement that you use this information in your viewer if 
> you don't mind seeing something other than what everyone else does.  
> You can ignore the animations sent from the server if you don't mind 
> all of the avatars moving as rigid figures.
>
> If you want to do procedural animation in your viewer that no one else 
> will see, you can do that.  The physics system uses an ellipsoid for 
> collisions, not any aspect of the avatar pose, so only the location of 
> the avatar is important to the server.
>
> I guess the main point is that you can swap out anything you want in 
> the viewer, but only you will see the effects.  No other viewers can 
> be informed of what you see.
>
> For example, I am using morphs to do lip sync on the client, but only 
> my viewer shows the lips moving.  Of course, I hope to get the lip 
> sync into the standard viewer so everyone can use it, but everyone 
> will still see their own representation computed locally.
>
> Mike
>


More information about the SLDev mailing list