多點偏移采樣變形技術(shù)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請總體涉及計算機制圖,更具體地涉及計算機動畫中的計算機生成角色上的皮膚的變形。
【背景技術(shù)】
[0002]在計算機動畫領(lǐng)域,通常利用具有覆蓋有皮膚層的骨架結(jié)構(gòu)的角色裝配來對計算機生成角色進行建模,其中皮膚層響應(yīng)于骨架結(jié)構(gòu)的運動而移動或變形。動畫片繪制者隨后可通過操縱角色裝配的骨骼和關(guān)節(jié)的位置來使得角色動畫化。按照這樣的方式使得角色動畫化,相對于例如使用多個單獨的圖片來產(chǎn)生動畫,可能更具有計算效率。
[0003]由于計算機生成角色的皮膚層對于計算機動畫的觀看者是外部可視的,所以產(chǎn)生逼真的皮膚變形的有效的變形技術(shù)是期望的。例如,如果動畫片繪制者選擇使得計算機生成角色的肘部彎曲,則可能期望利用來自動畫片繪制者的最小輸入以及利用計算資源的最少使用來使得皮膚層在二頭肌處以類似凸起的生動發(fā)生變形。
[0004]可用來仿真皮膚變形的一種變形系統(tǒng)是多點偏移采樣(MOS)變形系統(tǒng)。在該系統(tǒng)中,可利用層次架構(gòu)的數(shù)據(jù)類型來計算角色的皮膚變形。具體地,角色的骨架結(jié)構(gòu)可由通過隱式矢量(例如,角色身體的骨骼)連接在一起的MOS變換(例如,表示角色身體的關(guān)節(jié))表示。MOS變換可關(guān)聯(lián)并控制MOS最高點,以使得MOS最高點的位置由MOS變換的位置和定向限定。MOS最高點可繼而限定與角色的皮膚表面上的、鄰接的或關(guān)聯(lián)的皮膚最高點相連接的MOS曲線的形狀和位置。皮膚最高點相對于它們連接的MOS曲線的位置可能取決于關(guān)聯(lián)MOS變換的定向。
[0005]使得皮膚最高點相對于它們關(guān)聯(lián)的MOS曲線移動的處理可被稱為“皮膚變形”。示例的皮膚變形操作包括凸起、滑動和扭曲操作。在操作MOS變換的位置時,角色裝配人員可實施這些皮膚變形操作的變化等級以選擇角色裝配的皮膚最高點來產(chǎn)生期望的皮膚變形。
[0006]雖然傳統(tǒng)的MOS變形系統(tǒng)可被用來產(chǎn)生逼真的動畫,但是這些系統(tǒng)通常包括一些嚴格假設(shè),它們限制了裝配人員有效地直觀地對角色皮膚外觀建模的能力。
【發(fā)明內(nèi)容】
[0007]描述了用于為電腦動畫角色配置皮膚變形的處理。一個示例的處理可包括:通過一個或多個處理器來訪問角色裝配,角色裝配表示動畫角色而且包括多個多點偏移采樣(MOS)變換和多個MOS最高點;通過一個或多個處理器來接收對多個MOS變換中的MOS變換的選擇,其中多個MOS最高點中的至少一個MOS最高點的凸起皮膚變形由所選的MOS變換控制;以及通過一個或多個處理器來接收分配給所選的MOS變換的基準矢量的定向,其中至少一個MOS最高點的凸起皮膚變形的凸起方向取決于基準矢量的定向。
[0008]在一個示例中,處理可還包括通過一個或多個處理器利用基準矢量的定向來計算至少一個MOS最高點的凸起皮膚變形。至少一個MOS最高點可包括內(nèi)凸起值、外凸起值和側(cè)凸起值,而且其中計算至少一個MOS最高點的凸起皮膚變形包括根據(jù)內(nèi)凸起值、外凸起值、側(cè)凸起值以及基準矢量的定向來計算凸起量和凸起方向。
[0009]在另一示例中,基準矢量的定向可包括對照所選的MOS變換的定向參考的一組三維坐標。
[0010]在另一示例中,角色裝配可進一步包括:處于所選MOS變換和第一鄰接MOS變換之間的第一扭曲軸;以及處于所選MOS變換和第二鄰接MOS變換之間的第二扭曲軸,其中基準矢量與第一扭曲軸和第二扭曲軸的對分不重疊。
[0011]用于為電腦動畫角色計算皮膚變形的另一示例處理皮膚變形可包括:通過一個或多個處理器來訪問角色裝配,所述角色裝配表示動畫角色并且包括多個多點偏移采樣(MOS)變換和多個MOS最高點;通過一個或多個處理器來接收對多個MOS最高點中的一個MOS最高點的選擇;通過一個或多個處理器來接收對多個MOS變換中的兩個或更多MOS變換的選擇;通過一個或多個處理器來接收用于將被應(yīng)用至所選MOS最高點的皮膚變形的值,其中所述皮膚變形由所選的兩個或更多MOS變換控制;通過一個或多個處理器來接收用于所述兩個或更多MOS變換中的每個的權(quán)重值,其中權(quán)重值表示所述兩個或更多MOS變換中的每個貢獻至皮膚變形的相對量;以及通過一個或多個處理器根據(jù)用于皮膚變形的值和用于兩個或更多MOS變換的權(quán)重值來計算用于所選MOS最高點的皮膚變形。
[0012]在一個示例中,皮膚變形可包括凸起操作或滑動操作。在另一示例中,根據(jù)用于皮膚變形的值和用于兩個或更多MOS變換的權(quán)重值來計算用于所選MOS最高點的皮膚變形可包括:通過一個或多個處理器,通過使用于皮膚變形的值乘以各個權(quán)重值來針對所述兩個或更多MOS變換中的每個確定皮膚變形貢獻;以及計算所確定的皮膚變形貢獻之和。
[0013]用于為電腦動畫角色計算皮膚變形的另一示例處理皮膚變形可包括:通過一個或多個處理器來訪問角色裝配,所述角色裝配表示動畫角色并包括多個多點偏移采樣(MOS)變換和多個MOS最高點;通過一個或多個處理器來為多個MOS最高點中的一個MOS最高點確定凸起皮膚變形的凸起量,其中針對該MOS最高點的凸起皮膚變形由多個MOS變換的一個MOS變換控制,而且其中凸起量表示所述MOS最高點與扭曲軸之間的距離,該扭曲軸介于所述多個MOS變換中的所述MOS變換和鄰接MOS變換之間;通過一個或多個處理器來確定與扭曲軸正交的一個矢量,其中所述矢量通過所述MOS最高點和所述扭曲軸;以及通過一個或多個處理器根據(jù)所確定的凸起量和所確定的矢量來確定所述MOS最高點的位置。
[0014]在一個示例中,為所述MOS最高點確定凸起量可包括確定MOS變換的定向,而且其中凸起量取決于所述MOS變換的所確定的定向。
[0015]在另一示例中,MOS最高點通過附接矢量與扭曲軸關(guān)聯(lián),所述附接矢量與曲線不正交。
[0016]在另一示例中,所述MOS最高點的所確定的位置是沿所述矢量的與扭曲軸相距的距離等于凸起量的位置。
[0017]用于為電腦動畫角色的多點偏移采樣(MOS)封閉曲線計算皮膚變形的另一示例處理可包括:通過一個或多個處理器來訪問MOS封閉曲線,其中所述MOS封閉曲線包括多個MOS變換,所述多個MOS變換依次耦接在一起以形成一個環(huán)路;通過一個或多個處理器來產(chǎn)生所述多個MOS變換中的第一 MOS變換的復(fù)制的MOS變換,其中所述復(fù)制的MOS變換包括與第一 MOS變換的位置相對應(yīng)的位置以及與第一 MOS變換的定向相對應(yīng)的定向;通過一個或多個處理器來為多個MOS變換中的每個和復(fù)制的MOS變換計算基本幀和δ扭曲以及定向;以及通過一個或多個處理器利用計算出來的基本幀和S扭曲以及定向來計算皮膚變形,其中用于耦接至第一 MOS變換和鄰接的第二 MOS變換之間的MOS封閉曲線的皮膚最高點的皮膚變形是利用用于復(fù)制的MOS變換和第二 MOS變換的計算出來的基本幀和δ扭曲以及定向計算出來的。
[0018]還描述了用于配置和執(zhí)行MOS皮膚變形的系統(tǒng)和計算機可讀存儲介質(zhì)。
【附圖說明】
[0019]通過結(jié)合附圖參考后續(xù)說明能夠最好地理解本申請,其中相同部分可由相同數(shù)字表不。
[0020]圖1圖示了可利用根據(jù)各種示例的MOS變形技術(shù)產(chǎn)生的示例渲染圖像。
[0021]圖2圖示了根據(jù)各種示例的皮膚最高點、MOS曲線和MOS變換。
[0022]圖3圖示了可利用根據(jù)各種示例的MOS變形技術(shù)產(chǎn)生的各種皮膚變形。
[0023]圖4圖示了利用傳統(tǒng)MOS變形技術(shù)創(chuàng)建的計算機生成角色和內(nèi)矢量的一部分。
[0024]圖5Α和5Β圖示了分別采用圖4和8的內(nèi)矢量的皮膚變形。
[0025]圖6圖示了根據(jù)各種示例的用于配置手動內(nèi)矢量的示例處理。
[0026]圖7Α圖示了根據(jù)各種示例的示例計算機生成角色。
[0027]圖7Β圖示了圖7Α的計算機生成角色的另一視圖。
[0028]圖8圖示了利用圖6的處理創(chuàng)建的計算機生成角色和內(nèi)矢量的一部分。
[0029]圖9圖示了根據(jù)各種示例的用于配置取決于多個MOS變換的皮膚變形的示例處理。
[0030]圖1OA和1B分別圖示了取決于一個MOS變換和兩個MOS變換的皮膚變形。
[0031]圖11圖示了在不施加任意或凸起變形的情況下產(chǎn)生的計算機生成角色的一部分。
[0032]圖12圖示了利用沿附接矢量施加的外凸起產(chǎn)生的計算機生成角色的一部分。
[0033]圖13圖示了根據(jù)各種示例的用于執(zhí)行凸起變形的示例處理。
[0034]圖14圖示了具有利用圖13的處理施加的外凸起變形的計算機生成角色的一部分。
[0035]圖15圖示了示例打開MOS曲線。
[0036]圖16圖示了示例封閉MOS曲線。
[0037]圖17圖示了根據(jù)各種示例的用于針對封閉MOS曲線計算皮膚變形的示例處理。
[0038]圖18圖示了示例計算系統(tǒng)。
【具體實施方式】
[0039]提供下面的描述以使得本領(lǐng)域普通技術(shù)人員能夠做出及使用各種實施例。具體裝置、技術(shù)和應(yīng)用的描述僅僅被提供作為示例。本領(lǐng)域普通技術(shù)人員很容易想到對此處描述的示例的各種修改,而且此處定義的總原理可適用于其它示例和應(yīng)用,而不脫離本技術(shù)的精神和范圍。因此,公開的技術(shù)并不限于此處描述和表示的示例,而是與權(quán)利要求一致的相應(yīng)范圍。
[0040]以下描述了涉及MOS變形技術(shù)的各種實施例。在一個示例處理中,角色裝配的一個或多個MOS變換的內(nèi)矢量可由用戶手動配置。該內(nèi)矢量可隨后被用于MOS變形計算來確定凸起操作的應(yīng)用和方向。在另一示例處理中,滑動或凸起操作可被配置成取決于兩個或更多MOS變換。兩個或更多變換中的每個可分配有權(quán)重值,其表示變換對總體滑動或凸起的貢獻。可通過計算來自每個MOS變換的各個滑動或凸起貢獻之和來確定針對皮膚最高點的總體滑動或凸起。在另一示例處理中,用于皮膚最高點的凸起操作可在與連接相關(guān)MOS變換的矢量正交的方向上執(zhí)行,而不管將皮膚最高點連接至MOS曲線的附接矢量的方向如何。在另一示例處理中,重影變換可被插入封閉MOS曲線并用來計算與封閉MOS曲線的第一變換相關(guān)的皮膚變形。
[0041]I 概覽
[0042]圖1示出了根據(jù)各種示例的示例性的計算機生成的圖像100,其可采用MOS變形技術(shù)進行渲染。注意,圖1示出了根據(jù)角色的MOS曲線的位置和變換產(chǎn)生的皮膚變形。出于清晰和方便的目的,示例MOS變形技術(shù)在此可參考使得與圖像100所示的角色類似的計算機生成角色動畫化來進行描述。然而,應(yīng)該認識到,MOS變形技術(shù)可被類似地應(yīng)用至其它計算機生成角色或?qū)ο?。此外,對于此處的使用,“皮膚”可指的是與計算機生成角色使用的大量遮蓋物。例如,“皮膚”可指的是動物的長毛的皮膚和/或動物穿的衣服。此處描述的示例并非限于MOS變形技術(shù)的應(yīng)用。
[0043]2M0S變形系統(tǒng)
[0044]如上所述,在MOS變形系統(tǒng)中,角色的骨架結(jié)構(gòu)可由通過隱式矢量(例如,角色身體的骨骼)連接在一起的MOS變換(例如,表示角色身體的關(guān)節(jié))表示。MOS變換可關(guān)聯(lián)并控制MOS最高點,以使得MOS最高點的位置由MOS變換的位置和定向限定。MOS最高點可繼而限定角色的皮膚的表面上的、鄰接的或關(guān)聯(lián)的MOS曲線的形狀和位置。皮膚最高點相對于它們連接的MOS曲線的位置可取決于相關(guān)MOS變換的定向。
[0045]如所示,圖2示出了具有皮膚最高點(由小點表示)的臂200 ;M0S變換204、206、208,210 和 212 ;和 MOS 曲線 214、216、218 和 220。MOS 變換 204、206、208、210