situationsolved

solved  时间:2021-01-17  阅读:()
Page1of4DanMorris'snoteson:EigenSkin:RealTimeLargeDeformationCharacterSkinninginHardwarePaulKry,DougJames,DineshPaiThebigpictureoWehavesome"skeleton"thatweknowhowtomovearound.
Intheirexample,it'sactuallytheskeletonofahand,butitcouldbeanysetoffixedrigidobjectsthatareattachedtoeachother.
Thewholepaperassumesthatmovingthesethingsaroundisasolvedproblem.
oWehavesome"softtissue"ontopoftheskeleton.
Weknowwhereeachvertexisatrest,butwewanttoputitatanice-lookingplaceasthebonesmovearound.
Notopologychanges,nonewverticesorremovedvertices.
SSD(skeletal-subspacedeformation)oWhat'sthesimplestpossibleapproachtomovingverticesaroundwithanunderlyingskeletonTheabsolutesimplestapproachistosaythateachvertexisjustattachedtoonebone,andwhereverthatbonemoves,thevertexmoveswithit.
Inotherwords,eachvertexstoresitspositionrelativetooneofthebonesandisrenderedinthelocalreferenceframeofthatbone.
I'llcallthis"stupidskeletaldeformation".
What'swrongwiththisTypicallytissuesactuallydeformasanunderlyingbonemovesaround,especiallyneartheintersectionoftwobones.
Thismethoddoesn'tcapturethis(verticesnevermoverelativetotheirneighbors),sotissueneverdeforms,andsometissuewouldjustpenetrateinsideneighboringtissuewhenajointmoved.
Thisisexactlythesameasusingyourfavoriterigidmeshclasstorepresentverticesandskippingthebonealtogether.
JustrotateandtranslateyourCMesh'sinsteadofyourbones.
Figure1:The"Morrisalgorithm"for"stupidskeletaldeformation.
"Eachstraightlineisabone,andeachcurveisasofttissuemesh,inwhicheachvertexis"attached"toexactlyonebone.
Notethatthesofttissuespenetrateeachother.
ThesituationwouldbeevenmessierifIdidn'thavethebigdiscontinuityinthemiddleofthe"surface".
Page2of4oWhat'sthenextstepupfromthisLet'ssayeachvertexstoresacouplepiecesofinformation…ifI'mavertex,Iknowwhichbonesmightaffectmyfinalposition,howfarIamfromeachofthosebonesatrest,andhow"important"eachboneisindecidingmyfinalposition(i.
e.
Istorea"weight"foreachbone).
WhenIgotorendermyself,Ileteachbone"vote"formycurrentposition,likethis://Mypositioninworldspacepositionp=(0,0,0);foreachbonethataffectsme{findthisbone'scurrenttransformation(positionandrotation);findmyownpositionrelativetothisboneatrest;transformthispositionintotheglobalreferenceframe;multiplythisglobalpositionbymy"weight"forthisbone;addthispositiontop;};glVertex3f(p.
x,p.
y,p.
z);This(Ithink)isthe"skeletalsubspacedeformation"algorithm(SSD)It'simportantthatverticesnearajointhaveroughlyequalweightsforbothbonestheylivenear.
Verticesinthemiddleoftheboneareprobablyaffectedonlybythatbone.
Theeffectisthatthere'snofunnyself-collision,sinceverticesnearthejointsareinterpolatedbetweenjoints.
Infact,forthispaper,theirSSDweightsarejustderivedbasedondistancetoabone…ifI'mclosetoaboneinanearest-pointsense,itgetsahighweight.
Asbonesgetfartheraway,theygetlowerweights.
Abovesomethresholddistance,abonedoesn'taffectmeatall.
oSSDisgoodenoughforalotofapplications.
It'seasytoimplementandavoidscertainawkwardself-collisions.
Page3of4oAnothernicepropertyofSSDisthattheonlythingsIhavetodoonlineforeachvertexareadditionsandmultiplicationsofsomeknownconstants.
Theonlythingsthatchangefromvertextovertexarethevertexpositionandtheweight,whichmakesthisreallyeasytodoinavertexshader(Icanfeedtheweightinatextureorwhatever).
Iputtherelevantbonepositionsinglobalmatrices,andsendawholebunchofverticesdownthepipe.
EigenskinoButtheauthorsarenothappywithSSD…ithasnophysicalbasisandgivesstrange"bulging"deformationsnearjoints.
oSoI'mgoingtoproposeanewapproach,called"theMorrisalgorithmforstupidvertexsuperposition".
ForgetSSDentirely,andtrytodothis:Runasuper-fancyFEMsimulationofyourskeletonoffline,andtrackthepositionofeachvertexinawholebunchofdifferenthandpositions.
Trytolearnsomesetofweightsateachvertexthattellsyouthepositionofthatvertexasalinearfunctionofeverybonepositionandrotation.
Whenyourenderinreal-time,justmultiplytheweightsbythebonepositions/rotationsandvoila,youhavevertexpositions.
oConceptually,thisisokay.
Inpractice,it'sjusttoomuchinformationtorepresentwithlinearsuperpositionandsimpleweights,andthelearningproblemisjusttoohard.
oInstead,theauthorsrealizethatSSDis"prettyclose".
Soinsteadoftryingtogoofflineandbuildalinearmapfrombonepositiontovertexposition,theyjustplantorunSSDonline,anduseafancyofflinesimulatortobuildalinearmapfrombonepositiontoSSDerror.
Soooooooclever.
oThenwhenwerunitonline,wejusthaveafewmoremultiplicationstodo,butwestillbasicallyhaveasimplelinearfunctionwithlimitedper-vertexdatathatwecanruninavertexshaderprogram.
oInfact,usingofflinesimulationtolearnSSDerrorinsteadofabsolutepositionisthekeyinsightinthispaper.
ThelearningitselfisbasicallyjustSVD:Foreachjoint,collectabunchofsample"poses"(boneconfigurations)andalltheassociatedvertexpositionsfromyourfancyFEMprogram(theycleverlyonlyusetheverticesthatareaffectednoticeablybymovingagivenjoint).
RemembertowritevertexpositionsasoffsetsfromwhatyouwouldgetifyouusedSSD.
PutallthevertexpositionsforeachposeinabigmatrixTaketheSVDofthatmatrix.
Nowyouhaveasetof"eigendisplacements"(fundamentaldisplacementscausedbymovingthisjoint)and–foreachPage4of4vertex–itsexactdisplacementineachposeintermsoftheseeigendisplacements.
Again,rememberthatdisplacementsareallrelativetotheSSD-basedpositions.
AswealwaysdowithSVD,throwoutthelowsingularvaluesandalltheirassociateddisplacements.
Weusuallydoittosavespace,butherewedoitbecausewehavealimitednumberofmultiplicationswecanperforminthegraphicshardwarethatwe'reultimatelygoingtouseforrendering.
Afootnote…notethatIsay"foreachjoint"atthebeginningofthisbulletedlist.
Theychoosetorepresenteachvertex'sdisplacementduetoeachjointindependently,sothismethodwouldn'tworkiftherewerecomplexornon-lineareffectsinvolvingmultiplejoints.
oWhenwerendereachvertex,we'llloaduptheeigendisplacementbasis(whichwegotfromourSVD)forthatvertexandthecurrentboneconfigurationforrelevantbones,andletthehardwaredothelinearsuperposition.
Thenwe'llrunSSDandaddtheresulttowhatwegotfromoureigenstuff.
oOneinterestingpointcomesupthat'srelatedspecificallytotheimplementationingraphicshardware.
Foreachvertex,Icanonlyfit64floats(atthetime)ofper-vertexdata,plussomeglobaldatathatdoesn'tchangefromvertextovertex(likematrixtransformations).
TheyconcludethatIcanfitroughly10eigendisplacementspervertex.
SohowdoIallocatethatspaceIfavertexwasaffectedbyjustonesinglebone,Iwoulduseall10spotstostoredisplacementsrelatedtothatbone(meaningIcouldusethefirst10singularvaluesfrommySVD).
Ifavertexisaffectedbytwobones,doItakefivesingularvalues(eigendisplacements)fromeachboneIcould,orIcoulddofourandsix,basedonthemagnitudeoftherelevantdisplacementsorsingularvalues.
Theydon'treallyspeculateonthatmuch,buttheydoimplyintheirconclusionthattheyendupusingjustoneortwosingularvaluesfromeachjointforagivenvertexinsomecases(probablybecausethatvertexwasaffectedbyfiveortendifferentjoints).

