Re: [Algorithms] Representing Animation Key Frame with Quaternion + Translation Vector
Brought to you by:
vexxed72
From: Cedric P. <mor...@pl...> - 2008-06-26 22:06:46
|
Hi, I was just curious if it's used mostly or not, and why. Cedric Jason Hughes wrote: > Cedric, > > For what it's worth, it's the only way to do hardware skinning on one > of the current gen consoles. I'll give you three guesses which. > > Yes, it works. But it also means that if you want to shift skinning > over to the GPU, you have to do it in several times the number of > batches, because you explode the number of matrices requires (because > they're a combination of ALL the weights and ALL the bone matrix > requirements for a whole vertex). For a last-gen game with relatively > few verts and relatively few matrices, it's probably a good trade > off. If your game has 200+ bones and several thousand verts and > allows for >3 bone skinning per vertex, you may be looking at close to > half as many matrices as you have vertices, depending on how your art > is generated. The artist has almost no feel for how many matrices > they're effectively creating given standard tools at their disposal, > as well. > > But there's nothing wrong with it, if it works for you. > > JH > > Cedric Pinson wrote: >> Hi, >> Interesting topic, i am currently doing skinning and i would like to >> have some other point of views. I use similar technique from >> http://www.intel.com/cd/ids/developer/asmo-na/eng/172124.htm >> 1 - in the pre process i identify set of vertex by uniq transform set >> (eg v0 v1 and v2 are transformed by bone1 and bone2 with the weight1 and >> weight2). >> >> 2 - Then i have a flaten list of transform by vertex group to update >> each frame eg: >> so to have the final transform (in animation space) for the set of >> vertex ( v0, v1,v2) i have to collapse ( transform bone1 * w1 + >> transform bone2 *w2) >> >> 3 - Then in cpu or gpu i have to do only one matrix * the vertex. >> Because previous work computed the concatenation of matrix, it reduces >> the number of matrix needed in the vertex shader. >> >> the method is describe here, >> http://www.intel.com/cd/ids/developer/asmo-na/eng/172124.htm >> What do you think about that ? >> >> Cedric >> >> Jon Watte wrote: >> >>> Lim Sin Chian wrote: >>> >>> >>>> Just wondering if anyone has done this before and whether it is really >>>> better in terms of performance and accuracy. >>>> >>>> >>> I'm under the impression that everybody does that. Not only does it save >>> space (assuming you don't need scale), but it also interpolates much >>> better. Interpolating between two frames with a matrix looks pretty >>> crufty. The only thing to watch out for is to make sure you go the >>> "short way" around -- dot product the two quaternions, and if the >>> outcome is negative, negate all the values of the destination. >>> >>> To compose quaternions, you just multiply them. Because it's a >>> rotation-translation pair, if it's parent relative, then you apply the >>> parent rotation to the child translation, and then apply your own >>> rotation around that point. >>> >>> Sincerely, >>> >>> jw >>> >>> >>> ------------------------------------------------------------------------- >>> Check out the new SourceForge.net Marketplace. >>> It's the best place to buy or sell services for >>> just about anything Open Source. >>> http://sourceforge.net/services/buy/index.php >>> _______________________________________________ >>> GDAlgorithms-list mailing list >>> GDA...@li... >>> https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list >>> Archives: >>> http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list >>> >>> >> >> > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > ------------------------------------------------------------------------ > > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list -- +33 (0) 6 63 20 03 56 Cedric Pinson mailto:mor...@pl... http://www.plopbyte.net |