在cg角色中實現更好眼線的系統與方法
2024-02-01 07:21:15
在cg角色中實現更好眼線的系統與方法
【專利摘要】本申請公開了在CG角色中實現更好眼線的系統與方法。提供了為CG角色創建看起來更好的動畫眼睛的系統與方法。所述系統與方法設定每隻眼睛的套索,不是精確地匯聚到一個目標位置,而是匯聚可以旋轉或角度偏移某個量,以便模擬正確的物理眼睛定位與運動。此外,通過考慮角膜的屈光屬性,例如,這會使瞳孔看起來比實際的更大,所述系統與方法提供甚至更逼真的眼睛外觀。所述系統與方法還可以考慮由於眉毛、眼睫毛和上眼瞼造成的上眼睛遮蔽效果(及由於從眼睫毛下側反射造成的效果)。眼睛上部的這種變暗解決了由於不正確照明的視覺和光學錯覺造成的垂直眼線差異。
【專利說明】在CG角色中實現更好眼線的系統與方法
【技術領域】
[0001]本申請涉及在CG角色中實現更好眼線的系統與方法。
【背景技術】
[0002]在計算機圖形中,例如對於電影和視頻遊戲,總是難以產生看起來很生動的角色眼睛動作(「眼線」(eyeline))。角色的眼睛常常表現得無生氣,沒有逼真的感覺。因而,t匕較動畫設計者在構造圖像時所設想的和最終渲染的圖像常常會產生顯著不同的結果。
[0003]由於在社會當中更多時間是用來與別人講話而且大部分這種時間是花在進行眼睛接觸的事實,這個問題被複雜化了。相應地,大部分人基本上都是眼睛「專家」而且如果被注視的人的眼睛是否有問題很快就能注意到。據稱,Walt Disney曾經說過,觀眾通常注視角色的眼睛,因此必須在這些目標上花很大的努力,以便讓角色可以令人信服。
[0004]在一種眼線模型中,眼球建模為部分球面,具有包括構成瞳孔、虹膜和眼白的多邊形的同心帶。然後,利用紋理貼圖給多邊形加陰影。例如,眼睛的半球模型可以通過多個四邊形構成,加陰影成看起來像瞳孔、虹膜和眼白。通過包括光源在眼睛上的反射,可以增強逼真度。
[0005]在眼睛跟蹤中,用於把眼睛指向一個物體的角度通常是使得每隻眼睛的光軸匯聚到該物體上的一個目標。即使具有這樣增強的逼真度,計算機生成的眼睛常常還是不能令人滿意。
[0006]因而,存在對計算機動畫設計眼睛的更好模型的需求。
【發明內容】
[0007]在此所公開的系統與方法總體上來說為CG角色創建看起來更好的動畫眼睛。所述系統與方法認識到,由於頭骨變圓(rounding),人(和其它動物)的眼睛趨於「向外指」幾度,例如4°。儘管來自每隻眼睛的線可以稍有匯聚,但是它們通常不會精確地匯聚到物體上給定的目標位置。物理眼睛仍然能夠以立體視覺觀看物體的原因是因為每隻眼睛的小窩或「視覺中心」偏離眼睛與光軸相交的幾何後部,或者等效地說,視軸偏離光軸稱為「Kappa角」的角度。
[0008]因此,某些系統與方法設定每隻眼睛的套索(rigging),不是精確地匯聚到一個目標位置,而是不管怎樣都旋轉或角度偏離以上提到的量,從而模擬正確的物理眼睛定位與運動。
[0009]某些實現的一種增強是考慮角膜的屈光屬性,例如,這種屬性會使瞳孔看起來比實際的更大。另一種增強可以是考慮由眉毛、眼睫毛和上眼瞼造成的上眼睛的典型遮蔽效果(及由來自眼睫毛下側的反射造成的照明效果)。眼睛上部的這種變暗解決了由於不正確照明的視覺和光學錯覺造成的垂直眼線差異。
[0010]另一種增強可以是穩定眼線的運動。當聚焦到在例如臉部18-30英寸,例如24英寸,內的目標時,眼線的匯聚與發散變得尤其突出。換句話說,眼睛的角度變化在這個距離內非常突出。在這個距離之外,變化更加穩定而且不太突出。這一方面可以在n中採用,這可以包括保持匯聚點的模式、經受旋轉偏移、正確設定的離角色的距離,但是其方向是在更靠近臉部的一個點,即,對臉部方便的距離(「看透」點),其由動畫設計者控制的。
[0011]在一方面,本發明針對一種對角色眼睛進行動畫設計的方法,包括:當角色的眼睛要注視或者凝視一個目標時,為每隻眼睛定義一個光軸,該光軸是由瞳孔的中心和眼睛後部與該瞳孔幾何相對的一個點定義的;並且把角色的眼睛指向所述目標,其中指向包括旋轉偏移光軸,使得光軸不與目標相交而是從目標轉向2°和15°之間的一個角度。
[0012]本發明的實現可以包括以下一個或多個。眼睛的個數可以是二,包括第一隻眼睛和第二隻眼睛。如果角色是人,那麼這個角度可以設置在4°和8°之間,例如,4°和6°之間。光軸可以由與瞳孔中心的垂線來定義。該方法還可以包括定義兩隻眼睛中心之間的第一線片段、平分所定義的第一線片段並且定義從第一線片段的中心到目標的第二線片段。每隻眼睛的光軸及第一和第二線片段可以定義一個平面。每隻眼睛的旋轉偏移可以在遠離第二線片段的方向中。該方法還可以包括當把眼睛設定在注視距離時通過移動控制手柄來動畫設計眼睛,該控制手柄沿與第二線片段共線的線離第一線片段小於注視距離。
[0013]在相關的一方面,本發明針對非臨時性計算機可讀介質,包括用於使計算環境執行以上方法的指令。
[0014]另一方面,本發明針對一種用於創建具有兩隻眼睛的計算機生成角色的計算環境,該計算環境包括:用於存儲關於角色第一隻眼睛的數據的存儲器,包括關於第一光軸的數據,該光軸是由瞳孔的中心和第一隻眼睛後部與該瞳孔幾何相對的一個點定義的;用於存儲關於角色第二隻眼睛的數據的存儲器,包括關於第二光軸的數據,該光軸是由瞳孔的中心和第二隻眼睛後部與該瞳孔幾何相對的一個點定義的;及用於配置第一隻和第二隻眼睛注視或凝視一個目標的存儲器,用於配置的該存儲器包括用於把光軸指向目標的指令並且包括旋轉偏移光軸,使得光軸不與目標相交而是從目標轉向2°和15°之間的一個角度。
[0015]本發明的實現可以包括以下一個或多個。計算環境還可以包括配置成定義控制手柄的存儲器,該控制手柄用於在維持恆定注視距離的同時通過移動眼睛所指的方向來動畫設計眼睛,控制手柄位於目標和眼睛之間。所述計算環境還可以包括配置成定義控制手柄的存儲器,該控制手柄用於通過移動眼睛所指的方向來動畫設計眼睛,其中注視距離與控制手柄離眼睛的距離相稱,控制手柄位於目標和眼睛之間。
[0016]另一方面,本發明針對一種對角色眼睛進行動畫設計的方法,包括:存儲關於角色眼睛的數據,眼睛是通過至少部分表面建模的;並且陰影處理該部分表面的至少頂部,其中陰影處理是相對於所述部分表面剩餘部分的陰影值的。
[0017]本發明的實現可以包括以下一個或多個。部分表面可以由多個連續的多邊形或者部分或完整的球面或橢圓形定義。陰影可以在該部分表面剩餘部分的陰影值的40%到60%之間。頂部的面積可以等於剩餘部分的面積至+/-25%內。
[0018]在相關的一方面,本發明針對一種非臨時性計算機可讀介質,包括用於使計算環境執行以上方法的指令。
[0019]在還有另一方面,本發明針對一種對角色眼睛進行動畫設計的方法,包括:存儲關於角色的至少一隻眼睛的數據,眼睛是通過至少部分表面建模的;並且存儲關於在照相機位置該眼睛外觀的數據,所存儲的數據至少包括對應於由於部分表面的角膜屈光造成的眼睛瞳孔或虹膜部分放大或位置改變或者二者的數據。
[0020]本發明的實現可以包括以下一個或多個。部分表面可以由多個連續的多邊形或者由部分或完整的球面或橢圓形定義。放大可以在未放大量的0到15%之間。位置變化可以在未放大量的0到45度之間。
[0021]在相關的一方面,本發明針對一種非臨時性計算機可讀介質,包括用於使計算環境執行以上方法的指令。
[0022]本發明的優點可以包括以下一個或多個。利用根據在此所述布置的系統與方法,角色眼睛的方向最初是以正確的方式定義的並且在實線索具(rig)中描述,這種索具允許在動畫設計過程中維持正確的對準。此外,建模物理目視標誌(visual cue),更改眼睛的感知對準並且確保動畫設計與最終渲染之間的一致性。利用在此所述的某些系統與方法,通過以包括正確旋轉偏移的眼睛的索具開始,並且在根據場景需求移動眼睛以便凝視不同目標的時候維持該旋轉偏移,可以創建看起來更好的動畫眼睛。看起來更好的動畫眼睛也可以通過提供上眼睛的變暗程度及通過包括由眼睛角膜造成的屈光效果來創建,變暗是由於眼睛周圍的結構的遮蔽造成的,而且由於趨於使上眼睛進一步變暗的遮擋反射複雜化。通過允許動畫設計者控制「看通」點,而不是「注視」點,更方便的UI可以在本發明某些實現的背景下創建,其中「注視」點通常是一個設定的離角色的距離,例如注視距離。通過添加動畫時間特徵,動畫設計者可以更直接地接收反饋,使得他們能夠更直接地看到當場景渲染時他們有可能得到的東西。
【專利附圖】
【附圖說明】
[0023]圖1說明了其中計算機生成角色的眼睛指向一個目標的現有技術示意性說明。
[0024]圖2說明了根據本發明一種實施例的示意性布置,其中計算機生成角色的眼睛注視著無窮遠的一個目標。
[0025]圖3說明了根據本發明一種實施例的示意性布置,其中計算機生成角色的眼睛注視著離眼睛有限距離的一個目標。
[0026]圖4是說明根據本發明一種實施例的方法的流程圖。
[0027]圖5說明了一種結合了存儲數據與指令的存儲器的示例性計算環境,所述數據與指令在執行這裡所公開的某些方法,包括圖4方法的實現,時是有用的。
[0028]圖6說明了一種示意性布置,其中在照相機位置接收計算機生成角色的眼睛,而且其中瞳孔和/或虹膜被放大,以便說明角膜的屈光。
[0029]圖7是說明根據本發明另一種實施例的方法的流程圖。
[0030]圖8說明了一種示意性布置,其中作為可以是球面的部分表面建模的眼睛的頂部變暗,以便說明陰影與照明效果。
[0031]圖9說明了與圖8相似的一種示意性布置,其中眼睛是作為多個連續的多邊形建模的。
[0032]圖10是說明根據本發明另一種實施例的方法的流程圖。
[0033]圖11說明了對用於執行根據本發明一種實施例的方法有用的計算環境。
[0034]貫穿所有附圖,相同的標號指相同的元件。具體實施例
[0035]首先應當指出,在CG人中,或者具有「正常雙眼視力」的任何角色中,其中兩隻眼睛都朝前看並且匯聚到單個物體,常常不正確地假設眼睛的預設朝向應當是他們的眼軸或光軸,即,沿著眼睛中心並且與瞳孔中心相交的軸,匯聚到該角色前面的單個點。因而,這個匯聚點必須位於角色鼻子和遙遠的一個點(即,無限遠)的橋之間的某個地方。當看無限遠時,眼睛對準是平行的,而當看離臉非常近的物體時,形成鬥雞眼。
[0036]例如,參考現有技術圖1,說明了關於角色臉部12的自頂向下的視圖的系統10。角色具有左眼14和右眼16。分別示出了匯聚到目標24的光軸18和22。光軸從瞳孔,例如瞳孔的中心(分別是15和17),延伸到眼球後部與瞳孔幾何相對的一個點(分別是19和21)。因而,利用上述錯誤模型,對於有限距離的目標,眼睛有點鬥雞眼。
[0037]但是,在現實當中,由於頭骨的曲線,人和其它眼睛稍向外指,例如,平均大約4°,而且因此現有模型不能正確地建模角色眼睛的外觀。本發明的某些實現利用這種理解來為計算機生成的角色創建看起來更逼真的眼睛。
[0038]這種創建中應當注意的一個因素是瞳孔的位置。觀眾分析瞳孔位置的一種途徑是通過注意在眼睛的視覺成分之間存在通常良好的平衡。換句話說,當一個人直接朝前看時,虹膜和瞳孔在眼睛打開的中心,在任一側都能看到大約相同數量的眼白(鞏膜)(當從前面看時,儘管在從不發生阻擋的大多數角度看時通常也同樣應當成立)。眼睛位於臉的正面,但稍微在側面一點,這導致外側眼角比內側眼角的位置進一步朝後。為了獲得這種視覺平衡,給定眼眶的朝向,解釋為什麼眼睛需要稍微向外指。
[0039]即使眼睛稍微向外指,但是,按以下方式,人仍然可以獲得立體視覺。參考圖2的系統20,眼睛26和28使用像照相機一樣的晶狀體把來自現實世界中目標56的光聚焦到眼睛的後部。在圖2中,眼睛26和28看起來凝視,集中到,或者注視著無窮遠的一個注視距離。
[0040]眼睛的後部被稱為視網膜。視網膜具有兩個主要部分。一個大的區域用於周圍視覺。這個大區域中的圖像是模糊的但對於在低光照下看到和檢測運動非常有效。在這個區域的中心分別是小窩32和38。小窩通常是大約Imm寬但是包含大約50%的眼睛光受體。眼睛的這個部分用於銳聚焦並且允許閱讀和其它精細細節確定。
[0041]通常,小窩32和38不是分別位於沿光軸46或54,其中光軸定義為直接沿著眼睛的中心從前到後並且穿過瞳孔的軸。換句話說,光軸從瞳孔延伸到眼睛後部與瞳孔幾何相對的一個點,在圖2中分別稱為幾何中心34和36。該幾何中心也稱為光學中心「0C」。相反,小窩稍向外移位。特別地,小窩32和38位於沿各自的視軸48和52,其中視軸與光軸不同而且是從小窩開始並且穿過瞳孔的中心。小窩在圖中標記為視覺中心「VC」。
[0042]視軸與光軸之間的角度稱為「Kappa角(k)」。Kappa角通常在0°或2°至15°之間變化。在許多情況下,對於人或者像人的角色來說,k在4°和8°之間,例如,4°和6°之間。
[0043]通過這種分析,在仍然維持立體視覺的同時,現在眼睛可以稍向外旋轉。應當指出,Kappa角旋轉偏移不總是水平的,例如,該偏移也可以垂直地偏移一個小的量。不是兩隻眼睛都必須具有同量或者對稱的偏移。相應地,在不模糊立體視覺的同時,不對稱的眼睛位置可以仍然有效。另外,Kappa角可以為負,這導致角色看起來是鬥雞眼。
[0044]圖3說明了圖2的系統20,其中角色88具有注視位於有限距離的目標82的眼睛58和62。這個注視距離由標號82指示。這個注視距離可以作為從瞳孔到目標的平均距離、任一瞳孔到目標的距離,或者經其它測量獲得。但是,由於同目標距離比較起來通常瞳孔的接近性,測量的選擇常常是無關緊要的。
[0045]如圖中所說明的,第一隻眼58具有關聯的光軸64和視軸68。第二隻眼62具有關聯的光軸66和視軸72。每個對應的光軸與視軸之間的角度由Kappa角k來指示,但是,如以上所指出的,這些角度可以不同。光軸的角度74在「遠離」視軸的方向,而且還遠離第二線片段和另一隻眼睛。
[0046]第一線片段76被圖示為在瞳孔之間,而第二線片段78被圖示為平分第一線片段並向目標延伸。控制手柄75被圖示為位於第一線片段與目標之間的第二線片段上。以下更具體地描述控制手柄。
[0047]套索(Rigging)
[0048]一旦眼睛正確地定位,下一步就是確信它們被正確地套索。這主要是通過在套索模型中採用視軸而不是光軸來執行的。因此,建立維持使眼睛保持在中性立位置的旋轉偏移的匯聚模型。套索過程通常不應當改變眼睛的位置。儘管,對於給定的演員,光軸與視軸之間的角度可能不是已知的或者可能難以獲得,但是眼睛可以簡單地初始定位成匹配一個參考值或者與期望的視覺平衡,例如虹膜與瞳孔每一側鞏膜的常見量,相符。即,給定視覺平衡的需求,演員臉部的結構通常導致某個量的「向外指」,而且,只要(對於處於某個常見注視距離的目標)維持眼睛之間的角度,眼睛看起來就將是正確的。隨著物體變得相對更近或更遠,眼睛將分別匯聚或發散。
[0049]基礎套索的匯聚距離應當正確地估計。當開始(on set)捕捉參考圖像時,在任何可能的時候,通常是把照相機放在離被攝體設定距離的位置。由於演員一般是被指示看前面的照相機,因此可以假設,如果索具建立成在那個距離匯聚,那麼就可以直接計算Kappa角偏移。現在,動畫設計那個匯聚點應當正確地動畫設計眼睛,同時維持角色的外觀。然後,可以依靠「注視」目標是否放在該場景中一個特定的物體上,不管它在動畫設計中看起來是什麼樣子,角色都應當以演員在相同照明條件下的實際場景中執行相同任務時將產生的相同眼線來渲染。
[0050]理想地,眼線的穩定性和正確性應當維持,而不論注視距離如何。如所指出的,當看近處目標時,眼睛應當匯聚更多,即,更加鬥雞眼,而當看很遠時,應當發散成平行。在實踐當中只有當焦點在臉部大約24英寸之內時,觀眾才能看到匯聚與發散。目標越近,這越佔主導性。在這個區域之外,匯聚的變化變得非常穩定。為此,在動畫n中提供一種模式,保持匯聚點離眼睛有恆定的注視距離,但是允許動畫設計者經以上指出的控制手柄的使用來控制眼睛所指的方向。基本上,控制手柄充當「看透」目標,而不是「注視」目標。在這種模式中,由於位於更長注視距離的穩定性,動畫設計者可以改變眼睛所指的方向,而不關心匯聚,從而允許動畫設計者把控制保持在到臉部的方便距離內。
[0051]圖4說明了根據本發明一種實施例的方法的流程圖30。在第一步中,動畫設計者期望讓角色的眼睛注視、凝視或以別的方式指向一個目標(步驟88)。為每隻眼睛定義光軸(步驟92)。光軸指向一個目標但是從該目標旋轉偏移0°或2°至15° (步驟94)。等效地,定義從光軸旋轉偏移0°或2°至15°的視軸,而且視軸直接指向目標。可選地,第一線片段定義在瞳孔之間,例如在瞳孔的中心之間,被平分,而且第二線片段被定義在平分點,例如第一線片段的中心,與目標之間(步驟96)。然後,動畫設計者可以通過移動控制手柄動畫設計眼睛(步驟98),該控制手柄沿第二線片段位於離該平分點小於所述注視距離的位置。該注視距離是如上定義的,例如,第二線片段的長度、眼睛與目標之間的平均距離、給定的一隻眼睛與目標之間的特定距離,等等。
[0052]圖5說明了用於創建或動畫設計CG角色眼睛的計算環境40。可以是分布式計算環境的該計算環境包括存儲器102,用於存儲關於包括光軸或視軸或者兩者的第一隻眼睛的數據。該計算環境還包括存儲器104,具有所存儲的關於第二隻眼睛的數據,同樣第二隻眼睛也包括光軸或視軸。該計算環境還包括存儲器106,用於配置第一隻或第二隻眼睛注視、凝視或指向一個目標。存儲器106可以包括用於把光軸指向目標但旋轉偏移這種軸0 °或2°至15°的指令。等效地,存儲器106可以包括存儲器,通過包括用於把視軸直接指向目標的指令用於配置第一隻和第二隻眼睛指向一個目標,其中視軸與對應的光軸偏移了以上的量。計算環境40可以進一步包括存儲器108,配置成定義位於眼睛和目標之間的控制手柄。以上提到的任何一個或者全部存儲器都可以包括非臨時性的計算機可讀介質。
[0053]影響眼線的另一方面是屈光。特別地,為了讓眼睛工作,它必須把來自環境的光聚焦到視網膜的後部,在那裡處理圖像。為了執行這個任務,晶狀體用於匯聚進入眼睛的光。儘管控制變化的聚焦的晶狀體就位於瞳孔後面,但是眼睛的大約2/3屈光力,即,其折射光的能力,出現在角膜中。不像晶狀體,角膜的屈光通常是固定的。在大多數情況下,不必複製內部晶狀體的動作,但是角膜屈光所產生的視覺效果對眼線會是重要的。
[0054]例如,當看一個戴著厚眼鏡(strong eyeglasses)的人時,他們的眼睛看下去比實際的要大。類似地,當通過角膜的彎曲表面看虹膜與瞳孔時,瞳孔看起來比實際的要大。這在動畫設計與最終渲染之間產生瞳孔尺寸的差異,而且,當從一個角度觀看時,與未屈光的模型相比,虹膜及瞳孔的位置與大小可以有顯著變化。因而,動畫設計中可視化屈光是一個重要的因素。角膜的屈光力是大約43屈光度,這意味著角膜可以在1/43米,或者說大約23毫米,內聚集平行的光線。
[0055]這種情況在圖6的系統50中說明。在這個例子中,只示出了一隻眼睛112。在照相機的位置126觀看角色的眼睛112。眼睛包括晶狀體114、還定義了瞳孔119的虹膜116,及角膜118。未屈光的瞳孔尺寸由標號122說明,而屈光或放大後的瞳孔尺寸由標號124說明。在圖6的系統中,照相機位置126大致迎面指向眼睛。在離軸配置中,不僅會發生放大,而且虹膜與瞳孔的位置也會改變。對於離軸,位置通常改變,使得能夠看到比未屈光狀態下更多的瞳孔與虹膜。
[0056]圖7說明了根據本發明實現的另一種方法的流程圖60。在流程圖60中,第一步是存儲關於角色第一隻和第二隻眼睛的數據,每隻眼睛都是由一個部分表面建模的(步驟128)。然後,存儲關於在照相機位置看到的第一隻和第二隻眼睛外觀的數據,這種外觀包括至少一隻眼睛結構由於角膜屈光造成的放大和/或位置變化(步驟132)。眼睛結構通常是瞳孔或虹膜,或者這二者,的結構,因為鞏膜可能更難以測定。如該流程圖中所示,放大可以在大約0和15%之間(步驟134)。位置變化可以在大約0和45度之間。
[0057]儘管圖7說明了關於兩隻眼睛的方法,但是可以只有一隻眼睛接受屈光,因為,例如,在給定的場景下可以只看到一隻眼睛。可選地,對於某些角色,可以有多於兩隻眼睛接受該方法。
[0058]以上所指出的角膜屈光效果是一種可以在動畫場景中再現的現象,以便在最終渲染的角色視線中獲得更好的結果。進一步的增強涉及照明效果。特別地,當動畫設計一個角色時,動畫設計者通常看該角色的表示,允許合理的交互。當動畫過程通過生產流水線在中途發生時,各種成分還沒有引入,包括最終的照明、外部紋理細節,及用於渲染增加的合成。照明對於東西看起來像什麼樣子可以起到非常重要的作用。在動畫場景中應用最終的照明並且利用在後端利用的相同的渲染器進行渲染將是理想的,但是這種渲染器不是交互式的,因此充其量只能用做拍攝日程後期當照明設置變得可用時的離線過程。即,在動畫設計時,通常還不知道照明將是什麼樣子。即使知道,動畫設計者也沒有實際的照明設置可用。一個選項是實現常見的預設照明模型。但是,造成大多數眼線差異的不是照明方向,而是在眼睛本身上缺乏影子。照明方向對影子如何落在眼睛區域上有影響,但是一個更常見的問題是剛好在上眼瞼區域下方缺少暗區。這種暗度是來自眉毛、眼睫毛和上眼瞼的影子的組合,但是也由於來自眼睫毛下側的反射而變暗。這種效果在幾乎所有情況下都會發生,除例如嚴重照明不足的臉部。相應地,對這種效果的校正可以在動畫設計眼睛著色器(shader)中引入。
[0059]關於這種校正的一個問題是產生添加暗區的快速途徑,同時關於上眼瞼具有正確的相同軌跡。為了提供快速計算,全陰影計算是不期望的。但是,眼睛有一種行為,可以被充分利用。特別地,上眼瞼區域往往在瞳孔線的上方跟著。因此,眼睛上應當變暗的區域,從剛好瞳孔線上方一直到大約眼睛的中間,或者等效地說一直到眼睛中具有與指向向上方向的表面垂直的部分,通常是相當穩定的。當眼睛睜得很大時,例如在吃驚的表情下,或者在眨眼的過程中,有某些例外。眨眼可以被忽略,因為反正眼睛被遮擋住了。在吃驚表情的情況下,有必要調整或消除所述效果。
[0060]如果引入給眼球上部加陰影的變暗蓋層,使保持暗色直到預設上眼瞼線過去並隨後在預設上眼瞼線延伸到瞳孔的中心而漸漸變少,則獲得眼線中的顯著改善。如果眼睛睜得很大或者要適應其它的照明效果,那麼這種效果可以縮減。
[0061]更具體地說,參考圖8的系統70,說明了具有虹膜138和瞳孔142的眼睛系統。說明了只在瞳孔142的頂部之上跟蹤的上眼瞼144。還說明了下眼瞼146。鞏膜或眼白136在上下眼瞼之間繪出。變暗的區域148在瞳孔中心與上眼瞼144之間眼睛的頂部說明。儘管變暗的區域148示為具有恆定的陰影值,但是實際上在上眼瞼附近有最大值而在與瞳孔相鄰的區域側面的邊緣有最小值。陰影的值可以在眼睛剩餘部分的陰影值,例如鞏膜、瞳孔或虹膜的陰影值,即,形成可以看到的眼睛剩餘部分的表面的陰影值,的大約40%與60%之間。頂部的面積與剩餘部分的面積可以具有基本上相等的面積,例如在大約25%、10%,5%等之內。
[0062]構成眼睛模型的表面可以是部分表面,例如部分球面。可選地,如圖9的系統80中所示出的,表面可以是一組連續的多邊形。通常,眼睛模型可以表示為球面或者更準確幾何表示的NURBS或者多邊形網。
[0063]圖10說明了根據本發明實現的另一種方法的流程圖90。在流程圖90中,第一步是存儲關於角色的第一隻和第二隻眼睛的數據,每隻眼睛都是通過一個部分表面建模的(步驟142)。然後在第一和第二部分表面的至少頂部執行陰影處理步驟(步驟144)。如該流程圖中所示,所述陰影處理可以相對於無陰影部分的剩餘部分的陰影值,例如,可以在剩餘部分的大約40%與60%之間(步驟146)。如將理解的,所使用的實際值依賴於動畫設計者的期望。就像關於圖7,多於或少於兩隻眼睛也可以容納在所述系統和方法中。
[0064]已經描述了用於CG角色高度逼真眼睛的方便創建與動畫設計的系統與方法。該系統不僅考慮更準確的眼睛模型來跟蹤眼睛指向,而且考慮例如角膜屈光與上眼睛遮蔽的現象。
[0065]還應當理解所述系統與方法的變化。例如,儘管已經對具有兩隻眼睛的角色描述了布置,但是具有任意數量眼睛的角色都可以利用所公開的布置對他們的眼睛進行動畫設計。在這種情況下,為每隻眼睛定義光或視軸,而且如所描述的那樣指向目標。而且,儘管控制手柄已經描述為在維持恆定注視距離的同時移動眼睛的指向方向,但是,它同樣可以配置成允許不同的注視距離。例如,注視距離可以與控制手柄的運動量相稱,例如,控制手柄一個單位的運動可以轉化成注視距離中10個單位的運動量。還應當理解其它此類變化。例如,儘管眼睛模型已經描述為包括部分球面或者連續多邊形的表面,但是還應當理解其它形狀,例如橢圓形或者部分橢圓形。
[0066]一種實現包括一個或多個可編程的處理器與存儲並執行計算機指令的對應計算系統部件,例如執行提供以上公開並討論的各種動畫功能的代碼。參考圖11,說明了一種示例性計算環境的表示,這種表示可以代表一種或多種計算環境,包括計算環境40。
[0067]這種計算環境包括控制器148、存儲器152、儲存器156、介質設備162、用戶接口168、輸入/輸出(I/O)接口 172和網絡接口 174。這些部件是通過公用總線176互連的。可選地,可以使用不同的連接配置,例如控制器位於中心的星型模式。
[0068]控制器148包括可編程的處理器並且控制計算環境及其部件的操作。控制器148從存儲器152或者嵌入式的控制器存儲器(未示出)加載指令並且執行這些指令,以便控制眼線系統150。
[0069]可以包括非臨時性計算機可讀存儲器154的存儲器152臨時存儲由系統其它部件使用的數據。在一種實現中,存儲器152實現為DRAM。在其它實現中,存儲器152還可以包括長期或永久性存儲器,例如快閃記憶體存儲器和/或ROM。
[0070]可以包括非臨時性計算機可讀存儲器158的儲存器156臨時或長期存儲由計算環境其它部件使用的數據,例如用於存儲由該系統使用的數據。在一種實現中,儲存器156是硬碟驅動器或者固態驅動器。
[0071]可以包括非臨時性計算機可讀存儲器164的介質設備162接收可移動介質並且從/向所插入的介質讀和/或寫數據。在一種實現中,介質設備162是光碟驅動器或者光碟刻錄機,例如,可寫的Blu-ray?盤驅動器166。
[0072]用戶接口 168包括用於接受用戶輸入的部件,其中的用戶輸入例如動畫設計的眼睛的用戶指示、目標、陰影值、控制手柄的運動,等等。在一種實現中,用戶接口 168包括鍵盤、滑鼠、音頻揚聲器和顯示器。控制器148使用來自用戶的輸入調整計算環境的操作。
[0073]I/O接口 172包括連接到對應I/O設備,例如外部儲存器或輔助設備,就像印表機或PDA,的一個或多個I/O埠。在一種實現中,I/O接口 172的埠包括例如USB埠、PCMCIA埠、串行埠和/或並行埠的埠。在另一種實現中,I/O接口 172包括用於與外部設備無線通信的無線接口。
[0074]網絡接口 174允許與區域網的連接並且包括有線和/或無線網絡連接,例如RJ-45或乙太網連接或WiFi接口(802.11)。應當理解,許多其它類型的網絡連接也是可能的,包括 WiMax、3G 或 4G、802.15 協議、802.16 協議、衛星、B丨uetOOth? 等。
[0075]所述計算環境可以包括此類設備典型的附加硬體與軟體,例如,電源與作業系統,雖然,為了簡化,這些部件沒有在圖中具體地示出。在其它實現中,可以使用不同的設備配置,例如,不同的總線或儲存器配置或者多處理器配置。
[0076]本發明已經關於具體的實施例進行了描述,這些實施例僅僅是作為描述布置的示例性途徑給出的。相應地,本發明不限於以上所述的那些實現。
【權利要求】
1.一種對角色眼睛進行動畫設計的方法,包括: a.當角色的眼睛要注視或凝視一個目標時,為每隻眼睛定義一個光軸,該光軸是由瞳孔的中心和眼睛後部與瞳孔幾何相對的一個點定義的;及 b.把角色的眼睛指向該目標,其中指向包括旋轉偏移光軸,使得光軸不與目標相交而是從目標轉向2°和15°之間的一個角度。
2.如權利要求1所述的方法,其中眼睛的個數為二,包括第一隻眼睛和第二隻眼睛。
3.如權利要求2所述的方法,其中,如果角色是人,就把所述角度設置在4°和8°之間。
4.如權利要求3所述的方法,還包括把所述角度設置在大約5°。
5.如權利要求1所述的方法,其中光軸是由與瞳孔中心的垂線定義的。
6.如權利要求2所述的方法,還包括定義兩隻眼睛中心之間的第一線片段、平分所定義的第一線片段並且定義從第一線片段的中心到目標的第二線片段。
7.如權利要求6所述的方法,其中每隻眼睛的光軸及第一和第二線片段定義了一個平面。
8.如權利要求7所述的方法,其中每隻眼睛的旋轉偏移在遠離第二線片段的方向。
9.如權利要求6所述的方法,還包括當把眼睛設定在注視距離的時候通過移動控制手柄來動畫設計眼睛,該控制手柄沿與第二線片段共線的線離第一線片段的中心小於所述注視距離。
10.一種對角色眼睛進行動畫設計的設備,包括: 用於當角色的眼睛要注視或凝視一個目標時,為每隻眼睛定義一個光軸的裝置,該光軸是由瞳孔的中心和眼睛後部與瞳孔幾何相對的一個點定義的;及 用於把角色的眼睛指向該目標的裝置,其中指向包括旋轉偏移光軸,使得光軸不與目標相交而是從目標轉向2°和15°之間的一個角度。
11.一種用於創建具有兩隻眼睛的計算機生成的角色的計算環境,該計算環境包括: a.用於存儲關於角色第一隻眼睛的數據的存儲器,包括關於第一光軸的數據,該光軸是由瞳孔的中心和第一隻眼睛後部與該瞳孔幾何相對的一個點定義的; b.用於存儲關於角色第二隻眼睛的數據的存儲器,包括關於第二光軸的數據,該光軸是由瞳孔的中心和第二隻眼睛後部與該瞳孔幾何相對的一個點定義的;及 c.用於配置第一隻和第二隻眼睛注視或凝視一個目標的存儲器,用於配置的該存儲器包括用於把光軸指向目標的指令並且包括旋轉偏移光軸,使得光軸不與目標相交而是從目標轉向2°和15°之間的一個角度。
12.如權利要求11所述的計算環境,還包括配置成定義控制手柄的存儲器,該控制手柄用於通過移動眼睛所指的方向來動畫設計眼睛,同時維持恆定的注視距離,該控制手柄位於目標和眼睛之間。
13.如權利要求11所述的計算環境,還包括配置成定義控制手柄的存儲器,該控制手柄用於通過移動眼睛所指的方向來動畫設計眼睛,其中注視距離與控制手柄離眼睛的距離相稱,該控制手柄位於目標和眼睛之間。
14.一種對角色眼睛進行動畫設計的方法,包括: a.存儲關於角色眼睛的數據,眼睛是由至少部分表面建模的;及b.陰影處理該部分表面的至少頂部,該陰影處理是相對於所述部分表面剩餘部分的陰影值的。
15.如權利要求14所述的方法,其中部分表面是由多個連續的多邊形定義的。
16.如權利要求14所述的方法,其中部分表面是由部分或完整的球面或橢圓形定義的。
17.如權利要求14所述的方法,其中陰影處理在所述部分表面剩餘部分的陰影值的40%與60%之間。
18.如權利要求14所述的方法,其中頂部的面積等於剩餘部分的面積至+/-25%之內。
19.一種對角色眼睛進行動畫設計的設備,包括: 用於存儲關於角色眼睛的數據的裝置,眼睛是由至少部分表面建模的;及用於陰影處理該部分表面的至少頂部的裝置,該陰影處理是相對於所述部分表面剩餘部分的陰影值的。
20.一種對角色眼睛進行動畫設計的方法,包括: a.存儲關於角色的至少一隻眼睛的數據,該眼睛是由至少部分表面建模的'及 b.存儲關於在照相機位置該眼睛外觀的數據,所存儲的數據至少包括對應於由於所述部分表面的角膜屈光所造成的眼睛瞳孔或虹膜部分放大或位置改變或者這兩者的數據。
21.如權利要求20所述的方法,其中部分表面是由多個連續的多邊形定義的。
22.如權利要求20所述的方法,其中部分表面是由部分或完整的球面或橢圓形定義的。
23.如權利要求20所述的方法,其中放大在未放大量的0與15%之間。
24.如權利要求20所述的方法,其中位置改變在未放大量的0與45度之間。
25.一種對角色眼睛進行動畫設計的設備,包括: 用於存儲關於角色的至少一隻眼睛的數據的裝置,該眼睛是由至少部分表面建模的;及 用於存儲關於在照相機位置該眼睛外觀的數據的裝置,所存儲的數據至少包括對應於由於所述部分表面的角膜屈光所造成的眼睛瞳孔或虹膜部分放大或位置改變或者這兩者的數據。
【文檔編號】G06T13/00GK103632389SQ201310290581
【公開日】2014年3月12日 申請日期:2013年7月11日 優先權日:2012年7月17日
【發明者】D·P·舍爾林 申請人:索尼公司, 索尼圖片技術股份有限公司