計算機圖形學(CG技術)在日本動畫製作中的應用
以下文章來源於網易雷火UX使用者體驗中心 ,作者雷火UX
本文編譯自SIGGRAPH2022的線上教學課程。主要介紹了當今計算機圖形學(CG)技術在日本動畫的應用。課程分為兩部分:
本文先介紹第一部分:日本動畫中的機器人。在課程開始之前,講師先簡要介紹了日本動畫的工作流程,有助於大家有一個整體的理解。
兩位課程主講分別為Marc Salvati和Andreas Bauer。
Marc Salvati,於2004年作為東京工業大學計算機圖形學博士來到日本。自2008年起,他在OLM Digital的研發部門工作。他最初作為一名軟體工程師為Maya和After Effects開發了各種外掛。現在,他領導著一個開發人員和研究人員團隊,處理OLM Digital中所有的CG 和傳統動畫需求。
Andreas Bauer,日本Polygon Pictures的著色器編寫者。在英國伯恩茅斯大學以優異的成績獲得計算機動畫碩士學位後,鮑爾在倫敦的Framestore和洛杉磯的Sony Pictures Imageworks擔任著色器編寫者,然後加入東京的Polygon Pictures。目前他在東京專門從事非真實感繪製(Non-photorealistic rendering),聚焦於手繪風格和新的混合設計。在過去的十年裡,鮑爾一直在Polygon Pictures開發卡通著色和輪廓渲染,設計計算機圖形學的新方法,使其儘可能忠實地模仿日本傳統動畫的外觀。
一、日本動畫製作的工作流程概述
日本動畫的工作流程大多是從非數字的方式開始的,60年前,手冢治虫設立了製作標準,製作了《鐵臂阿童木》的漫畫和電視劇,這種工作流程的特點是時間緊迫,需要高效率的製作,使用紙張進行繪畫,顏色線條大多是黑色。目前一些動畫工作者仍在使用紙張進行繪畫,使用黃色時間表來記錄繪畫幀數和關鍵幀。
現在,日本動畫也逐漸向數字化轉變,用CG建立機器人和機械部件效果會更好。但數字化需要不同的技能和專業人員,以及高昂的機器和軟體成本。並且,製作動畫需要建立特定的流程和指令碼,用手繪來處理不規則情況更容易。所以,日本動畫更多采用2D和3D混合的方式,而非全CG或全手繪。
製作動畫的流程包括前期製作、製作、後期製作。
前期製作包括規劃、原型、情節、設定和故事板。
製作過程中,首先建立佈局和最終背景,佈局比故事板更詳細,它設定了我們必須要做的繪圖;然後是所有內容的顏色設計;接下來進行動畫製作,包括關鍵幀和中間幀;完成繪畫後,進行清理、上色和合成。
後期製作主要涉及配音,新增音樂和聲效。
所以,當把CG新增到工作流程中,在前期製作中主要任務之一是,理解我們應該做什麼,並定義和決定什麼應該在CG製作,什麼應該手繪。它有助於估算成本,並允許我們開始建立資源。
通常建模和繫結是在製作期間完成的,但在日本,因為時間緊迫,主要是在前期製作中完成,一旦知道有這樣的角色,就開始對它們進行建模,即使它們仍然處於前期製作階段。因為如果混合CG和日本動畫,我們需要為CG做預錄製和為2D做後錄製。然後進行所有典型的CG步驟,包括佈局、動畫、照明/渲染和合成。後期製作與2D相似。
所以當混合3D和2D時,我們會選擇一個主要場景,作為引導,來加入2D或3D元素。我們可以先建立3D佈局,然後交給2D部門進行關鍵幀和中間幀的製作,或者先手繪2D佈局,再建立與之匹配的CG,最後在合成時混合在一起。因此,在預製作階段,我們需要進行規劃,確定哪些元素是3D,哪些是2D。
總之,日本動畫的工作流程主要受到時間和金錢預算的影響。日本的預算比美國低很多,因此需要更多的規劃和創意。日本動畫越來越向數字化發展,使用數字平板進行繪畫,並開始使用人工智慧自動化一些任務,以便更好地專注於創意部分。日本動畫越來越傾向於以混合方式將傳統動畫和CG結合起來。
二、日本動畫中的機器人
在日本動畫中,常常會使用機器人元素,例如《索斯機獸:荒野紀》(Zoids Wild)。《索斯機獸:荒野紀》是一部關於機器人的作品,有很多特效和大規模的戰鬥場面。Zoids是“活著”的機器,是一種機械生物和靈魂的混合體。在第一季中,它們沒有眼睛,只有駕駛艙。在其他系列裡它們有了大眼睛,這些眼睛給予更多的情感,看起來更像野獸和動物,而不是機器人。
客戶要求Zoids以3D完成,這是相當合理的,但人類是手繪的,這是一個挑戰。首先,我們將討論流程中的建模和動畫等,來講述團隊在這一過程中所面臨的不同挑戰。
在開始階段,我們必須對這些機器人進行建模。所以我們使用了玩具CAD資料,並將其改為視覺效果,每次我們改變視覺效果時,我們都需要得到玩具公司的批准。即使是小細節,小顏色變化。
為了使視覺更具吸引力,並使模型更加合適做動畫,我們不得不改變玩具的設計,所以這個過程相當漫長而繁瑣。我們列印了一些東西,在上面新增了一些手繪的註釋或手寫的註釋,用一些便利貼傳送給客戶,以便他給我們一些反饋。我們所做的更改是為了使這些東西更具吸引力而新增細節。
然後對於動畫,我們需要做一些調整。在這個例子裡,左邊的圖片上,每次手臂移動時,軸將需要移動,並具有相同的動畫效果。這需要移動複雜的裝置,所以我們問,我們能不能擺脫這個連線,這樣它就不必每一步都伸展。這樣一來,就可以使裝置更容易製作。
對於動畫本身,建模完成後,需要製作更好的動畫和更好的骨骼系統,還要進行四足動物的測試,以便製作出更真實的動畫。動畫需要感受到地面和重量,同時也需要保持野性動物的特點。我們進行了多次測試。
我們需要製作一個機器人動物的混合體,機器人很容易讀取動作,但是動物的動作更加誇張。我們最終採用了介於機器人和動物之間的動作,因為機器人動作太慢,而動物動作太誇張。大部分動畫都是在2秒內完成的。
現在我們有了一些參考來創造很多動畫。在日本動畫中,我們使用很多2s或3s的有限動畫。製作動畫的第一步是基礎動作,我們採用逐幀繪製的方式,儘量減少控制器的數量,聰明地使用骨骼系統。
現在我們有了手繪動畫和CG動畫,接下來需要將這個CG部分與手繪角色混合。機器人等細節豐富的角色適合使用CG製作,但是CG角色表現力不如手繪角色。因此,採用分部渲染的方式將手繪角色與CG角色混合。像圖片展示的那樣,輸出來自機器人不同部分的各種掩模,以便我們可以將手繪的角色插入到不同部分的中間。這樣看起來就像是角色在騎機器人。
CG和手繪動畫的合成是在後期製作完成的,透過渲染不同部位的CG模型,CG角色可以作為手繪角色的指導,我們也可以構建一個庫,減少重新渲染的需求。在快速動作場景中,使用CG角色可以更好地呈現細節;而在近距離鏡頭中,需要手繪角色以獲得更好的表現效果,可以透過手繪覆蓋的方式改善CG角色的表情和動作。
此外,在製作過程中,我們想避免典型的3D CG外觀,讓它平滑地漸變,就像一些老遊戲一樣。在日本動畫中,通常只使用三到五種顏色,因此使用自定義的漸變工具來製作卡通渲染效果,透過亮度對映來調整顏色過渡的平滑度。在《索斯機獸:荒野紀》中,我們使用了四種顏色:兩個陰影,次要陰影和主要陰影,普通顏色和一個高光顏色。我們沒有使用第二個高光。
我們為顏色建立了一些紋理,並在這個紋理中對映了UV,使顏色變得漂亮而平滑。首先有四種顏色模式,用於白天、夜晚、陰影等,然後將其用於基本的單元格著色,我們一般使用紋理和顏色來對映這些內容,而不是使用亮度。我們還支援邊緣光,以及更改邊緣光的顏色和光滑度。
我們使用了所謂的偏移紋理,以控制陰影或高光的大小。透過建立一些漸變,還可以獲得漂亮的高光形狀和陰影。
我們將UV殼放置在某些漸變部分,以在亮度變化時產生不同的過渡。可以看到陰影和高光的形狀是由特定的UV放置方式完成的。
接下來關於輪廓線,這也是手繪動畫的最大特點之一,通常透過觀察輸出影像中的差異來繪製描邊,如物件之間的差異、顏色之間的差異、UV之間的差異、法線之間的差異等。
定義輪廓線的方法有很多種,不是所有的面都需要輪廓線,到處都有輪廓會顯得很嘈雜,使用對比色來選擇需要輪廓線的面,並放置在一個網格紋理上不同的插槽中,可以定義需要輪廓線的區域,使得輪廓線出現在需要的地方。
在機器人設計中,輪廓線是靜態的,不會改變。而在特效製作中,可以混合3D和2D效果,沒有固定的規則,只使用最好的效果。因此我們有一個特效庫,包含了2D和3D效果,如燈光、風、水、火、煙霧和爆炸。在動畫製作中,可以從佈局就開始新增特效。即使有的特效是臨時的(被稱為“atari”),也可以幫助製作人員快速獲得最終效果的感覺,而一般來說最終效果是將臨時特效和動畫結合起來得到的。
總的來說,在日本動畫中,CG和2D的混合使用,可以讓畫面更加生動。在《索斯機獸:荒野紀》的例子裡,CG被用於機器人的動畫製作中,使其更加細膩,但是需要注意,混合使用CG和2D會增加製作成本。我認為可以這樣概況整個日本動畫的故事:試圖在非常緊張的時間和預算限制下適應藝術決策。
以上,我們主要講述了日本動畫的製作,探討了如何將計算機圖形元素與2D手繪動畫相結合,特別是製作“日本動畫中的機器人”。以下,來自日本OLM Digital和Polygon Pictures的兩位講師Marc Salvati及Andreas Bauer,將重點關注計算機圖形和計算機圖形動畫,以及“使手繪設計適應3D計算機圖形面臨的挑戰”。
我們想解決的最終問題實際上是:“計算機圖形(CG)能否達到手繪設計的效果?”。簡而言之,答案是:“受控的簡化很難”。
首先,我想從一般的CG動畫談起。然後重點討論我們在將2D手繪設計轉換為3D計算機圖形時遇到的主要挑戰,並呈現我們找到的所有解決方案,最終得出了一個也許有點出人意料的結論。
CG動漫還是有爭議的。大多數鐵桿動漫迷仍然不接受CG動畫——僅僅因為“它似乎看起來不對”。然而,計算機圖形是當今主要的藝術媒介——它需要被接受。
CG消除了許多創作限制:新的攝像機位置很容易設定;相機運動實現了手繪動畫幾乎不可能實現的自由度;調整很快能完成,任何錯誤都容易糾正;而且任何重複的任務都會大大加快速度。但最重要的是,就像任何新的藝術媒介一樣, 計算機圖形也拓寬了藝術的可能性。它使混合設計成為可能,2D手繪外觀可以透過CG元素得到擴充套件和增強。
我們製作的《人間失格》中的這張圖片是混合設計的一個很好的例子。它展示了一個3D全息圖。這是一個2D動畫外觀,透過三維深度、光圖案以及發光效果進行增強,最終呈現了同一個全息圖的廣角鏡頭。
發光效果也被用於傳統的手繪動畫中,但這需要額外的特效繪畫和困難的多重曝光拍攝,其成本是昂貴的。此外,CG動畫允許建立新的混合設計,而這在手繪動畫中很難。
另一方面,在CG中完全再現手繪設計真的很難實現,比大多數人想象的要難得多。以下是我們在將手繪設計改編為CG動畫時遇到的主要挑戰:
所有這些的要點是:簡化是一種藝術手段。這要麼是為了藝術目的,以強調某些表達,要麼只是為了節省金錢和時間。然而,另一方面,CG總是忠實地、完全準確地渲染所有物體,100%銳利,100%精確,100%完美,沒有情感,沒有變化,沒有簡化,也沒有任何強調的重點。實際上,讓CG物體看起來自然和未經打磨是相當困難和耗時的。在這方面,CG與現實世界完全相反。
三、關於“頭髮”的挑戰
首先,我們遇到的挑戰是關於頭髮的繪製。主要有以下幾點:第一,使用“髮束”以避免繪製單個頭發。對於“捲曲”或“凌亂,蓬亂的頭髮”的特殊挑戰,我們的解決方案是使用“球形法線”和“髮束法線” 來建立更美觀的陰影線。然後,我想詳細介紹一個“程式性頭髮高光”的例子。最後,介紹一個最近在手繪動畫中引入的風格元素:“選擇性頭髮透明”。
“髮束”技術使用
在手繪動畫中,幾乎不可能一幀一幀地為每一根頭髮製作動畫。因此,這一階段可以較早的開始簡化,將幾根頭髮分組成為一束,然後將每一束作為一個單獨的物件進行動畫處理。這在計算機圖形中被複製為“髮束”——長形幾何物件,帶有錐形頂端,每個代表一束頭髮。在CG動畫中,“髮束”仍然是最常用的頭髮形式。這張圖片來自我們製作的《綠林女兒羅妮婭》。這是早期CG動畫中使用的簡單髮型的一個很好的例子。
捲髮處理
製作特別凌亂的髮型,像狂野的捲髮,或者蓬亂不整的頭髮,可能會成為一個挑戰。因為CG總是完全準確地渲染物體,而凌亂的頭髮總是會導致凌亂的陰影。
就像下圖這個例子,來自我們的作品《綠林女兒羅妮婭》。這顯示了一個早期的外觀開發測試,使用的是標準的光線跟蹤陰影,角色有一頭相當凌亂的頭髮,這不是手繪的陰影線應該有的樣子。手繪動畫會大大簡化這個陰影——僅使用頭部的整體形狀,建立一個更像球體上陰影的陰影線。
如何解決這個問題?我們找到的解決方案是“球面法線”。“球面法線”用一組與球體法線相似的新法線取代了整個頭髮上的表面法線,似乎都是從頭髮幾何的中心發出的。
球面法線應用
這張圖片展示了我們之前用“球面法線”渲染的例子,這建立了更乾淨、更有藝術感的陰影線。對於瘋狂捲曲的頭髮幾何,或極其凌亂的頭髮,陰影線條永遠不會像在球體上那樣完美光滑,這是由於幾何形狀的限制。雖然透過相機空間投影仍然可以實現完美平滑的陰影線,但這實際上不是我們想要的。在這兩個例子中,手繪的陰影線仍然會有輕微的曲折,以暗示頭髮的捲曲或凌亂。然而,整體的球形形狀將是最強的元素。
下面是《綠林女兒羅妮婭》的最終制作圖。它展示的是小寶寶羅妮婭,仍然留著凌亂的頭髮,但多虧了“球面法線”的應用,畫面中有了更清晰的陰影線。羅妮婭寶寶是我們開發“球面法線”的原因,也是第一個使用這個概念的角色。從那時起,我們作品中的每個角色都開始使用“球面法線”,這不單單應用在他們的頭髮幾何形狀上,在許多情況下也應用在他們的面部幾何形狀上。
髮束法線的融入
雖然“球面法線”解決了複雜的外觀,但結果可能太簡化了,因為它也完全消除了任何長髮髮絲的感覺。我們找到的解決方案是融入“髮束法線”。
長髮通常使用其髮絲曲線或髮帶的切線法線,而短髮可以使用從其生長的表面獲得的法線,即髮根處的幾何法線。對於每個“髮束”,應該分析其所有頂點位置以計算“髮束”的整體方向,從其根部到其頂部,然後使用此方向向量作為整個“髮束”的一個表面法線。
在“髮束法線”的渲染影像中,你可以清楚地看到每個“髮束”都只有一個顏色,也就是說只有一個法線。這些“髮束法線”本身不會給出有用的渲染結果。但透過混合3種可用法線的能力——原始表面法線、“球面法線”和新的“髮束法線”,藝術家可以找到一種平衡,建立一個更接近手繪設計的陰影線。
下圖右邊顯示的是僅使用“球面法線”實現的卡通陰影效果。左邊的影像融合了“髮束法線”,它在陰影線上增加了實際髮絲的感覺。這種陰影效果優於僅使用“球面法線”的過於簡化的外觀。
程式性頭髮高光
早期的CG動畫很少使用頭髮高光。如果有的話,也都是固定的或投射的表面紋理。但這種靜態的頭髮高光,不像真實的頭髮高光,永遠不會對攝像機視角或光線方向的變化做出反應。然而,即使是靜態的頭髮高光,在手繪時,也永遠不會一幀一幀地畫出完全相同的效果。現實中,頭部旋轉的小變化總是會導致頭髮高光看起來稍有不同。因此,如果一個CG動畫使用完全靜態的頭髮高光紋理,這將因此立即暴露它是計算機圖形。
然而,計算機生成的頭髮高光可以模擬這種手繪行為。與靜態的、繪製的紋理不同,程式性的頭髮高光,也可以是動態的,並適應相機視角或光線方向的變化。它們的反應程度是可選的——從強烈的、真實世界般的反應性,一直到沒有反應性。而介於中間的輕微反應,似乎能給出最令人滿意的效果。
作為程式化的一部分,頭髮的高光也可以使用並響應個體的“髮束”的形狀,根據幾何形狀自然地變化高光圖案。這種反應的強度也是可以選擇的。下面的動畫示例來自我們的製作《獵龍飛船》,展示了當頭部旋轉和“髮束”移動時,程式化頭髮高光圖案的微小變化。
高光幾乎就像一個靜態的頭髮紋理,但仍然會隨著頭髮的運動和相機的視角略有變化。我們最先進的程式性頭髮高光是高度可定製的,可以在不同方向上看到高光的外觀。
選擇性發絲透明度
另一個手繪動畫中引入的新樣式元素是“選擇性發絲透明度”。儘管它是最近才出現的,但現在已經成為一個成熟的樣式元素。當“髮束”在特定的物件前面時,會半透明地繪製,通常是在眼睛、睫毛和眉毛上應用。
這是真正的選擇性頭髮透明度,因為這種透明度不適用於任何其他物體,如皮膚、衣服、珠寶或其他“髮束”。建立“選擇性頭髮透明度”的解決方案是我稱之為“跟蹤到ID”的功能。所有頭髮幾何alpha通道保持預設值1,完全不透明,因為這是單獨的模擬透明度,與alpha通道無關。當相機射線擊中具有某種著色器的物件時,例如髮束材料,會傳送一個新的探針射線,沿著射線方向繼續搜尋具有非常特定“ID”的材料的任何物件。如果在一組最大追蹤級別內找到,則計算該找到的物體的表面顏色,並與傳送探針射線的第一個材料的表面顏色混合。
四、關於“眼睛”的挑戰
關於“眼睛”的挑戰,我想重點談三點:從早期CG動畫到最近的設計,“眼睛幾何”的變化本身,以及“眼睛高光”和“眼睛陰影”的重要性。
早期的眼睛設計有相當簡單的幾何形狀——只是一個單一的球體,它的大小和形狀大致符合解剖學。而最近的設計變得更加複雜:有兩個獨立的幾何形狀—— 一個是虹膜和鞏膜的,另一個則是更大的、完全透明的角膜的,並且還使用了物理上的折射。
使用兩個獨立的幾何形狀有助於在虹膜上建立更有藝術感的眼睛陰影。更大的眼睛幾何形狀可以更好地支援那些大眼睛的外觀。透過使用物理上的折射,從側面看眼睛更加逼真。當然,這種形狀變化在解剖學上不一定是正確的。事實上,這兩個“眼球”現在更像“眼睛立方體”,通常重疊並相互交叉。但這種形狀變化也允許更廣泛的表情範圍,因為眼睛通常是主要焦點,需要儘可能具有情感。在我們所有的模型中,球體的極點總是在瞳孔的中心。這是一個深思熟慮的選擇,以便動畫師即使在基本的線框檢視下,仍然可以理解瞳孔在哪裡,眼睛在看哪個方向。
早期的眼睛設計沒有任何單獨的幾何形狀用於眼睛高光,高光只是眼睛顏色紋理的固定部分。就像這張來自我們作品《綠林女兒羅妮婭》的圖片一樣。
最近的設計使用了單獨的、完全操縱的眼睛高光幾何圖形——通常每個眼睛有幾個,這極大地促進了眼睛高光動畫效果的提升。每個眼睛高光的形狀和位置都可以很容易地修改,而動畫師可以快速檢查這些修改,即使是線上框檢視中。有單獨的幾何形狀也使得將高光輸出到蒙版緩衝區變得容易,然後在後期製作中用於進一步新增發光效果。從我們製作的《人間失格》的圖片中可以看到,因為眼睛通常是主要焦點,眼睛高光也發揮著非常重要的作用。
早期的眼睛設計只使用場景中的關鍵光線在眼睛上投下陰影,但這些陰影往往是錯誤的,而且很難修復。使用單獨的、專門的光源來投射眼睛陰影也不是一個好的解決方案,因為它不能真正塑造陰影,也不能輕鬆控制哪些物體可以在眼睛上投上陰影。在我們的作品《人間失格》的最初呈現中,陰影顯然有點太深入眼睛了。
後來我們的設計轉向將陰影紋理投射到眼睛上。這允許透過投射的陰影紋理在一定程度上塑造眼睛陰影,但它也有自己的限制。首先,它需要相當複雜的眼睛設定,而且投影的陰影在幾乎閉上的眼睛上看起來是錯誤的。
所有這些問題都可以透過使用程式化眼睛陰影來避免。比如下圖《環太平洋:黑暗大陸》中,程式性陰影是光線追蹤的,完全獨立於所有場景燈光,並允許為每個眼睛單獨塑造和調整陰影。它們允許指定哪些物體可以在眼睛上投下陰影,陰影看起來即使在幾乎閉合的眼睛上也是正確的。
正如我們所看到的,最近的作品不再使用解剖學上正確的眼睛幾何形狀。在我們的作品《環太平洋:黑暗大陸》中,其中一個主角的眼睛是線框模型。因此,程式性眼影不能依賴於球形,也不能依賴於眼睛的幾何中心筆直地排在虹膜後面這一事實。相反,需要建立一個新的虛擬眼中心點。
如下圖,從眼睛的實際幾何中心(E)開始,需要在物件空間中應用“偏移XYZ”值,以定義新的虛擬眼中心(V),它需要大致與虹膜中心(I)後面的位置對齊(如向量vi所示)。探測射線從這個虛擬眼中心(V)發出,搜尋允許在眼睛表面投射陰影的特定物件——通常只有睫毛幾何體。任何與這些物件(P1、P2和P3)的光線相交都會在眼表面上輸出陰影。
允許投射陰影的物件列表並不侷限於場景中可見的物件,它還可以包括只用於在眼睛上建立特定形狀陰影的隱形物體。為了計算一個程式化的眼睛陰影,著色器需要被告知眼球的幾何形狀,允許在眼睛表面投射陰影的物件列表,以及“偏移XYZ”值,修改“偏移XYZ”值在物件空間中移動虛擬眼睛中心。這也移動了眼睛陰影,且有效地進行了塑造。
五、關於“陰影”的挑戰
從將手繪設計改造為3D計算機圖形的所有挑戰來看,“陰影”是目前為止最大的挑戰。不僅因為光線跟蹤的陰影通常看起來“像CG”,還因為它們太尖銳,太完美,顯示了太多的細節,而這些細節通常在手繪設計中被忽略;還因為實際上陰影的型別不止一種,而是好幾種,每種型別都需要專門處理,才能創造出看起來更像手繪的整體陰影設計。
更糟糕的是,這些陰影型別也可能重疊,因此當單獨刪除或修改一個型別時,可能仍然不能達到預期的最終效果。下面的示例影像顯示了一個非常簡單的色塊陰影場景。由於在這個場景中只有一種光源,人們可能會認為,也只有一種陰影。但事實並非如此,這張圖包含了許多不同型別的陰影。讓我們分別來分析一下。
“自身陰影”是物體背離光源的那些部分。更準確地說,是表面法線和反向光線方向向量成大於90度角的部分。自身陰影定義了物體的主要“陰影線”(即其“光影邊界”),這是物體從被照亮到被遮蔽的轉變點。在影像中,“自身陰影”用紅色繪製。這種陰影型別需要最多的關注,因為它通常是需要簡化或移動的主要陰影線。
“次要陰影”是深入“自身陰影”內部的更暗的陰影。“次要陰影”從不存在於“投射陰影”中,它們只出現在“自身陰影”內部。在影像中,“次要陰影”用純黑色繪製,主要用於在陰影區域中建立額外的對比度。次要陰影有助於更好地勾勒出圓環的形狀,以緩衝地面上的投射陰影。
“自身投射陰影”是物體投射到自身上的陰影。在影像中,“自身投射陰影”以綠色繪製。可以看到這種型別的陰影可以與“自身陰影”重疊,如影像中的黃色所示。換句話說,陰影的某些部分既可以是“自身陰影”,也可以是“自身投射陰影”。這些重疊實際上使得控制單個陰影型別變得更加複雜,因為在這些區域,必須調整這兩種陰影型別才能獲得所需的結果。
“他人投射陰影”是除自身以外的任何物體投射的陰影。在影像中,“他人投射的陰影”用藍色繪製。
最後,“環境光遮蔽”也可以被視為一種陰影型別,因為它是一種柔和的接觸陰影形式。在影像中,柔和的陰影由“環境光遮蔽”提供。這種陰影型別有時會直接新增,以達到藝術目的,以建立柔和的漫射照明感。但大多數情況下,“環境光遮蔽”被用於閾值化,以新增卡通式的接觸陰影。
“自身投射的陰影”和“他人投射的陰影”的區別需要進一步解釋。角色的身體幾何通常只接收“自身投射的陰影”,而不是來自其他物體的陰影。例如,一個角色的手臂放在胸前應該在胸部投射陰影。“他人投射陰影”通常只用於地面。角色應該在地面上投射一個投影陰影,但是它們通常不在任何其他角色身上投射陰影,只能投射在它們自己身上 (這就是“自身投射陰影”)。
頭髮是個例外。不像身體的其他部位,“髮束”通常不應該接受“自身投射陰影”,因為這使頭髮的陰影太過密集,看起來太“像CG”。下圖顯示了頭髮的理想效果,它只使用了“自身陰影”——使頭髮上的陰影線保持簡單。與人體幾何形狀相反,頭髮偶爾可以使用“來自他人的陰影”,例如,帽子或其他頭飾可以將陰影投射到頭髮上。就像示例影像中的球體。這些是我們用來調整陰影的關鍵方法,以便使它們看起來不那麼“像CG”。
對於“自身陰影”,我們使用了這四種方法,有點類似於如何在頭髮上使用“球面法線”,“平滑法線”和“法線轉移”可以將陰影線應用於更簡單的幾何形狀,並將其轉移到高度詳細的幾何形狀上。“光線彎曲”可以將陰影線移動,要麼向照亮的區域移動,要麼向陰影區域移動。在示例影像中,大白的身體的陰影線向亮區彎曲,以著重強調其圓潤。電影《蜘蛛俠:平行宇宙》中也使用了類似的技術,以更藝術的方式渲染人物,儘管這並不是物理上正確的照明。
因為手繪設計通常希望較暗區域的細節較少,所以凹凸貼圖在陰影區域的細節也需要減少。我們透過使用“光和陰影的單獨凹凸”來實現這一點。為了調整“投射陰影”,我們使用了以下三種方法:隨著距離增大變得透明、銳化柔和陰影和陰影混合。
為了藝術地模仿柔和陰影在現實世界中表現出的隨距離而褪色的效果,投射陰影可以隨著物件距離變得更加透明,即陰影中的一點與投射該陰影的物件之間的距離(這與相機距離無關)。這個功能可以在影像中看到,地面陰影隨著與大白的距離而變淺。但與現實世界不同,這些陰影也不會隨著距離的增加而變得更加模糊——它們只會變得更加透明。
“銳化柔和陰影”是一種非常有趣的技術,可以從方形物體投射出極為簡化的、甚至是圓形的陰影。這一功能也被用於影像中。最後,這些技術中的許多陰影可以在著色器內組合,並輸出為一個單一的,組合的陰影。
下圖來自我們的作品《超能陸戰隊》番外短片之“大白與毛球” ,這是計算機圖形陰影的一個很好的例子,它並不是投射陰影的物體形狀的完美投影。正因為如此,它看起來很有藝術感,像是手繪的陰影。
“混合陰影”是一種非常有前途的技術。然而,雖然其效果看起來非常令人滿意,絕對不像“CG”,但這種方法需要在所有組合元素之間找到一個微妙的混合平衡,這樣就不會有一個元素壓倒其他元素。只有平衡良好的混合才能創造出最佳的陰影效果,這甚至可能需要每個場景的調整。因此,對於大規模製作來說,其成本可能過於昂貴。可以期待隨著技術的發展,找到最佳混合平衡可以完全自動化。
使用計算機圖形來非常接近2D手繪設計確實是可能的。但CG越要接近2D手繪設計的效果,研究難度越大,工具越複雜,需要的開發時間和精力也就越多,並且這種難度呈指數級增長——每一個進一步的增量改進都需要更多的開發時間和複雜性。其成本十分昂貴。而由於缺乏與一些海外工作室相同的資源,日本動畫製作很可能會遇到預算緊張的問題。雖然理論上可以實現,但從根本上說,擺脫“CG風格”的外觀是日本CG動畫的一個潛在困難。此外,另一個可能更好的解決方案是調整2D手繪設計,以適應計算機圖形的限制。
來源:網易雷火UX使用者體驗中心
本文編譯自SIGGRAPH2022的線上教學課程。主要介紹了當今計算機圖形學(CG)技術在日本動畫的應用。課程分為兩部分:
- 日本動畫中的機器人:Marc以作品《索斯機獸》(Zoid Wild)系列為例,介紹如何用CG技術在日本動畫中製作機器人。
- 將手繪設計適應3D計算機圖形的挑戰:Andreas介紹使手繪設計適應3D計算機圖形的挑戰,如何用日本動畫的方式製作輪廓,頭髮,眼睛等等。
本文先介紹第一部分:日本動畫中的機器人。在課程開始之前,講師先簡要介紹了日本動畫的工作流程,有助於大家有一個整體的理解。
兩位課程主講分別為Marc Salvati和Andreas Bauer。
Marc Salvati,於2004年作為東京工業大學計算機圖形學博士來到日本。自2008年起,他在OLM Digital的研發部門工作。他最初作為一名軟體工程師為Maya和After Effects開發了各種外掛。現在,他領導著一個開發人員和研究人員團隊,處理OLM Digital中所有的CG 和傳統動畫需求。
Andreas Bauer,日本Polygon Pictures的著色器編寫者。在英國伯恩茅斯大學以優異的成績獲得計算機動畫碩士學位後,鮑爾在倫敦的Framestore和洛杉磯的Sony Pictures Imageworks擔任著色器編寫者,然後加入東京的Polygon Pictures。目前他在東京專門從事非真實感繪製(Non-photorealistic rendering),聚焦於手繪風格和新的混合設計。在過去的十年裡,鮑爾一直在Polygon Pictures開發卡通著色和輪廓渲染,設計計算機圖形學的新方法,使其儘可能忠實地模仿日本傳統動畫的外觀。
一、日本動畫製作的工作流程概述
日本動畫的工作流程大多是從非數字的方式開始的,60年前,手冢治虫設立了製作標準,製作了《鐵臂阿童木》的漫畫和電視劇,這種工作流程的特點是時間緊迫,需要高效率的製作,使用紙張進行繪畫,顏色線條大多是黑色。目前一些動畫工作者仍在使用紙張進行繪畫,使用黃色時間表來記錄繪畫幀數和關鍵幀。
現在,日本動畫也逐漸向數字化轉變,用CG建立機器人和機械部件效果會更好。但數字化需要不同的技能和專業人員,以及高昂的機器和軟體成本。並且,製作動畫需要建立特定的流程和指令碼,用手繪來處理不規則情況更容易。所以,日本動畫更多采用2D和3D混合的方式,而非全CG或全手繪。
製作動畫的流程包括前期製作、製作、後期製作。
前期製作包括規劃、原型、情節、設定和故事板。
- 規劃是關於專案型別和目標受眾的計劃;
- 原型是簡短的故事梗概,通常只有幾行;
- 情節是原型的擴充套件版本,通常有兩到三頁,根據情節建立角色、設計顏色和背景。設定是對角色和背景的繪畫設計;
- 故事板是動畫的詳細藍圖,包括聲音、鏡頭移動等細節。
製作過程中,首先建立佈局和最終背景,佈局比故事板更詳細,它設定了我們必須要做的繪圖;然後是所有內容的顏色設計;接下來進行動畫製作,包括關鍵幀和中間幀;完成繪畫後,進行清理、上色和合成。
後期製作主要涉及配音,新增音樂和聲效。
所以,當把CG新增到工作流程中,在前期製作中主要任務之一是,理解我們應該做什麼,並定義和決定什麼應該在CG製作,什麼應該手繪。它有助於估算成本,並允許我們開始建立資源。
通常建模和繫結是在製作期間完成的,但在日本,因為時間緊迫,主要是在前期製作中完成,一旦知道有這樣的角色,就開始對它們進行建模,即使它們仍然處於前期製作階段。因為如果混合CG和日本動畫,我們需要為CG做預錄製和為2D做後錄製。然後進行所有典型的CG步驟,包括佈局、動畫、照明/渲染和合成。後期製作與2D相似。
所以當混合3D和2D時,我們會選擇一個主要場景,作為引導,來加入2D或3D元素。我們可以先建立3D佈局,然後交給2D部門進行關鍵幀和中間幀的製作,或者先手繪2D佈局,再建立與之匹配的CG,最後在合成時混合在一起。因此,在預製作階段,我們需要進行規劃,確定哪些元素是3D,哪些是2D。
總之,日本動畫的工作流程主要受到時間和金錢預算的影響。日本的預算比美國低很多,因此需要更多的規劃和創意。日本動畫越來越向數字化發展,使用數字平板進行繪畫,並開始使用人工智慧自動化一些任務,以便更好地專注於創意部分。日本動畫越來越傾向於以混合方式將傳統動畫和CG結合起來。
二、日本動畫中的機器人
在日本動畫中,常常會使用機器人元素,例如《索斯機獸:荒野紀》(Zoids Wild)。《索斯機獸:荒野紀》是一部關於機器人的作品,有很多特效和大規模的戰鬥場面。Zoids是“活著”的機器,是一種機械生物和靈魂的混合體。在第一季中,它們沒有眼睛,只有駕駛艙。在其他系列裡它們有了大眼睛,這些眼睛給予更多的情感,看起來更像野獸和動物,而不是機器人。
客戶要求Zoids以3D完成,這是相當合理的,但人類是手繪的,這是一個挑戰。首先,我們將討論流程中的建模和動畫等,來講述團隊在這一過程中所面臨的不同挑戰。
在開始階段,我們必須對這些機器人進行建模。所以我們使用了玩具CAD資料,並將其改為視覺效果,每次我們改變視覺效果時,我們都需要得到玩具公司的批准。即使是小細節,小顏色變化。
為了使視覺更具吸引力,並使模型更加合適做動畫,我們不得不改變玩具的設計,所以這個過程相當漫長而繁瑣。我們列印了一些東西,在上面新增了一些手繪的註釋或手寫的註釋,用一些便利貼傳送給客戶,以便他給我們一些反饋。我們所做的更改是為了使這些東西更具吸引力而新增細節。
然後對於動畫,我們需要做一些調整。在這個例子裡,左邊的圖片上,每次手臂移動時,軸將需要移動,並具有相同的動畫效果。這需要移動複雜的裝置,所以我們問,我們能不能擺脫這個連線,這樣它就不必每一步都伸展。這樣一來,就可以使裝置更容易製作。
對於動畫本身,建模完成後,需要製作更好的動畫和更好的骨骼系統,還要進行四足動物的測試,以便製作出更真實的動畫。動畫需要感受到地面和重量,同時也需要保持野性動物的特點。我們進行了多次測試。
我們需要製作一個機器人動物的混合體,機器人很容易讀取動作,但是動物的動作更加誇張。我們最終採用了介於機器人和動物之間的動作,因為機器人動作太慢,而動物動作太誇張。大部分動畫都是在2秒內完成的。
現在我們有了一些參考來創造很多動畫。在日本動畫中,我們使用很多2s或3s的有限動畫。製作動畫的第一步是基礎動作,我們採用逐幀繪製的方式,儘量減少控制器的數量,聰明地使用骨骼系統。
現在我們有了手繪動畫和CG動畫,接下來需要將這個CG部分與手繪角色混合。機器人等細節豐富的角色適合使用CG製作,但是CG角色表現力不如手繪角色。因此,採用分部渲染的方式將手繪角色與CG角色混合。像圖片展示的那樣,輸出來自機器人不同部分的各種掩模,以便我們可以將手繪的角色插入到不同部分的中間。這樣看起來就像是角色在騎機器人。
CG和手繪動畫的合成是在後期製作完成的,透過渲染不同部位的CG模型,CG角色可以作為手繪角色的指導,我們也可以構建一個庫,減少重新渲染的需求。在快速動作場景中,使用CG角色可以更好地呈現細節;而在近距離鏡頭中,需要手繪角色以獲得更好的表現效果,可以透過手繪覆蓋的方式改善CG角色的表情和動作。
此外,在製作過程中,我們想避免典型的3D CG外觀,讓它平滑地漸變,就像一些老遊戲一樣。在日本動畫中,通常只使用三到五種顏色,因此使用自定義的漸變工具來製作卡通渲染效果,透過亮度對映來調整顏色過渡的平滑度。在《索斯機獸:荒野紀》中,我們使用了四種顏色:兩個陰影,次要陰影和主要陰影,普通顏色和一個高光顏色。我們沒有使用第二個高光。
我們為顏色建立了一些紋理,並在這個紋理中對映了UV,使顏色變得漂亮而平滑。首先有四種顏色模式,用於白天、夜晚、陰影等,然後將其用於基本的單元格著色,我們一般使用紋理和顏色來對映這些內容,而不是使用亮度。我們還支援邊緣光,以及更改邊緣光的顏色和光滑度。
我們使用了所謂的偏移紋理,以控制陰影或高光的大小。透過建立一些漸變,還可以獲得漂亮的高光形狀和陰影。
我們將UV殼放置在某些漸變部分,以在亮度變化時產生不同的過渡。可以看到陰影和高光的形狀是由特定的UV放置方式完成的。
接下來關於輪廓線,這也是手繪動畫的最大特點之一,通常透過觀察輸出影像中的差異來繪製描邊,如物件之間的差異、顏色之間的差異、UV之間的差異、法線之間的差異等。
定義輪廓線的方法有很多種,不是所有的面都需要輪廓線,到處都有輪廓會顯得很嘈雜,使用對比色來選擇需要輪廓線的面,並放置在一個網格紋理上不同的插槽中,可以定義需要輪廓線的區域,使得輪廓線出現在需要的地方。
在機器人設計中,輪廓線是靜態的,不會改變。而在特效製作中,可以混合3D和2D效果,沒有固定的規則,只使用最好的效果。因此我們有一個特效庫,包含了2D和3D效果,如燈光、風、水、火、煙霧和爆炸。在動畫製作中,可以從佈局就開始新增特效。即使有的特效是臨時的(被稱為“atari”),也可以幫助製作人員快速獲得最終效果的感覺,而一般來說最終效果是將臨時特效和動畫結合起來得到的。
總的來說,在日本動畫中,CG和2D的混合使用,可以讓畫面更加生動。在《索斯機獸:荒野紀》的例子裡,CG被用於機器人的動畫製作中,使其更加細膩,但是需要注意,混合使用CG和2D會增加製作成本。我認為可以這樣概況整個日本動畫的故事:試圖在非常緊張的時間和預算限制下適應藝術決策。
以上,我們主要講述了日本動畫的製作,探討了如何將計算機圖形元素與2D手繪動畫相結合,特別是製作“日本動畫中的機器人”。以下,來自日本OLM Digital和Polygon Pictures的兩位講師Marc Salvati及Andreas Bauer,將重點關注計算機圖形和計算機圖形動畫,以及“使手繪設計適應3D計算機圖形面臨的挑戰”。
我們想解決的最終問題實際上是:“計算機圖形(CG)能否達到手繪設計的效果?”。簡而言之,答案是:“受控的簡化很難”。
首先,我想從一般的CG動畫談起。然後重點討論我們在將2D手繪設計轉換為3D計算機圖形時遇到的主要挑戰,並呈現我們找到的所有解決方案,最終得出了一個也許有點出人意料的結論。
CG動漫還是有爭議的。大多數鐵桿動漫迷仍然不接受CG動畫——僅僅因為“它似乎看起來不對”。然而,計算機圖形是當今主要的藝術媒介——它需要被接受。
CG消除了許多創作限制:新的攝像機位置很容易設定;相機運動實現了手繪動畫幾乎不可能實現的自由度;調整很快能完成,任何錯誤都容易糾正;而且任何重複的任務都會大大加快速度。但最重要的是,就像任何新的藝術媒介一樣, 計算機圖形也拓寬了藝術的可能性。它使混合設計成為可能,2D手繪外觀可以透過CG元素得到擴充套件和增強。
我們製作的《人間失格》中的這張圖片是混合設計的一個很好的例子。它展示了一個3D全息圖。這是一個2D動畫外觀,透過三維深度、光圖案以及發光效果進行增強,最終呈現了同一個全息圖的廣角鏡頭。
發光效果也被用於傳統的手繪動畫中,但這需要額外的特效繪畫和困難的多重曝光拍攝,其成本是昂貴的。此外,CG動畫允許建立新的混合設計,而這在手繪動畫中很難。
另一方面,在CG中完全再現手繪設計真的很難實現,比大多數人想象的要難得多。以下是我們在將手繪設計改編為CG動畫時遇到的主要挑戰:
- 輪廓不僅僅是輪廓線,它們實際上是一種藝術強調。
- 頭髮總是高度風格化的,要避免畫出單獨的頭髮。
- 眼睛總是大家的主要焦點,因此需要儘可能飽含情感。
- 邊緣光並不像電影拍攝現場上的邊緣光那樣使用,相反,它們只是物體周圍細小、明亮的輪廓線,作為與背景形成對比的線條。
- 陰影線是光影邊界,也就是物體被照亮的部分和處於陰影中的部分之間的邊界,這些陰影線總是被簡化的, 只表現出整體形狀,幾乎不顯示任何物體的細節。
- 投影陰影更適合草圖風格,幾乎沒有要處理的細節。
所有這些的要點是:簡化是一種藝術手段。這要麼是為了藝術目的,以強調某些表達,要麼只是為了節省金錢和時間。然而,另一方面,CG總是忠實地、完全準確地渲染所有物體,100%銳利,100%精確,100%完美,沒有情感,沒有變化,沒有簡化,也沒有任何強調的重點。實際上,讓CG物體看起來自然和未經打磨是相當困難和耗時的。在這方面,CG與現實世界完全相反。
三、關於“頭髮”的挑戰
首先,我們遇到的挑戰是關於頭髮的繪製。主要有以下幾點:第一,使用“髮束”以避免繪製單個頭發。對於“捲曲”或“凌亂,蓬亂的頭髮”的特殊挑戰,我們的解決方案是使用“球形法線”和“髮束法線” 來建立更美觀的陰影線。然後,我想詳細介紹一個“程式性頭髮高光”的例子。最後,介紹一個最近在手繪動畫中引入的風格元素:“選擇性頭髮透明”。
“髮束”技術使用
在手繪動畫中,幾乎不可能一幀一幀地為每一根頭髮製作動畫。因此,這一階段可以較早的開始簡化,將幾根頭髮分組成為一束,然後將每一束作為一個單獨的物件進行動畫處理。這在計算機圖形中被複製為“髮束”——長形幾何物件,帶有錐形頂端,每個代表一束頭髮。在CG動畫中,“髮束”仍然是最常用的頭髮形式。這張圖片來自我們製作的《綠林女兒羅妮婭》。這是早期CG動畫中使用的簡單髮型的一個很好的例子。
捲髮處理
製作特別凌亂的髮型,像狂野的捲髮,或者蓬亂不整的頭髮,可能會成為一個挑戰。因為CG總是完全準確地渲染物體,而凌亂的頭髮總是會導致凌亂的陰影。
就像下圖這個例子,來自我們的作品《綠林女兒羅妮婭》。這顯示了一個早期的外觀開發測試,使用的是標準的光線跟蹤陰影,角色有一頭相當凌亂的頭髮,這不是手繪的陰影線應該有的樣子。手繪動畫會大大簡化這個陰影——僅使用頭部的整體形狀,建立一個更像球體上陰影的陰影線。
如何解決這個問題?我們找到的解決方案是“球面法線”。“球面法線”用一組與球體法線相似的新法線取代了整個頭髮上的表面法線,似乎都是從頭髮幾何的中心發出的。
球面法線應用
這張圖片展示了我們之前用“球面法線”渲染的例子,這建立了更乾淨、更有藝術感的陰影線。對於瘋狂捲曲的頭髮幾何,或極其凌亂的頭髮,陰影線條永遠不會像在球體上那樣完美光滑,這是由於幾何形狀的限制。雖然透過相機空間投影仍然可以實現完美平滑的陰影線,但這實際上不是我們想要的。在這兩個例子中,手繪的陰影線仍然會有輕微的曲折,以暗示頭髮的捲曲或凌亂。然而,整體的球形形狀將是最強的元素。
下面是《綠林女兒羅妮婭》的最終制作圖。它展示的是小寶寶羅妮婭,仍然留著凌亂的頭髮,但多虧了“球面法線”的應用,畫面中有了更清晰的陰影線。羅妮婭寶寶是我們開發“球面法線”的原因,也是第一個使用這個概念的角色。從那時起,我們作品中的每個角色都開始使用“球面法線”,這不單單應用在他們的頭髮幾何形狀上,在許多情況下也應用在他們的面部幾何形狀上。
髮束法線的融入
雖然“球面法線”解決了複雜的外觀,但結果可能太簡化了,因為它也完全消除了任何長髮髮絲的感覺。我們找到的解決方案是融入“髮束法線”。
長髮通常使用其髮絲曲線或髮帶的切線法線,而短髮可以使用從其生長的表面獲得的法線,即髮根處的幾何法線。對於每個“髮束”,應該分析其所有頂點位置以計算“髮束”的整體方向,從其根部到其頂部,然後使用此方向向量作為整個“髮束”的一個表面法線。
在“髮束法線”的渲染影像中,你可以清楚地看到每個“髮束”都只有一個顏色,也就是說只有一個法線。這些“髮束法線”本身不會給出有用的渲染結果。但透過混合3種可用法線的能力——原始表面法線、“球面法線”和新的“髮束法線”,藝術家可以找到一種平衡,建立一個更接近手繪設計的陰影線。
下圖右邊顯示的是僅使用“球面法線”實現的卡通陰影效果。左邊的影像融合了“髮束法線”,它在陰影線上增加了實際髮絲的感覺。這種陰影效果優於僅使用“球面法線”的過於簡化的外觀。
程式性頭髮高光
早期的CG動畫很少使用頭髮高光。如果有的話,也都是固定的或投射的表面紋理。但這種靜態的頭髮高光,不像真實的頭髮高光,永遠不會對攝像機視角或光線方向的變化做出反應。然而,即使是靜態的頭髮高光,在手繪時,也永遠不會一幀一幀地畫出完全相同的效果。現實中,頭部旋轉的小變化總是會導致頭髮高光看起來稍有不同。因此,如果一個CG動畫使用完全靜態的頭髮高光紋理,這將因此立即暴露它是計算機圖形。
然而,計算機生成的頭髮高光可以模擬這種手繪行為。與靜態的、繪製的紋理不同,程式性的頭髮高光,也可以是動態的,並適應相機視角或光線方向的變化。它們的反應程度是可選的——從強烈的、真實世界般的反應性,一直到沒有反應性。而介於中間的輕微反應,似乎能給出最令人滿意的效果。
作為程式化的一部分,頭髮的高光也可以使用並響應個體的“髮束”的形狀,根據幾何形狀自然地變化高光圖案。這種反應的強度也是可以選擇的。下面的動畫示例來自我們的製作《獵龍飛船》,展示了當頭部旋轉和“髮束”移動時,程式化頭髮高光圖案的微小變化。
高光幾乎就像一個靜態的頭髮紋理,但仍然會隨著頭髮的運動和相機的視角略有變化。我們最先進的程式性頭髮高光是高度可定製的,可以在不同方向上看到高光的外觀。
選擇性發絲透明度
另一個手繪動畫中引入的新樣式元素是“選擇性發絲透明度”。儘管它是最近才出現的,但現在已經成為一個成熟的樣式元素。當“髮束”在特定的物件前面時,會半透明地繪製,通常是在眼睛、睫毛和眉毛上應用。
這是真正的選擇性頭髮透明度,因為這種透明度不適用於任何其他物體,如皮膚、衣服、珠寶或其他“髮束”。建立“選擇性頭髮透明度”的解決方案是我稱之為“跟蹤到ID”的功能。所有頭髮幾何alpha通道保持預設值1,完全不透明,因為這是單獨的模擬透明度,與alpha通道無關。當相機射線擊中具有某種著色器的物件時,例如髮束材料,會傳送一個新的探針射線,沿著射線方向繼續搜尋具有非常特定“ID”的材料的任何物件。如果在一組最大追蹤級別內找到,則計算該找到的物體的表面顏色,並與傳送探針射線的第一個材料的表面顏色混合。
四、關於“眼睛”的挑戰
關於“眼睛”的挑戰,我想重點談三點:從早期CG動畫到最近的設計,“眼睛幾何”的變化本身,以及“眼睛高光”和“眼睛陰影”的重要性。
早期的眼睛設計有相當簡單的幾何形狀——只是一個單一的球體,它的大小和形狀大致符合解剖學。而最近的設計變得更加複雜:有兩個獨立的幾何形狀—— 一個是虹膜和鞏膜的,另一個則是更大的、完全透明的角膜的,並且還使用了物理上的折射。
使用兩個獨立的幾何形狀有助於在虹膜上建立更有藝術感的眼睛陰影。更大的眼睛幾何形狀可以更好地支援那些大眼睛的外觀。透過使用物理上的折射,從側面看眼睛更加逼真。當然,這種形狀變化在解剖學上不一定是正確的。事實上,這兩個“眼球”現在更像“眼睛立方體”,通常重疊並相互交叉。但這種形狀變化也允許更廣泛的表情範圍,因為眼睛通常是主要焦點,需要儘可能具有情感。在我們所有的模型中,球體的極點總是在瞳孔的中心。這是一個深思熟慮的選擇,以便動畫師即使在基本的線框檢視下,仍然可以理解瞳孔在哪裡,眼睛在看哪個方向。
早期的眼睛設計沒有任何單獨的幾何形狀用於眼睛高光,高光只是眼睛顏色紋理的固定部分。就像這張來自我們作品《綠林女兒羅妮婭》的圖片一樣。
最近的設計使用了單獨的、完全操縱的眼睛高光幾何圖形——通常每個眼睛有幾個,這極大地促進了眼睛高光動畫效果的提升。每個眼睛高光的形狀和位置都可以很容易地修改,而動畫師可以快速檢查這些修改,即使是線上框檢視中。有單獨的幾何形狀也使得將高光輸出到蒙版緩衝區變得容易,然後在後期製作中用於進一步新增發光效果。從我們製作的《人間失格》的圖片中可以看到,因為眼睛通常是主要焦點,眼睛高光也發揮著非常重要的作用。
早期的眼睛設計只使用場景中的關鍵光線在眼睛上投下陰影,但這些陰影往往是錯誤的,而且很難修復。使用單獨的、專門的光源來投射眼睛陰影也不是一個好的解決方案,因為它不能真正塑造陰影,也不能輕鬆控制哪些物體可以在眼睛上投上陰影。在我們的作品《人間失格》的最初呈現中,陰影顯然有點太深入眼睛了。
後來我們的設計轉向將陰影紋理投射到眼睛上。這允許透過投射的陰影紋理在一定程度上塑造眼睛陰影,但它也有自己的限制。首先,它需要相當複雜的眼睛設定,而且投影的陰影在幾乎閉上的眼睛上看起來是錯誤的。
所有這些問題都可以透過使用程式化眼睛陰影來避免。比如下圖《環太平洋:黑暗大陸》中,程式性陰影是光線追蹤的,完全獨立於所有場景燈光,並允許為每個眼睛單獨塑造和調整陰影。它們允許指定哪些物體可以在眼睛上投下陰影,陰影看起來即使在幾乎閉合的眼睛上也是正確的。
正如我們所看到的,最近的作品不再使用解剖學上正確的眼睛幾何形狀。在我們的作品《環太平洋:黑暗大陸》中,其中一個主角的眼睛是線框模型。因此,程式性眼影不能依賴於球形,也不能依賴於眼睛的幾何中心筆直地排在虹膜後面這一事實。相反,需要建立一個新的虛擬眼中心點。
如下圖,從眼睛的實際幾何中心(E)開始,需要在物件空間中應用“偏移XYZ”值,以定義新的虛擬眼中心(V),它需要大致與虹膜中心(I)後面的位置對齊(如向量vi所示)。探測射線從這個虛擬眼中心(V)發出,搜尋允許在眼睛表面投射陰影的特定物件——通常只有睫毛幾何體。任何與這些物件(P1、P2和P3)的光線相交都會在眼表面上輸出陰影。
允許投射陰影的物件列表並不侷限於場景中可見的物件,它還可以包括只用於在眼睛上建立特定形狀陰影的隱形物體。為了計算一個程式化的眼睛陰影,著色器需要被告知眼球的幾何形狀,允許在眼睛表面投射陰影的物件列表,以及“偏移XYZ”值,修改“偏移XYZ”值在物件空間中移動虛擬眼睛中心。這也移動了眼睛陰影,且有效地進行了塑造。
五、關於“陰影”的挑戰
從將手繪設計改造為3D計算機圖形的所有挑戰來看,“陰影”是目前為止最大的挑戰。不僅因為光線跟蹤的陰影通常看起來“像CG”,還因為它們太尖銳,太完美,顯示了太多的細節,而這些細節通常在手繪設計中被忽略;還因為實際上陰影的型別不止一種,而是好幾種,每種型別都需要專門處理,才能創造出看起來更像手繪的整體陰影設計。
更糟糕的是,這些陰影型別也可能重疊,因此當單獨刪除或修改一個型別時,可能仍然不能達到預期的最終效果。下面的示例影像顯示了一個非常簡單的色塊陰影場景。由於在這個場景中只有一種光源,人們可能會認為,也只有一種陰影。但事實並非如此,這張圖包含了許多不同型別的陰影。讓我們分別來分析一下。
“自身陰影”是物體背離光源的那些部分。更準確地說,是表面法線和反向光線方向向量成大於90度角的部分。自身陰影定義了物體的主要“陰影線”(即其“光影邊界”),這是物體從被照亮到被遮蔽的轉變點。在影像中,“自身陰影”用紅色繪製。這種陰影型別需要最多的關注,因為它通常是需要簡化或移動的主要陰影線。
“次要陰影”是深入“自身陰影”內部的更暗的陰影。“次要陰影”從不存在於“投射陰影”中,它們只出現在“自身陰影”內部。在影像中,“次要陰影”用純黑色繪製,主要用於在陰影區域中建立額外的對比度。次要陰影有助於更好地勾勒出圓環的形狀,以緩衝地面上的投射陰影。
“自身投射陰影”是物體投射到自身上的陰影。在影像中,“自身投射陰影”以綠色繪製。可以看到這種型別的陰影可以與“自身陰影”重疊,如影像中的黃色所示。換句話說,陰影的某些部分既可以是“自身陰影”,也可以是“自身投射陰影”。這些重疊實際上使得控制單個陰影型別變得更加複雜,因為在這些區域,必須調整這兩種陰影型別才能獲得所需的結果。
“他人投射陰影”是除自身以外的任何物體投射的陰影。在影像中,“他人投射的陰影”用藍色繪製。
最後,“環境光遮蔽”也可以被視為一種陰影型別,因為它是一種柔和的接觸陰影形式。在影像中,柔和的陰影由“環境光遮蔽”提供。這種陰影型別有時會直接新增,以達到藝術目的,以建立柔和的漫射照明感。但大多數情況下,“環境光遮蔽”被用於閾值化,以新增卡通式的接觸陰影。
“自身投射的陰影”和“他人投射的陰影”的區別需要進一步解釋。角色的身體幾何通常只接收“自身投射的陰影”,而不是來自其他物體的陰影。例如,一個角色的手臂放在胸前應該在胸部投射陰影。“他人投射陰影”通常只用於地面。角色應該在地面上投射一個投影陰影,但是它們通常不在任何其他角色身上投射陰影,只能投射在它們自己身上 (這就是“自身投射陰影”)。
頭髮是個例外。不像身體的其他部位,“髮束”通常不應該接受“自身投射陰影”,因為這使頭髮的陰影太過密集,看起來太“像CG”。下圖顯示了頭髮的理想效果,它只使用了“自身陰影”——使頭髮上的陰影線保持簡單。與人體幾何形狀相反,頭髮偶爾可以使用“來自他人的陰影”,例如,帽子或其他頭飾可以將陰影投射到頭髮上。就像示例影像中的球體。這些是我們用來調整陰影的關鍵方法,以便使它們看起來不那麼“像CG”。
對於“自身陰影”,我們使用了這四種方法,有點類似於如何在頭髮上使用“球面法線”,“平滑法線”和“法線轉移”可以將陰影線應用於更簡單的幾何形狀,並將其轉移到高度詳細的幾何形狀上。“光線彎曲”可以將陰影線移動,要麼向照亮的區域移動,要麼向陰影區域移動。在示例影像中,大白的身體的陰影線向亮區彎曲,以著重強調其圓潤。電影《蜘蛛俠:平行宇宙》中也使用了類似的技術,以更藝術的方式渲染人物,儘管這並不是物理上正確的照明。
因為手繪設計通常希望較暗區域的細節較少,所以凹凸貼圖在陰影區域的細節也需要減少。我們透過使用“光和陰影的單獨凹凸”來實現這一點。為了調整“投射陰影”,我們使用了以下三種方法:隨著距離增大變得透明、銳化柔和陰影和陰影混合。
為了藝術地模仿柔和陰影在現實世界中表現出的隨距離而褪色的效果,投射陰影可以隨著物件距離變得更加透明,即陰影中的一點與投射該陰影的物件之間的距離(這與相機距離無關)。這個功能可以在影像中看到,地面陰影隨著與大白的距離而變淺。但與現實世界不同,這些陰影也不會隨著距離的增加而變得更加模糊——它們只會變得更加透明。
“銳化柔和陰影”是一種非常有趣的技術,可以從方形物體投射出極為簡化的、甚至是圓形的陰影。這一功能也被用於影像中。最後,這些技術中的許多陰影可以在著色器內組合,並輸出為一個單一的,組合的陰影。
下圖來自我們的作品《超能陸戰隊》番外短片之“大白與毛球” ,這是計算機圖形陰影的一個很好的例子,它並不是投射陰影的物體形狀的完美投影。正因為如此,它看起來很有藝術感,像是手繪的陰影。
“混合陰影”是一種非常有前途的技術。然而,雖然其效果看起來非常令人滿意,絕對不像“CG”,但這種方法需要在所有組合元素之間找到一個微妙的混合平衡,這樣就不會有一個元素壓倒其他元素。只有平衡良好的混合才能創造出最佳的陰影效果,這甚至可能需要每個場景的調整。因此,對於大規模製作來說,其成本可能過於昂貴。可以期待隨著技術的發展,找到最佳混合平衡可以完全自動化。
使用計算機圖形來非常接近2D手繪設計確實是可能的。但CG越要接近2D手繪設計的效果,研究難度越大,工具越複雜,需要的開發時間和精力也就越多,並且這種難度呈指數級增長——每一個進一步的增量改進都需要更多的開發時間和複雜性。其成本十分昂貴。而由於缺乏與一些海外工作室相同的資源,日本動畫製作很可能會遇到預算緊張的問題。雖然理論上可以實現,但從根本上說,擺脫“CG風格”的外觀是日本CG動畫的一個潛在困難。此外,另一個可能更好的解決方案是調整2D手繪設計,以適應計算機圖形的限制。
來源:網易雷火UX使用者體驗中心
相關文章
- 計算機視覺技術在物聯網中的發展與應用計算機視覺
- 淺談深度學習的技術原理及其在計算機視覺的應用深度學習計算機視覺
- 大慶市中學生計算機技術應用能力大賽計算機
- 【CG】圖形學相關
- RRAM機制、材料及其在神經形態計算中的應用
- QuartzCode for Mac(動畫開發製作應用)quartzMac動畫
- PDM技術在製造企業中的應用及研
- 「譯」有限狀態機在 CSS 動畫中的應用CSS動畫
- 探秘資料庫中的平行計算技術應用資料庫
- CG大廠暴雪動畫資深總監陳璿分享動畫製作經驗動畫
- 計算機圖形學-線性過濾計算機
- 計算機圖形學 第四章 圖形變換計算機
- 32年後,計算機圖形學再獲圖靈獎,皮克斯大佬推動3D動畫發展計算機圖靈3D動畫
- 分析技術在PMP中的應用
- AI技術在智慧海報設計中的應用AI
- 物件導向的例項應用:圖形計算器物件
- canvas核心技術-如何繪製圖形Canvas
- 深度學習在計算機視覺各項任務中的應用深度學習計算機視覺
- 計算機圖形學之矩陣變換計算機矩陣
- 計算機圖形學入門·光柵化計算機
- 大學計算機必修課新講--編譯原理+作業系統+圖形學計算機編譯原理作業系統
- HuggingFace在NLP和計算機視覺中的應用 - Reddit計算機視覺
- 圖卷積在基於骨架的動作識別中的應用卷積
- 4次Bezier曲線--計算機圖形學 opengl計算機
- 一個碼農是如何用遊戲推動計算機圖形學的?遊戲計算機
- 計算機圖形學:虛擬和現實世界的融合計算機
- 視覺化程式設計技術在移動 UI 自動化中的應用 - 張海峰視覺化程式設計UI
- 深度學習技術在網路入侵檢測中的應用深度學習
- 深度學習在攝影技術中的應用與發展深度學習
- 大廠技術實現 | 影像檢索及其在淘寶的應用 @計算機視覺系列計算機視覺
- 在Linux中,如何進行容器技術的應用?Linux
- AI+RPA技術在反洗錢中的應用AI
- FMEA在安防技術系統中的應用
- 視覺化技術在 Nebula Graph 中的應用視覺化
- 葉聰:朋友圈背後的計算機視覺技術與應用計算機視覺
- 機器視覺技術在木材加工質量檢測中的應用視覺
- 如何快速應用機器學習技術?機器學習
- 用PPT製作一個簡易的演示動畫動畫