的變形那樣的側(cè)斜。
[0087]塊1304、1306和1308可重復(fù)任意次數(shù)以確定凸起操作導(dǎo)致的塊1302處訪問(wèn)的角色裝配的其它最高點(diǎn)的位置。
[0088]應(yīng)該理解的是,處理1300可與本文描述的任意其它處理結(jié)合使用。例如,取決于多個(gè)MOS變換的皮膚變形(例如,凸起操作)可利用處理900進(jìn)行配置,手動(dòng)內(nèi)矢量可利用處理600進(jìn)行配置。這些可用作處理1300的輸入,其可將配置的凸起操作應(yīng)用在與附接的MOS曲線正交的方向。
[0089]7M0S變形計(jì)算-封閉曲線
[0090]許多MOS結(jié)構(gòu)(例如手指、臂、腿等)形成了打開曲線。這些打開的曲線可以具有不在公共點(diǎn)相遇的開端和尾端為特征。換言之,這些打開的曲線不連接在一起以形成環(huán)路。然而,這些打開的曲線可不總是足以使得包含環(huán)路(例如腰帶、戒指、圍繞眼睛的皮膚最高點(diǎn)的環(huán)等)的對(duì)象動(dòng)畫化。因此,可能期望利用具有連接在一起以形成環(huán)路的開端和尾端的封閉曲線來(lái)表示對(duì)象。然而,在利用傳統(tǒng)MOS變形技術(shù)執(zhí)行皮膚變形時(shí),由于計(jì)算變形的方式的原因,處理封閉曲線可能有問(wèn)題。
[0091]如圖示,圖15示出了示例的打開MOS曲線1510,其形狀由MOS最高點(diǎn)(未示出)確定。MOS最高點(diǎn)的位置可由MOS變換1501-1508控制。在該圖示的示例中,MOS曲線1510不具有打開形狀,因?yàn)榕cMOS變換1501 —致的MOS最高點(diǎn)未連接至與MOS變換1508 —致的MOS最高點(diǎn)(例如,借助于未被設(shè)置的“封閉”標(biāo)志)。結(jié)果是形成了 MOS變換1501和1508之間的空隙1512。圖16圖示了由相同MOS變換1501-1508和MOS最高點(diǎn)形成的示例的封閉曲線1610。然而,與MOS變換1501和1508 —致的MOS最高點(diǎn)可連接在一起(例如,借助于被設(shè)置的“封閉”標(biāo)志),得到具有封閉形狀的MOS曲線1610。
[0092]在執(zhí)行MOS變形時(shí),可以計(jì)算表示表達(dá)為四元數(shù)或變換的空間定向的幀。可通過(guò)首先確定MOS變換的扭曲軸來(lái)確定這些幀。扭曲軸可以是將一個(gè)MOS變換連接至下一個(gè)MOS變換的矢量。利用這些扭曲軸,可通過(guò)確定靜止位置中的每個(gè)變換處的引入的扭曲軸和引出的扭曲軸之間的自由空間旋轉(zhuǎn)來(lái)計(jì)算每個(gè)MOS變換的基本幀。該靜止位置表示封閉曲線的起始位置。例如,腰帶的靜止位置可以是一個(gè)不扭曲的胚珠形狀?;編稍诿總€(gè)MOS變換處依次計(jì)算并且可參考之前的基本幀進(jìn)行表達(dá)。例如,引入的扭曲軸和引出的扭曲軸之間的確定的自由空間旋轉(zhuǎn)可被應(yīng)用至之前的變換的基本幀,以獲取當(dāng)前變換的基本幀。
[0093]為了圖示,采用圖15所示的曲線1510作為例子,基本幀的計(jì)算可起始于變換1501。為了計(jì)算第一變換1501的基本幀,變換1501及其參考幀之間的自由空間旋轉(zhuǎn)可被計(jì)算出來(lái)??舍槍?duì)每個(gè)變換確定引入的扭曲軸和引出的扭曲軸之間的自由空間旋轉(zhuǎn)來(lái)計(jì)算剩余變換的基本幀。例如,可通過(guò)確定其引入的扭曲軸(例如,連接變換1501和1502的矢量)和引出的扭曲軸(例如,連接變換1502和1503的矢量)之間的自由空間旋轉(zhuǎn)來(lái)確定變換1502的基本幀??稍谧儞Q1503-1508針對(duì)每個(gè)剩余基本幀進(jìn)行類似確定。
[0094]在執(zhí)行針對(duì)基本幀的計(jì)算之后,可針對(duì)每個(gè)變換計(jì)算δ扭曲和定向。這些δ扭曲和定向可表示將變換的當(dāng)前版本與靜止位置中的變換之間的定向的變化分解為繞扭曲軸的標(biāo)量扭轉(zhuǎn)以及定向的剩余改變??舍槍?duì)第一變換做出一種例外,其可被分配有S扭曲值?。因此’針對(duì)第一變換的定向的改變可完全歸因于分解的定向分量?!?、^^!^!^,!^!!,?^^Bundle Twist Reduct1n, Graphics Gems IV,p.230-236” 描述了用于將定向的改變分解成δ扭曲和定向的不例處理。利用基本幀和δ扭曲及定向,可對(duì)米用MOS最尚點(diǎn)的相關(guān)父系MOS變換的超-MOS-最高點(diǎn)基礎(chǔ)以及利用MOS曲線的皮膚最高點(diǎn)的附接的參數(shù)所確定的加權(quán)系數(shù)彎曲的超-MOS-最高點(diǎn)扭曲和縮放信息,計(jì)算最終幀,如上所述。
[0095]在將該處理應(yīng)用至MOS曲線(打開或者封閉)時(shí),可向曲線引入由于向第一變換任意分配零扭曲而導(dǎo)致的不對(duì)稱性。在打開曲線中,該不對(duì)稱性可能是可以接受的,因?yàn)榭赡懿淮嬖趯?duì)稱預(yù)期。例如,在圖15的MOS變換1501處執(zhí)行的扭曲操作可能不被期望以與MOS變換1505處執(zhí)行的扭曲操作相同的方式表現(xiàn),因?yàn)镸OS變換1501被僅僅連接至另外一個(gè)MOS變換,同時(shí)MOS變換1505被連接至另外兩個(gè)MOS變換。在封閉曲線示例中,然而,可能存在對(duì)稱預(yù)期。例如,如圖16所示,MOS變換1501處執(zhí)行的扭曲操作可能被預(yù)期按照與MOS變換1505處執(zhí)行的扭曲操作相同的方式表現(xiàn),因?yàn)閮蓚€(gè)MOS變換都在彼此相對(duì)相同的位置中連接至相同數(shù)量的MOS變換。因此,按照這樣的方式對(duì)封閉曲線計(jì)算變形可產(chǎn)生不期望的結(jié)果。
[0096]圖17圖示了示例處理1700,用于計(jì)算封閉曲線的皮膚變形。在塊1702,可訪問(wèn)封閉MOS曲線。封閉MOS曲線可包括依次連接在一起的MOS變換。MOS變換可連接在一起以使得它們形成類似于圖16所示的曲線1610的環(huán)路。
[0097]在塊1704,重影變換(例如,復(fù)制的變換)可被產(chǎn)生并被放置在塊1702處訪問(wèn)的封閉曲線的第一變換的位置。重影變換可以是具有與第一變換相同的位置和定向的其它變換而且可包括對(duì)封閉曲線的最后一個(gè)變換的重影連接。如圖示,采用圖16的曲線1610作為例子,變換1501可以是封閉曲線1610的第一變換。與變換1501重疊的附加變換(未示出)可被插入曲線而且可連接至變換1508(但不連接至變換1502)。
[0098]在塊1706,M0S封閉曲線的變換的基本幀和δ扭曲及定向以及重影變換可被計(jì)算出來(lái)。這可包括計(jì)算MOS變換的扭曲軸以及隨后參考之前的變換根據(jù)扭曲軸計(jì)算基本幀,如上所述。例如,可參考變換1501的基本幀來(lái)計(jì)算變換1502的基本幀,可參考變換1502的基本幀來(lái)計(jì)算變換1503的基本幀,依此類推,直到參考最后一個(gè)變換(變換1508)的基本幀計(jì)算了重影變換的基本幀。一旦計(jì)算了基本變換,可對(duì)變換執(zhí)行S扭曲和定向分解。如上所述,該可包括將變換的當(dāng)前版本與靜止位置中的變換之間的定向的改變分解成繞扭曲軸的標(biāo)量扭轉(zhuǎn)以及定向的剩余變化。
[0099]在塊1708,在塊1706確定的基本幀和δ扭曲及定向可被用作MOS變形系統(tǒng)的輸入以計(jì)算皮膚變形,如上所述。然而,在計(jì)算附接至1508和1501之間的區(qū)域中的MOS曲線的皮膚最高點(diǎn)的變形時(shí),重影變換的基本幀和S扭曲以及定向被優(yōu)選地用于與其S扭曲被設(shè)置為零的初始MOS變換1501關(guān)聯(lián)的那些,如上所述。
[0100]應(yīng)該理解的是,處理1700可以與此處描述的任意其它處理組合使用。例如,在MOS封閉曲線內(nèi),例如封閉曲線1610,取決于多個(gè)MOS變換的皮膚變形(例如,凸起操作)可利用處理900進(jìn)行配置,而且手動(dòng)內(nèi)矢量可利用處理600配置。配置的MOS封閉曲線可在處理1700的塊1702處訪問(wèn)。處理1300的修改版可進(jìn)一步用來(lái)與處理1700組合以確定從在與附接的MOS曲線正交的方向上應(yīng)用的凸起操作產(chǎn)生的皮膚變形,如以上參考圖13所述。然而,在計(jì)算附接至1508和1501之間的區(qū)域中的MOS曲線的皮膚最高點(diǎn)的變形時(shí),重影變換的基本幀和δ扭曲以及定向被優(yōu)選地用于與其δ扭曲被設(shè)置為零的初始MOS變換1501關(guān)聯(lián)的那些,如上所述。
[0101]圖18示出了具有多個(gè)可用來(lái)實(shí)施上述步驟的組件的示例性計(jì)算系統(tǒng)1800。主系統(tǒng)1802包括母板1804,其具有輸入/輸出(“I/O”)部件1806、一個(gè)或多個(gè)中央處理單元(“CPU”)1808和存儲(chǔ)部件1810,其可能具有與其相關(guān)的閃存卡1812。I/O部件1806連接顯示器1824、鍵盤1814、磁盤存儲(chǔ)器單元1816和媒體驅(qū)動(dòng)器單元1818。媒體驅(qū)動(dòng)器單元1818能夠讀/寫計(jì)算機(jī)可讀介質(zhì)1820,其能夠包含程序1822或數(shù)據(jù)。
[0102]50能夠保存基于該上述步驟的結(jié)果的至少一些值用于后續(xù)使用。此外,能夠使用非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)用來(lái)存儲(chǔ)(如可觸摸地實(shí)體化)一個(gè)或多個(gè)計(jì)算機(jī)程序用于通過(guò)計(jì)算機(jī)方式實(shí)施上述步驟的任意一個(gè)??刹捎美缤ㄓ镁幊陶Z(yǔ)言(如,Pascal,C,C++等)或一些專業(yè)應(yīng)用指定語(yǔ)言來(lái)編寫該計(jì)算機(jī)程序。
[0103]在此描述了各種示例性實(shí)施例。以非限制的方式參考這些示例。它們被提供來(lái)示例可更寬范圍應(yīng)用的公開的技術(shù)方面??勺鞒龈鞣N變化以及可以替換等效形式,而不脫離各種實(shí)施例的真實(shí)精神和范圍。此外,可作出各種變更以適應(yīng)具體情況、材料、主體成分、處理、對(duì)對(duì)象的處理動(dòng)作或步驟、各種實(shí)施例的精神和范圍。而且,本領(lǐng)域技術(shù)人員可以理解的是,此處描述及示例的每個(gè)單獨(dú)的變形具有單獨(dú)的組成和特征,它們可容易地與其它一些實(shí)施例中的任意實(shí)施例的特征區(qū)分開或組合,而不脫離各種實(shí)施例的范圍或精神。
【主權(quán)項(xiàng)】
1.一種計(jì)算機(jī)實(shí)施方法,用于為電腦動(dòng)畫角色配置皮膚變形,所述方法包括: 通過(guò)一個(gè)或多個(gè)處理器來(lái)訪問(wèn)角色裝配,角色裝配表示動(dòng)畫角色而且包括多個(gè)多點(diǎn)偏移采樣(MOS)變換和多個(gè)MOS最高點(diǎn); 通過(guò)一個(gè)或多個(gè)處理器來(lái)接收對(duì)多個(gè)MOS變換中的MOS變換的選擇,其中多個(gè)MOS最高點(diǎn)中的至少一個(gè)MOS最高點(diǎn)的凸起皮膚變形由所選的MOS變換控制;以及 通過(guò)一個(gè)或多個(gè)處理器來(lái)接收分配給所選的MOS變換的基準(zhǔn)矢量的定向,其中至少一個(gè)MOS最高點(diǎn)的凸起皮膚變形的凸起方向取決于基準(zhǔn)矢量的定向。
2.根據(jù)權(quán)利要求1所述的方法,其中所述方法還包括通過(guò)一個(gè)或多個(gè)處理器利用基準(zhǔn)矢量的定向來(lái)計(jì)算至少一個(gè)MOS最高點(diǎn)的凸起皮膚變形。
3.根據(jù)權(quán)利要求2所述的方法,其中至少一個(gè)MOS最高點(diǎn)包括內(nèi)凸起值、外凸起值和側(cè)凸起值,而且其中計(jì)算至少一個(gè)MOS最高點(diǎn)的凸起皮膚變形包括根據(jù)內(nèi)凸起值、外凸起值、側(cè)凸起值以及基準(zhǔn)矢量的定向來(lái)計(jì)算凸起量和凸起方向。
4.根據(jù)權(quán)利要求1所述的方法,其中基準(zhǔn)矢量的定向包括對(duì)照所選的MOS變換的定向參考的一組三維坐標(biāo)。
5.根據(jù)權(quán)利要求1所述的方法,其中角色裝配進(jìn)一步包括: 處于所選MOS變換和第一鄰接MOS變換之間的第一扭曲軸;以及處于所選MOS變換和第二鄰接MOS變換之間的第二扭曲軸,其中基準(zhǔn)矢量與第一扭曲軸和第二扭曲軸的對(duì)分不重疊。
6.一種計(jì)算機(jī)實(shí)施方法,用于為電腦動(dòng)畫角色計(jì)算皮膚變形,所述方法包括: 通過(guò)一個(gè)或多個(gè)處理器來(lái)訪問(wèn)角色裝配,所述角色裝配表示動(dòng)畫角色并且包括多個(gè)多點(diǎn)偏移采樣(MOS)變換和多個(gè)MOS最高點(diǎn); 通過(guò)一個(gè)或多個(gè)處理器來(lái)接收對(duì)多個(gè)MOS最高點(diǎn)中的一個(gè)MOS最高點(diǎn)的選擇; 通過(guò)一個(gè)或多個(gè)處理器來(lái)接收對(duì)多個(gè)MOS變換中的兩個(gè)或更多MOS變換的選擇; 通過(guò)一個(gè)或多個(gè)處理器來(lái)接收,用于將被應(yīng)用至所選MOS最高點(diǎn)的皮膚變形的值,其中所述皮膚變形由所選的兩個(gè)或更多MOS變換控制; 通過(guò)一個(gè)或多個(gè)處理器來(lái)接收用于所述兩個(gè)或更多MOS變換中的每個(gè)的權(quán)重值,其中權(quán)重值表示所述兩個(gè)或更多MOS變換中的每個(gè)貢獻(xiàn)至皮膚變形的相對(duì)量;以及 通過(guò)一個(gè)或多個(gè)處理器根據(jù)用于皮膚變形的值和用于兩個(gè)或更多MOS變換的權(quán)重值來(lái)計(jì)算用于所選MOS最高點(diǎn)的皮膚變形。
7.根據(jù)權(quán)利要求6所述的方法,其中皮膚變形包括凸起操作或滑動(dòng)操作。
8.根據(jù)權(quán)利要求6所述的方法,其中根據(jù)用于皮膚變形的值和用于兩個(gè)或更多MOS變換的權(quán)重值來(lái)計(jì)算用于所選MOS最高點(diǎn)的皮膚變形包括: 通過(guò)一個(gè)或多個(gè)處理器通過(guò)使用于皮膚變形的值乘以各個(gè)權(quán)重值來(lái)針對(duì)所述兩個(gè)或更多MOS變換中的每個(gè)確定皮膚變形貢獻(xiàn);以及計(jì)算所確定的皮膚變形貢獻(xiàn)之和。