物语云-VPS-美国洛杉矶VPS无限流量云windows大带宽100M不限流量 26/月起

物语云计算怎么样?物语云计算(MonogatariCloud)是一家成立于2016年的老牌国人商家,主营国内游戏高防独服业务,拥有多家机房资源,产品质量过硬,颇有一定口碑。本次带来的是特惠活动为美国洛杉矶Cera机房的不限流量大带宽VPS,去程直连回程4837,支持免费安装Windows系统。值得注意的是,物语云采用的虚拟化技术为Hyper-v,因此并不会超售超开。一、物语云官网点击此处进入物语云...

MineServer:香港CMI/洛杉矶GIA VPS,2核/2GB内存/20GB NVME/3.5TB流量/200Mbps/KVM,288元/年

mineserver怎么样?mineserver是一家国人商家,主要提供香港CN2 KVM VPS、香港CMI KVM VPS、日本CN2 KVM VPS、洛杉矶cn2 gia端口转发等服务,云服务器网(yuntue.com)介绍过几次,最近比较活跃。现在新推出了3款特价KVM VPS,性价比高,香港CMI/洛杉矶GIA VPS,2核/2GB内存/20GB NVME/3.5TB流量/200Mbps...

HostYun 新增美国三网CN2 GIA VPS主机 采用美国原生IP低至月15元

在之前几个月中也有陆续提到两次HostYun主机商,这个商家前身是我们可能有些网友熟悉的主机分享团队的,后来改名称的。目前这个品牌主营低价便宜VPS主机,这次有可以看到推出廉价版本的美国CN2 GIA VPS主机,月费地址15元,适合有需要入门级且需要便宜的用户。第一、廉价版美国CN2 GIA VPS主机方案我们可看到这个类型的VPS目前三网都走CN2 GIA网络,而且是原生IP。根据信息可能后续...

solved为你推荐
主机租赁租电脑押金多少?海外主机租用国外服务器租用有几十块钱一年的么域名备案查询如何查网站备案信息国外空间租用国内和海外空间 域名 服务器托管 租用me域名me域名好不好用?香港虚拟空间香港空间,香港虚拟主机,香港虚拟空间推荐一家,公司要做一个网站,需要1G的,不限流量的,其它的空间不要jsp虚拟空间自己组建jsp虚拟主机运营,技术方面有哪些要求?国内最好的虚拟主机国内安全性最好的虚拟主机空间商有哪些?虚拟主机服务商请问哪个服务商的虚拟主机比较好呀美国免费虚拟主机美国虚拟主机怎么样?美国虚拟主机那个比较好?
免费网站空间 虚拟主机是什么 高防直连vps 联通c套餐 technetcal 韩国俄罗斯 siteground java主机 godaddy 美国php空间 mysql主机 777te 福建铁通 cxz 什么是web服务器 服务器论坛 群英网络 免费网络空间 后门 mteam 更多