Re: Finding the best pose to re-enter animation graph from ragdoll
Chris Green <[email protected]> Wed, 19 Dec 2012 19:53:58 +0000
| Newsgroups | gmane.games.devel.algorithms |
|---|---|
| Message-ID | <E38D1C1385D38045A01B28E88043427E02D53C@exchange10.valvesoftware.com> |
--===============8364582478333836191== Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_E38D1C1385D38045A01B28E88043427E02D53Cexchange10valveso_" --_000_E38D1C1385D38045A01B28E88043427E02D53Cexchange10valveso_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I'd think you'd want to compare not just the static configuration of the po= se but also the point/joint velocities. Your ideal choice will be one where= not only the pose matches well, but the body parts are also moving at simi= lar directions and speeds to the ragdoll's current state. From: Ben Sunshine-Hill [mailto:[email protected]] Sent: Friday, December 14, 2012 2:35 AM To: Game Development Algorithms Subject: Re: [Algorithms] Finding the best pose to re-enter animation graph= from ragdoll Ironically, that paper actually compares joint orientations instead of poin= t clouds. For point cloud-based pose similarity estimation, Kovar's origina= l motion graph paper is probably a good reference. http://pages.cs.wisc.edu/~kovar/mographs.pdf Ben On Thu, Dec 13, 2012 at 9:12 PM, Michael De Ruyter <michael.deruyter@gmail.= com<mailto:[email protected]>> wrote: Also with the triangle normal idea, a notion of distance is missing, so you should add something like distance hips - hand, hips - foot, foot - foot, etc to your comparison algorithm if u were to try this method. Though since there is already a paper on the point cloud approach, it's probably safer to start with it. Sent from my iPhone On 2012-12-13, at 12:47 PM, Richard Fine <[email protected]<mailto:rfine@tbrf.= net>> wrote: > On 12/13/2012 8:09 PM, Michael De Ruyter wrote: > >> - when comparing local quaternions for the joints, the comparison will t= ake into >> account the twist around the limbs even though any amount of twist doesn= 't >> change the position of the limb. Therefore you could get drastic differe= nces >> when visually there are barely any. > > True in the general case, but I'm using a hierarchical setup, so a twist > in an upper arm can drastically change the position/orientation of a > forearm and so on. It matters less and less as you approach the leaf > nodes, but this is something I intended to eliminate with weighting. > >> - even if the joint orientation are different the position of the limbs, >> especially their endings like hands of feet, could still be in very clos= e >> positions, i.e. potentially closer than limbs with similar rotations but= with >> their root joint (shoulder for instance) off by a bit. You mention weig= hting >> system, but that is going to be a pain to tune. > > Ah, yes, OK. I'd assumed that a pose with leaf-node discrepancies would > be less visually different than one with trunk-node discrepancies, but > that's not a sound assumption. > > This sounds like it would be a problem for *any* hierarchy-based > approach, so anything based on comparing local-space positions is > probably a non-starter. > >> An other approach would be to find a comparison algorithm that compares = the >> overall position of the limbs. >> >> For instance you could consider; >> - modeling triangles based of significant body joints, for instance >> + hips, shoulder, hand >> + hips, hand, foot >> + hips, shoulder, shoulder >> >> Then use the normal of those triangles for your pose comparison. >> >> You would still need to make the normals relative to the hips and then u= se a >> hips orientation comparison process. > > Right OK. Sounds similar to the point cloud approach, maybe a little > less prone to small discrepancies, as using the normal instead of the > joint positions would equate similar triangles. > > Cheers! > > - Richard > > -------------------------------------------------------------------------= ----- > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > _______________________________________________ > GDAlgorithms-list mailing list > [email protected]<mailto:[email protected]= urceforge.net> > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_name=3Dgdalgorithms-li= st ---------------------------------------------------------------------------= --- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ GDAlgorithms-list mailing list [email protected]<mailto:[email protected]= ceforge.net> https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list Archives: http://sourceforge.net/mailarchive/forum.php?forum_name=3Dgdalgorithms-list --_000_E38D1C1385D38045A01B28E88043427E02D53Cexchange10valveso_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr= osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:= //www.w3.org/TR/REC-html40"> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"= > <meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)"> <style><!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:Tahoma; panose-1:2 11 6 4 3 5 4 4 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman","serif";} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:purple; text-decoration:underline;} span.EmailStyle17 {mso-style-type:personal-reply; font-family:"Calibri","sans-serif"; color:#1F497D;} .MsoChpDefault {mso-style-type:export-only; font-family:"Calibri","sans-serif";} @page WordSection1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in;} div.WordSection1 {page:WordSection1;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--> </head> <body lang=3D"EN-US" link=3D"blue" vlink=3D"purple"> <div class=3D"WordSection1"> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D">I’d think you’= ;d want to compare not just the static configuration of the pose but also t= he point/joint velocities. Your ideal choice will be one where not only the pose matches well, but the body parts are also moving at similar direc= tions and speeds to the ragdoll’s current state.<o:p></o:p></span></p= > <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D"><o:p> </o:p></span><= /p> <p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:"= ;Tahoma","sans-serif"">From:</span></b><span style=3D"font-s= ize:10.0pt;font-family:"Tahoma","sans-serif""> Ben Suns= hine-Hill [mailto:[email protected]] <br> <b>Sent:</b> Friday, December 14, 2012 2:35 AM<br> <b>To:</b> Game Development Algorithms<br> <b>Subject:</b> Re: [Algorithms] Finding the best pose to re-enter animatio= n graph from ragdoll<o:p></o:p></span></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">Ironically, that paper actually compares joint orien= tations instead of point clouds. For point cloud-based pose similarity esti= mation, Kovar's original motion graph paper is probably a good reference.<o= :p></o:p></p> <div> <p class=3D"MsoNormal"><o:p> </o:p></p> </div> <div> <p class=3D"MsoNormal"><a href=3D"http://pages.cs.wisc.edu/~kovar/mographs.= pdf">http://pages.cs.wisc.edu/~kovar/mographs.pdf</a><br> <br> Ben<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal"><o:p> </o:p></p> </div> <div> <div> <p class=3D"MsoNormal">On Thu, Dec 13, 2012 at 9:12 PM, Michael De Ruyter &= lt;<a href=3D"mailto:[email protected]" target=3D"_blank">michael.= [email protected]</a>> wrote:<o:p></o:p></p> <p class=3D"MsoNormal">Also with the triangle normal idea, a notion of dist= ance is missing,<br> so you should add something like distance hips - hand, hips - foot,<br> foot - foot, etc to your comparison algorithm if u were to try this<br> method.<br> <br> Though since there is already a paper on the point cloud approach,<br> it's probably safer to start with it.<br> <br> Sent from my iPhone<o:p></o:p></p> <div> <div> <p class=3D"MsoNormal"><br> On 2012-12-13, at 12:47 PM, Richard Fine <<a href=3D"mailto:[email protected]= et">[email protected]</a>> wrote:<br> <br> > On 12/13/2012 8:09 PM, Michael De Ruyter wrote:<br> ><br> >> - when comparing local quaternions for the joints, the comparison = will take into<br> >> account the twist around the limbs even though any amount of twist= doesn't<br> >> change the position of the limb. Therefore you could get drastic d= ifferences<br> >> when visually there are barely any.<br> ><br> > True in the general case, but I'm using a hierarchical setup, so a twi= st<br> > in an upper arm can drastically change the position/orientation of a<b= r> > forearm and so on. It matters less and less as you approach the leaf<b= r> > nodes, but this is something I intended to eliminate with weighting.<b= r> ><br> >> - even if the joint orientation are different the position of the = limbs,<br> >> especially their endings like hands of feet, could still be in ver= y close<br> >> positions, i.e. potentially closer than limbs with similar rotatio= ns but with<br> >> their root joint (shoulder for instance) off by a bit. You m= ention weighting<br> >> system, but that is going to be a pain to tune.<br> ><br> > Ah, yes, OK. I'd assumed that a pose with leaf-node discrepancies woul= d<br> > be less visually different than one with trunk-node discrepancies, but= <br> > that's not a sound assumption.<br> ><br> > This sounds like it would be a problem for *any* hierarchy-based<br> > approach, so anything based on comparing local-space positions is<br> > probably a non-starter.<br> ><br> >> An other approach would be to find a comparison algorithm that com= pares the<br> >> overall position of the limbs.<br> >><br> >> For instance you could consider;<br> >> - modeling triangles based of significant body joints, for instanc= e<br> >> + hips, shoulder, hand<br> >> + hips, hand, foot<br> >> + hips, shoulder, shoulder<br> >><br> >> Then use the normal of those triangles for your pose comparison.<b= r> >><br> >> You would still need to make the normals relative to the hips and = then use a<br> >> hips orientation comparison process.<br> ><br> > Right OK. Sounds similar to the point cloud approach, maybe a little<b= r> > less prone to small discrepancies, as using the normal instead of the<= br> > joint positions would equate similar triangles.<br> ><br> > Cheers!<br> ><br> > - Richard<br> ><br> > ----------------------------------------------------------------------= --------<br> > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial<br= > > Remotely access PCs and mobile devices and provide instant support<br> > Improve your efficiency, and focus on delivering more value-add servic= es<br> > Discover what IT Professionals Know. Rescue delivers<br> > <a href=3D"http://p.sf.net/sfu/logmein_12329d2d" target=3D"_blank">htt= p://p.sf.net/sfu/logmein_12329d2d</a><br> > _______________________________________________<br> > GDAlgorithms-list mailing list<br> > <a href=3D"mailto:[email protected]">GDAlgorithm= [email protected]</a><br> > <a href=3D"https://lists.sourceforge.net/lists/listinfo/gdalgorithms-l= ist" target=3D"_blank"> https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list</a><br> > Archives:<br> > <a href=3D"http://sourceforge.net/mailarchive/forum.php?forum_name=3Dg= dalgorithms-list" target=3D"_blank"> http://sourceforge.net/mailarchive/forum.php?forum_name=3Dgdalgorithms-list= </a><br> <br> ---------------------------------------------------------------------------= ---<br> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial<br> Remotely access PCs and mobile devices and provide instant support<br> Improve your efficiency, and focus on delivering more value-add services<br= > Discover what IT Professionals Know. Rescue delivers<br> <a href=3D"http://p.sf.net/sfu/logmein_12329d2d" target=3D"_blank">http://p= .sf.net/sfu/logmein_12329d2d</a><br> _______________________________________________<br> GDAlgorithms-list mailing list<br> <a href=3D"mailto:[email protected]">GDAlgorithms-lis= [email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list" = target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/gdalgorithms= -list</a><br> Archives:<br> <a href=3D"http://sourceforge.net/mailarchive/forum.php?forum_name=3Dgdalgo= rithms-list" target=3D"_blank">http://sourceforge.net/mailarchive/forum.php= ?forum_name=3Dgdalgorithms-list</a><o:p></o:p></p> </div> </div> </div> <p class=3D"MsoNormal"><o:p> </o:p></p> </div> </div> </body> </html> --_000_E38D1C1385D38045A01B28E88043427E02D53Cexchange10valveso_-- --===============8364582478333836191== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d --===============8364582478333836191== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ GDAlgorithms-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list Archives: http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list --===============8364582478333836191==--