<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
Hi Justin,<br>
I have opened an issue (<span style="color: rgb(0, 0, 0);
font-family: Verdana, Arial, Helvetica, sans-serif; font-size:
13px; font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;
background-color: rgb(216, 216, 216); display: inline !important;
float: none; ">0005924) in Bug tracker and added a patch to it.<br>
Thanks<br>
Sat<br>
<br>
</span>On 3/7/2012 6:24 PM, satguru p srivastava wrote:
<blockquote cite="mid:4F57FC4E.6080109@mchsi.com" type="cite">Hi
Justin, I will go ahead a post a patch. I am not familiar enough
with the code base to take up any kind of refactoring. I will
leave that to you :)
<br>
Thanks
<br>
Sat
<br>
<br>
On 3/6/2012 8:21 PM, Justin Clark-Casey wrote:
<br>
<blockquote type="cite">Hi satguru, This was not done
deliberately. If you could post a patch to Mantis with the hack
that would be much appreciated. I would probably end up
refactoring the code so that both LLClientView and NPCAvatar
call a single method but you don't need to do that yourself
(unless you want to :).
<br>
<br>
On 07/03/12 01:10, satguru p srivastava wrote:
<br>
<blockquote type="cite">Ok, I downloaded and checked the source.
<br>
After some digging around I was able to see what was
happening.
<br>
Made some quick and dirty changes and was able to make the NPC
play internal animations!! How about that !!
<br>
<br>
Before I explain what I found let me first state that I was
pleasantly surprised by how smooth the whole process of
<br>
setting up and building the project was.
<br>
I was dreading a complicated setup and a large build time.
<br>
The setup was simple and the build pretty fast, usually less
than a minute.
<br>
Thank you developers for making this so easy.
<br>
<br>
Anyway here is what I found.
<br>
If the animation specified in an animation function does not
exist in the prim then the server checks to see if there is
<br>
an internal animation with that name.
<br>
If it finds one then it passes its UUID to the client else it
passes UUID.Zero.
<br>
<br>
For normal avatar this is done, I think, by class
"OpenSim.Region.ClientStack.lindenUDP.LLClientView" method
<br>
GetDefaultAnimation(string name)
<br>
This basically checks against the animations listed in the
"data/avataranimations.xml" file
<br>
<br>
For NPC this is done by
"OpenSim.region.OptionalModules.World.NPCAvatar" method
GetDefaultAnimation(string name)
<br>
For some reason this does not perform any check and always
returns UUID.Zero.
<br>
<br>
I copied the method code from LLClientview to NPCAvatar and
was able to make the NPC Avatar play internal animations.
<br>
<br>
Now I am not sure if the code was intentionally written this
way and if not then if the hack which I did was the proper
<br>
way to solve this.
<br>
Hope some developer helps out with this.
<br>
<br>
Thanks
<br>
Sat
<br>
<br>
<br>
On 3/5/2012 9:41 PM, satguru p srivastava wrote:
<br>
<blockquote type="cite">I think I will download the source
code and have a go at it.
<br>
Thanks
<br>
Sat
<br>
<br>
<br>
On 3/5/2012 9:08 PM, Gudule Lapointe wrote:
<br>
<blockquote type="cite">I am not quite sure about the
detailed protocol between server and client for animation,
so I would be happy if
<br>
someone smarter on this field can confirm or correct...
<br>
<br>
What I am sure is
<br>
- client can play the animation if it's included in the
client software or sent by the server
<br>
- script can send the animation only if it's inside the
prim where the script resides.
<br>
That is: first steps needed to animate an avatar
<br>
<br>
After the avatar has confirmed and accepted the animation,
there is a protocol, which is certainly more complicate,
<br>
to deploy this animation to other viewers, (exchange of
UUID / animations, updates on moves, whatever…). But it
would
<br>
occur only once the avatar has confirmed it can handle the
animation
<br>
<br>
So, it sounds logical to me that the avatar can be
animated only if it's own client owns the animation.
<br>
<br>
-- <br>
<a class="moz-txt-link-freetext" href="http://www.speculoos.net/">http://www.speculoos.net/</a>
<br>
<a class="moz-txt-link-freetext" href="secondlife://speculoos.net:8002/">secondlife://speculoos.net:8002/</a>
<br>
Speculoos, the belgian cookie-flavored metaverse
<br>
<br>
Le 6 mars 2012 à 03:46, satguru p srivastava a écrit :
<br>
<br>
<blockquote type="cite">I guess I must be dense :(
<br>
I still do not get it.
<br>
<br>
Below is how I think the animation system works.
<br>
Let me know where I am wrong.
<br>
I have a Avatar or a NPC with an attachment.
<br>
The attachment has script which plays an animation using
an animation function like llStartAnimation().
<br>
Now like any other script, the script when triggered,
will run on the server side. (Right ?)
<br>
When the server encounters the animation function the
server will send a message to the client asking it to
play an
<br>
animation with that UUID
<br>
If the client has an animation with that UUID it will
animate the Avatar or NPC with that animation else it
will ask
<br>
the server to send the animation and will animate when
it receives it.
<br>
If the animation is internal animation and if it is, as
you say, part of the client then the client already has
it
<br>
and should be able to animate the Avatar/NPC
<br>
<br>
Sorry to belabor this but it seems I am obviously
missing a major concept and would like to figure out
what :))
<br>
<br>
Thanks
<br>
Sat
<br>
<br>
<br>
On 3/5/2012 7:55 PM, Gudule Lapointe wrote:
<br>
<blockquote type="cite">Obviously, everything runs on
client side, that's the point of a client ;-)
<br>
<br>
I think what was meant is that internal animations are
part of the client, not loaded from server.
<br>
<br>
As your NPC is not controlled by a client, it doesn't
have these animations at disposal, unless you put them
in
<br>
your script's prim.
<br>
<br>
-- <br>
<a class="moz-txt-link-freetext" href="http://www.speculoos.net/">http://www.speculoos.net/</a>
<br>
<a class="moz-txt-link-freetext" href="secondlife://speculoos.net:8002/">secondlife://speculoos.net:8002/</a>
<br>
Speculoos, the belgian cookie-flavored metaverse
<br>
<br>
Le 6 mars 2012 à 02:48, satguru p srivastava a écrit :
<br>
<br>
<blockquote type="cite">Garmin,
<br>
<br>
Thanks for pointing out the BVH files.
<br>
121 files!!
<br>
A bit of a pain uploading them :)
<br>
You also loose the per bone priorites which you get
with internal/default animations.
<br>
Also I am assuming that user loaded animations are
not as efficient as internal ones. Right?
<br>
<br>
I am still curious why the internal animations do
not play.
<br>
As far as I know all animations run on client side.
<br>
The triggers for animation can come from client side
(example when a users presses a key to make the
avatar walk)
<br>
or from server side (example when if it is being
called from script).
<br>
NPCs animations are triggered from scripts.
<br>
How is this different from Avatar animations being
triggered from scripts ?
<br>
<br>
Thanks
<br>
Sat
<br>
<br>
<br>
<br>
On 3/5/2012 5:34 AM, Garmin Kawaguichi wrote:
<br>
<blockquote type="cite">True, Trinity! User Playable
Internal Animations are serverside; you cannot use
them with NPCs but...
<br>
... the BVH files corresponding to the Internal
Animation are at :
<br>
<a class="moz-txt-link-freetext" href="http://static-secondlife-com.s3.amazonaws.com/downloads/avatar/bvh_files.zip">http://static-secondlife-com.s3.amazonaws.com/downloads/avatar/bvh_files.zip</a>
<br>
as it is specified in the SL Wiki :
<a class="moz-txt-link-freetext" href="http://wiki.secondlife.com/wiki/Internal_Animations">http://wiki.secondlife.com/wiki/Internal_Animations</a>
<br>
GCI
<br>
<br>
----- Original Message -----
<br>
*From:* Trinity
<a class="moz-txt-link-rfc2396E" href="mailto:trinity93@gmail.com"><mailto:trinity93@gmail.com></a>
<br>
*Sent:* Monday, March 05, 2012 6:58 AM
<br>
*Subject:* Re: [Opensim-users] NPC and
internal Animations
<br>
Because some animations are built into the
viewer and npcs dont use a viewer and perhaps for
security
<br>
reasons. Im not really completely sure to be
honest.
<br>
<br>
<br>
<br>
_______________________________________________
<br>
Opensim-users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
<br>
</blockquote>
_______________________________________________
<br>
Opensim-users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
<a class="moz-txt-link-rfc2396E" href="mailto:Opensim-users@lists.berlios.de"><mailto:Opensim-users@lists.berlios.de></a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
<br>
</blockquote>
<br>
<br>
<br>
_______________________________________________
<br>
Opensim-users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
<br>
</blockquote>
_______________________________________________
<br>
Opensim-users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
<a class="moz-txt-link-rfc2396E" href="mailto:Opensim-users@lists.berlios.de"><mailto:Opensim-users@lists.berlios.de></a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
<br>
</blockquote>
<br>
<br>
<br>
_______________________________________________
<br>
Opensim-users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
<br>
</blockquote>
<br>
<br>
_______________________________________________
<br>
Opensim-users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
<br>
</blockquote>
<br>
<br>
_______________________________________________
<br>
Opensim-users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
<br>
</blockquote>
<br>
<br>
</blockquote>
_______________________________________________
<br>
Opensim-users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
<br>
<br>
</blockquote>
</body>
</html>