為什麼會說根據數碼相機的兩張照片來做中間一個無中生有的缺失幀會這麼跟做特效不同呢?要知道這有了前後兩張照片那跟單獨的做一張靜態cg不同就在於,前者是需要你憑空做出來的東西是符合科學原理的!是要跟前後連貫到一起的!打個不太恰當的比方,就等於同樣是邁步,從右腳開始離開地面,一直到右腳落地這麼一個過程,如果中間缺的20幀比如說都需要憑空創造的話,那麼這憑空創造出來的幀數,那一定要讓人物的動作絕對的跟前後兩張照片能無縫連接!
不可能說中間20幀做的看起來很科學,但是就跟前後比起來有那麼一點點接不上,有點點不一樣,那觀眾看著也可能就會突然一跳的趕腳!這種趕腳是很不好的!如果單純的做一個靜態cg,那是隨意的畫,想畫什麼樣那都是正常的,只要符合人體運動原理就行。愛睍蓴璩但是這種補充幀呢,那就像是做完形填空一樣,正確答案就只有一個,但是這麼一場段話裡面那空檔太多了!
比如說,程龍飛在空中的時候,不只是人大體上手腳啊肢體有動作,可能毛髮、衣物甚至是皮膚上的皺紋、鞋帶這些都會有動作!怎麼把這兩張之間的詫異都發現,然後都做出來一個中間形態呢?這簡直比大家來找茬還難!而且最關鍵的是,這不是同一個相機拍的兩張哦!這還是不同角度的不同相機拍的哦!這尼瑪怎麼弄?這連弄個程序來自己檢測什麼位置的圖像有變化都沒辦法做到!機器最多只能把兩張圖片做數據比較,分別對比每個點上的顏色對不對這樣,但是兩個不同的角度這本來拍攝出來的東東那不一樣的太多了,所以程序也沒辦法智能的做到!
哪怕就算是程序發現了,那又能怎麼樣呢?比如說千分之一秒的時間裡面,程龍滿頭的頭髮都稍微動了那麼兩毫米的距離比如說,那麼做中間幀的時候。不可能說前後照片裡面髮梢所處的xy軸的距離做一個平均計算,然後作假一個頭髮就了事——頭髮本身是有髮根的,髮根是連在頭皮上的,所以這頭髮絲的運動軌跡不是直線移動啊!這要按照物理原則來弄啊!所以要修一個頭髮的運動軌跡,要憑空創造出來一根頭髮的「中間狀態」,這就已經夠費精力的了,更不用說的是程龍有多少頭髮呢!對不對!人家都用霸王防脫洗髮水的嘛!外加衣服、鞋帶什麼的。這麼要真的靠人一個個的來類似ps的調整。那真心能累死人,搞不好做程龍跳樓這麼一個360環繞的子彈時間,就要整整做一年!
斯皮爾伯格帶隊過來,他自然不可能說用這麼笨的方法做這個特效。他想到了另外一個好辦法,一個相對輕鬆的多的辦法——那就是靠著不同角度的照片,來建一個3d的模型!然後利用3d的模型綁定之後,渲染周邊,弄成一個cg電腦圖像,然後再按照物理規則讓這些個零件在限定條件下運動,然後抓中間的那個卻掉的幀!然後做成圖像弄到膠片上,接著再跟原始膠片給剪接到一起!
什麼?一個cg的動畫還有內部的物理規則?當然有!這cg製作起來的時候,並不是說就是一個單獨的視角一個鏡頭設定好了位置。然後做渲染就行的!那是靜態cg!動態cg那都是要跟做遊戲一樣。不僅模型還要做貼圖,還要做渲染,最後要弄進去物理規則!這樣一來整體才盡量能夠讓這個「人物模型」自己走路!這樣才能省力氣啊!
比如說,一個人在大街上走路的簡單場景,這如果沒有物理規則的話。那麼弄起來會浪費時間以及奇怪到什麼程度?哪怕這個建模和貼圖弄的跟真的一樣,但是因為沒有物理規則,所以地面不一定是凸起!也就是說地面上的一個小石子可能只是貼圖,這個人的腳丫子是可以跟小石子重疊在一起的!是不會一腳把石頭踢開的!這樣假不假?
同時,一個簡單的走路場景,會因為沒有骨骼系統,沒有物理規則,結果人走路的時候那就像是沒有直接連接的積木搭成的人型一樣,可能走走脖子的位置就變得很奇怪,可能手擺動的就不對!這就需要人一點點的去調整,每一幀都要調整不說,每一幀都還要做的連貫、科學!這可能嘛?要是第二幀除了一點錯,第三幀才出一點,然後每一幀都有那麼一點點錯,累計到後面就會奇怪的無以復加!
所以,在特效界和cg界,就想到了一個聰明的辦法,我們跟做3d遊戲一樣,內置物理引擎,內置骨骼運動的物理原則,這樣很多簡單的東西我們就不用去調整了?就像是說用動作捕捉來捕捉一個人走路的動作,然後就跟影視劇花絮裡面演的一樣,電腦裡面就有一個類似人體骨骼一樣的東東在走路,把這個走路過程中每一個骨頭運動的規律給作為標準了,給貯存起來了,那麼以後再做人走路的時候,我們是不是只要把建立好的模型和貼圖,跟這個骨骼綁定起來,那麼他的動作就會自然而然的完成了?是不是就能跟真人走路一樣了?是不是說,我們
設定他從這裡開始走,走到那邊結束,我們設定好了起點和終點,那麼這個模型就會自己走?
這樣的話,只要進行最開始的數據庫和物理原則的累計,進行對整個虛擬世界內部各種物理原則以及光線反射原則的規定和收集,那麼以後做特效起來是不是會越來越快?這才是好萊塢工業化的做特效的秘籍!
所以斯皮爾伯格想到補充中間幀的辦法,那就是來建模,來建立一個3d模型,來弄上各種物理原則之後,讓建立的模型跟前後兩幀的動作分別為起點和終點,接著去讓模型自動動,然後來補充幀!可是。既然要這麼做3d模型了,為什麼說不直接就用3d模型做一個完全假的在空中的子彈時間特效出來,而要這麼麻煩的去找中間的幀呢?一個方面,這是賈鴻漸要求的,賈鴻漸是老闆,而另外一個方面則是因為做特效做3d模型,那也不是天生就有各種物理原則的!比如說3d效果裡面做出來人的頭髮。那現在最好的工作站和最強的技術。離做出來真人頭髮十分之一的毛髮那都遠的很!而且這個年代的機器和各種貼圖分辨率還不行,連好萊塢都需要真人演員在幕布前面演戲,只是用特技來模仿背景之類的,那斯皮爾伯格他們做出來一段空中360旋轉的特效cg。還怕觀眾看不出來這是假人麼?當時的各種光照條件,各種風速啥的,各種臉上的皺紋甚至還有皮膚的效果、衣服的質感,這些沒有照片作為依據,他們能做出來以假亂真的?
別開玩笑了好麼!到了2012年,那各種cg做出來的背景以假亂真的很多,但是真人哪個公司說自己可以做的天衣無縫沒人看得出來是真人假人的?沒有!所以,這種東東哪怕要做cg特效,而且是針對人的。那還是要把特效隱藏在真實的照片裡面。這樣才能插著一幀真一幀假,這樣才能在真實的基礎上去模仿!否則的話,那做出來的效果真心慘不忍睹!
不過呢,這樣要建模也是麻煩事兒,特別是涉及到了身體上各種「小零件」——比如毛髮、鞋帶之類要動的場景。一般來說,做人物建模的話,那就是讓一個人正面、側面、背面等等角度拍照,然後讓建模人員照著弄就好了。可是這有一個要求,那就是被拍攝的人員不要出現巨大的詫異!比如說不可能正面照的時候是立正,側面照你給我蹲著,這建毛模型啊!而一般建模的時候,雖然是可能一秒鐘一張這樣,但是因為種種要求的原因,以及不可能說精確到每根頭髮都建模等等的原因,所以人員自己轉身之後拍照,那是可行的——反正模型只是建立一個類似不帶頭髮的模型嘛!
但是賈鴻漸要求的這個特效就不一樣了,這又是要盡量的真,做到盡量不讓人看出來補充的幀是假的,那建模的精細度就要求很高了!那真是可能手指甚至是鞋帶、頭髮以及皺紋都要建模!而要建模呢,又最好是程龍跳在半空中的時候,這樣建模出來精確度最好!可是這個時候,60台數碼相機那又是分別差別千分之一秒拍攝的,可能頭髮的位置稍微有那麼一點點變動!所以這樣拍攝出來的照片雖然是不同角度的,可是真用來建模也有點不夠!
於是乎,經過了討論之後,這尼康公司又專門弄來了240台數碼相機,跟之前的四個圓圈弄到一起,變成240台相機裡面,有120台式千分之一秒遞進拍攝的,而另外120台則是同時拍攝的!這樣才能在空中抓到同一時刻內程龍不同角度的樣子,然後精確建模!接著再按照時間的不同來讓這個模型進行變化!
這事兒看起來好像非常非常麻煩,但是斯皮爾伯格和他帶領的兩個團隊的人卻是對這麻煩的要求很興奮——要知道,這是一個全新的拍攝方法,是以前聞所未聞見所未見的!而且,還有一個關鍵的地方是!如果他們這次能做好,那麼回頭回家了之後,大家是不是能夠集合在一起,討論一下怎麼做出來一個軟件,一個有了不同照片之後會自動建模然後自動補幀的這麼一個系統呢?沒錯!好萊塢做特效,那最核心的想法就是要一切工具化,一切都積累起來!哪怕用錢多,可是只要不是每次都傻乎乎的靠人的經驗來,而是弄成一個自動的東東,那麼以後做起來就快了!這就是勞動生產率的提高啊!這以後要是能夠做成功,就算是賣這個補幀的軟件那都能賣多少錢呢!更不用說如果不賣的話,以後別人要做類似的特效,那都要找他們來搞定!這就是商機啊!