穿越現(xiàn)實的可可蘿 | 基于 C4D 標準渲實景合成的簡單思路

前面
【來自兩年后的 UP 主的提醒:關于文章中提到的一些實景合成的渲染方法,UP 主現(xiàn)在已經(jīng)不用或者用新的方法替代掉了。比如渲染器換成了 Redshift,在 3D 軟件中只渲染模型并且模型和地面影分開渲染以便于后期調整,運動模糊效果通過后期添加等。本文章提到的方法僅代表 UP 主投稿時的經(jīng)驗與水平,僅供參考。】
關聯(lián)視頻:BV1Et4y1S7Ei,歡迎前往觀看。

另外,
我不會在這篇文章中透露過多關于本次實景合成的細節(jié),更不會手把手地教實景合成,如果您對其感興趣,還請您自行找有關教程學習。
以后我會把自己在制作此類視頻時的一些心得放在專欄中,供大家參考,也希望有大佬在看到我的文章后給我一些批評與建議。
我不是這一領域的專業(yè)人士。我可能會使用一些不同于常規(guī)教程的方法,因為我的目標僅僅是恰到好處即可。專業(yè)人士請不要對此太較真,謝謝。

一、動機
1. 為什么是可可蘿?
可可蘿(日:コッコロ)是手游《公主連結!Re:Dive》(以下簡稱?PCR)的初始角色之一,在游戲劇情中作為“向導者”來引導初期失憶的主人(即騎士,玩家角色),甚至對主人有著無微不至的照顧。和主人在一起有時會被誤認為是情侶、兄妹或者父女應該是母子。

【劇透警告】
在?PCR?主線劇情【幕間 · X】到【第十章 · 第三話】中,“游戲世界”中的可可蘿穿越到了“現(xiàn)實世界”(指?PCR?中的“現(xiàn)實”)。
看到這段劇情我激動不已,覺得由于不同世界造成的反差,穿越后的可可蘿醬在“現(xiàn)實世界”中顯得更加可愛。我想讓可可蘿醬來一次去真·現(xiàn)實世界的旅行。
這次用于實景合成的模型是?MMD?模型:F. 式 可蘿仔 ver 1.0,作者為?i-Fox。


2. 為什么是“勾指起誓”?
在游戲中,可可蘿醬給我更多的是乖巧、聽話、老實、溫柔的印象,所以我覺得給她使用的動作也應該是符合我對她的印象的。于是決定使用這個“勾指起誓”柔情版的動作。
雖然《勾指起誓》這首歌更多的是傳達愛情,不過我覺得許多歌詞也適合和可可蘿醬之間的主仆關系。

二、嘗試突破的項目
由于之前的作品中仍有一些讓我比較失望的地方,這次我想嘗試進行以下摸索:
?。?/span>1)尋找更精確的攝像機跟蹤方案;
?。?/span>2)探索如何模擬出陰天光照下影子“軟化”的效果;
?。?/span>3)測試?Team Render(C4D?的一種多機渲染方案)是否可用。

三、過程
I. 模型的編輯、預覽和導出
基本步驟:導入模型→導入并優(yōu)化動作→烘焙模型并導出
F. 式可可蘿模型的身高約為正常比例的?MMD?模型的?0.9?倍,所以【骨骼位置】要縮放到?0.9?倍。

很多主流?3D?軟件不提供對?MMD?模型的原生支持,所以我打算把模型烘焙成固定動作(即每一幀的模型的形狀都會被完全地記錄下來)并導出為能被?C4D?支持的格式,因為這樣會使模型在?MMD?中呈現(xiàn)的形狀被完全保留下來,而且?bug?會少一點。
II. 取景和背景素材處理
基本步驟:錄制素材→加工素材→導出需要的素材并編號
我用了一天時間去某市的市區(qū)進行取材。我想在星期天去取景,本以為那天是晴天,可惜天公不作美,剛出發(fā)時下起了雨,整個取景過程中天空一直陰蒙蒙的然而快黃昏了才放晴。

我只有手機作為錄像設備,但是上次用手機拍攝的素材效果還不錯,所以這次就繼續(xù)使用手機進行取景。為了避免出現(xiàn)過多瑕疵并減少運算量,我將手機的錄像分辨率調到了?4K,然后用軟件導出為?1080P。
在準備渲染部分之前,要先確定使用哪些素材作為背景,還要避免畫面的“拉風箱”(自動對焦)和明顯的明暗變化。在這些素材中,有些在接下來的解算中效果不好,所以我只能用自己以前的庫存來替代了。
?
我使用視頻剪輯軟件?Vegas Pro?來確定自己在哪一時段用到哪些背景素材。選出素材后,就把背景素材導出為圖像序列,供軟件使用。

有的一些序列必須要根據(jù)所在幀的索引號對文件名進行重命名。如果不這么做的話,例如,我要導出幀索引號為?300?到?600?的圖像序列,但軟件在導出時將從?0?到?300?進行命名,然后我不重新編號,那么雖然這不會影響攝像機解算(可以在導出前糾正),但是在導入到?C4D?時,C4D?會認為這是第?0?到?300?幀的背景素材,會把這段素材分配到?0?到?300?而不是?300?到?600?幀當中,從而得不到需要的效果。

III. 攝像機跟蹤
1. 之前采用的?C4D?內(nèi)置方案
?。ā挛闹刑岬降摹捌矫妗敝饕侵浮暗孛妗彼幍钠矫?。)
基本步驟:導入素材→2D?跟蹤→完全?3D?重建→調整攝像機位置
我在?5?月?6?日發(fā)布的視頻中就使用了這種方案。它是?C4D?內(nèi)置的,很方便。
很多?UP?會保持追蹤點位置不變,根據(jù)追蹤點的位置來確定新平面,但是由于這種方法會將坐標原點作為攝像機軌跡的起始位置,解算出來的背景中的“平面”不和?3D?環(huán)境中的平面(以下記為“xOz”,即 x 軸和 z 軸所在的平面)重合,所以還要把模型、燈光等都移動到解算出來的新“平面”上,很麻煩。我一般的做法是,選中整個“運動跟蹤”(包括攝像機和追蹤點),將追蹤點構成的平面與?xOz?重合,這樣就不用再強迫移動其他所有物體到追蹤點構成的平面了。
但是這個方案有時在進行完全?3D?重建時,對空間中某些追蹤點的定位不是很準確,以至于無法正確地確定平面的位置,導致模型出現(xiàn)輕微“滑步”。
2. 這次采用的?Boujou?方案
基本步驟:導入素材→粗追→選出優(yōu)秀的追蹤點→以這些追蹤點為參照進行細追(效果不理想時這兩步會重復?1?到?2?次;而效果好時就直接細追)→攝像機軌跡解算→調整攝像機位置→導出攝像機并導入到?C4D(這兩步可以反過來,也就是在?C4D?中進行調整)
我發(fā)現(xiàn)有一些很成功的案例使用了?Boujou。于是我嘗試使用這個軟件。
這次所有的背景素材我全部使用這個軟件進行解算。雖然?Boujou?導出的?C4D?文件可以直接被?C4D?打開,但是這樣做會出現(xiàn)一些問題,要用插件“BOUJOU FIXER”修復。
總的來說,除了個別場景因為有一些干擾因素,解算的效果不好以外,其他的素材處理得還可以,追蹤點的重構也比較精確。但是我仍然不敢判定?C4D?方案和?Boujou?方案哪個更優(yōu)秀。

IV. 模型的導入
基本步驟:導入烘焙的模型→添加并優(yōu)化材質→與攝像機解算工程合并→添加背景→調整模型縮放→添加用于生成地面陰影的平面
MMD?模型可以導入到?C4D?了。只要補上缺失的材質并進行一些優(yōu)化,模型的導入就完成了。包含有?MMD?模型及其完整動作的部分,我單獨保存成一個工程文件,便于與攝像機解算的工程合并。

使用?BOUJOU FIXER?導入?Boujou?解算的攝像機,調整攝像機角度使背景中的平面與?xOz?重合,然后與含有模型的工程文件合并(或者把模型復制過來),并添加一個平面用于渲染模型的地面陰影。
至此,模型和攝像機都導入好了。
V. 打光
1. 室外環(huán)境
基本步驟:添加【物理天空】和【環(huán)境】→在【物理天空】中填入方位、時間信息→調整太陽強度、環(huán)境(光)強度、陰影密度、陰影的模糊程度→預覽(最后兩步需要反復循環(huán)到滿意為止)
室外打光很容易,因為只要考慮一種光源——太陽。
C4D?有個【物理天空】,它可以模擬出比較真實的天空和太陽光照。我用它來作為太陽的光源。
物理天空還有個很好用的地方,就是能根據(jù)所在地的位置和時間來推算太陽的方位角。位置和角度可以使用手機的指南針軟件來獲取,時間可以通過素材的創(chuàng)建日期和修改日期來推算。

有時要模擬陰天下影子“軟化”的效果,但是不改動參數(shù)就渲染的話,影子還是有些偏硬。

這時可以在【物理天空】-【太陽】中,把【尺寸比率】調大。但是這可能不是唯一使影子“軟化”的方法。


【尺寸比率】可根據(jù)實際情況調整。
有時,陽光照不到的一些地方會變得很黑、很難看。這就需要添加環(huán)境(光)來讓照不到的地方變得稍微亮些。
2. 室內(nèi)環(huán)境
?。ㄗ龅貌缓?,說出去丟人,略)
VI. 濾鏡、特效、合成設置
1. 渲染設置
輸出的分辨率和幀率根據(jù)自己的實際需求修改。
【抗鋸齒】改為?[最佳]。
勾選【保存】,輸入保存路徑;如果沒有需求,可取消勾選【多通道】。
輸出文件的格式最好是圖片格式,因為很多主流的視頻剪輯軟件能處理圖片序列。千萬不要選視頻格式,否則可能容易渲染出錯,前功盡棄!
【以下內(nèi)容適用于使用標準渲染器的工程】
添加【全局光照】(室外環(huán)境使用“物理天空”的預制方案,室內(nèi)保持默認)和【環(huán)境吸收】,這兩個可以使模擬的光照效果更真實。但是【環(huán)境吸收】可能會把模型渲染得更暗,如果不需要太真實的效果或者不進行實景合成,【環(huán)境吸收】是可以不添加的。
添加【矢量運動模糊】,這是一種根據(jù)頂點位置計算的運動模糊算法,渲染速度較快,但是效果稍微差些。不過如果不糾結細節(jié)的話,也是能用的。
2. C4D?標簽
為了能順利渲染背景并保持光照和陰影不受影響,這里需要添加合成標簽。
給【物理天空】和【平面】添加【合成】標簽,在【物理天空】的【合成】標簽中,取消勾選【攝像機可見】,勾選【合成背景】;在【平面】的【合成】標簽中,勾選【合成背景】。


給模型和?Boujou?解算的攝像機添加【運動模糊】標簽,在和【矢量運動模糊】搭配使用時,可在渲染中呈現(xiàn)運動模糊效果。
VII. 渲染
1. 渲染器
我使用的是?C4D?自帶的標準渲染器。這是?C4D?的默認渲染器,使用?CPU?渲染,利用幾乎所有的?CPU?線程,缺點之一是渲染慢。
在?C4D?中,這是我使用的比較順手的渲染器,而且我暫時沒有其他需求,對我來說標準渲染器就夠了。
有些渲染器,像?Octane、Redshift?等,相比?C4D?的渲染器會有一定的優(yōu)勢,有機會我會嘗試。
2. Team Render(團隊渲染)
在這次渲染中,Team Render?能用。
Team Render?的使用方法大致是這樣的:存有工程文件的電腦(以下簡稱“主機”)要安裝?Cinema 4D?主程序,其他輔助渲染的電腦(以下簡稱“客戶機”)要安裝?Team Render Client,而且要保持?Team Render Client?的版本和主機?C4D?主程序的版本一致,所有渲染器也要裝齊且版本保持一致。渲染前主機和客戶機連接。在開始團隊渲染時,主機會把所有在工程中使用到的文件發(fā)給客戶機,同時主機開始渲染;客戶機接收完文件后,就會接收到主機分配的任務,開始渲染,并把渲染的結果傳回主機。
Team Render?開始的前三天還比較順利,但是第四天,有一臺電腦無法開機。經(jīng)過兩天的維修后,這臺電腦修好了,但是變得更加脆弱。于是我就不使用這臺電腦,只使用另一臺電腦進行渲染了,不過這次試驗說明?Team Render?是可用的。
VIII. 后期處理
基本操作:導入圖片序列→剪輯→導出成品視頻
由于?C4D?渲染出來的是圖片序列,所以要使用任意一款主流剪輯軟件導入圖片序列,并以一定的幀率重放。
在導入和解釋完圖片序列后,剪輯軟件一般會將其視作視頻流進行處理,可以像剪輯一般素材一樣剪輯圖片序列。
至于接下來的剪輯、導出、壓制等操作,需要看自己的需求和使用的軟件了。
至此,所有工作全部結束。

四、程序的報錯和處理
1. Boujou?報錯:“Error (300) Failure to open file for writing.”
解決方法:檢查使用的資源的目錄是否包含非英文字符。
不知道為什么,Boujou?不能處理路徑中的中文字符。網(wǎng)上的很多解決方案僅僅要求用戶檢查使用的圖片序列的目錄是否含有非英文字符,然而有時這也不能解決問題,還要檢查緩存路徑等是否有非英文字符。比如,這個軟件會默認把緩存文件放在當前用戶的個人文件夾內(nèi)(比如?~\AppData\Local\Temp\,~ 為用戶文件夾根目錄,PowerShell 支持用 ~ 代替當前用戶文件夾根目錄地址),如果用戶名有中文字符時也會出錯。所以還要去?[Preferences]?中修改緩存目錄。
?
2. Boujou?的預覽畫面中出現(xiàn)綠色條紋,而且畫面變得有點亂,影響使用。
這是在開工兩星期后出現(xiàn)的問題。
解決方法:未解決,暫時轉移到虛擬機中使用?Boujou。
?
3. Vegas?或?Premiere?在使用時突然黑屏、卡機;恢復后,有時軟件會閃退,顯卡驅動不能正常工作。
這有可能是關閉了虛擬內(nèi)存導致建立圖片緩沖區(qū)失敗。有一種解決方法是啟用并增大虛擬內(nèi)存(分頁文件)。
不過之前有人建議我禁用虛擬內(nèi)存,我不知道為什么。

五、UP的碎碎念
1.
這次渲染從策劃、取景,到渲染、后期,用了將近一個月的時間,也耗費了大量處理器資源,本次收集的素材、產(chǎn)生的烘焙文件和圖片序列也占用了不少空間。我得想法添置存儲器對這些文件進行備份。
C4D?標準渲染器是比較慢,但是要想達到好的效果,就必須去等待。不過如果有更好的算法能用更少的時間實現(xiàn)相同的或者更好的效果,我也會去嘗試。
?
2.
說到攝像機跟蹤和實景合成,我想到了?AR。
有的演出用到的?AR?技術,在舞臺附近的屏幕或者直播畫面中就可以看到實時的?AR?效果,而且攝像機跟蹤很精確,模型的渲染效果也不錯。我用的一些手機?app?也能實現(xiàn)?AR,但是定位和渲染做得比那種演出的?AR?要差很多。
我很好奇演出的?AR?技術是怎么實現(xiàn)的,用的?PC?還是其他專門的設備,怎么實時獲取的攝像機位置信息(是使用位置傳感器還是對攝像畫面實時推算),又用了什么軟件進行實時渲染。我也想學習一下,說不定對我改進實景合成有幫助。

附錄
I. 借物表
為了方便有需要的讀者尋找資源,我會按照“"%s: %s by %s(%s)\n", 對象類型, 對象名, 作者, 視頻編號”的格式來寫借物表;我還會附上視頻鏈接方便讀者跳轉。
BGM: 勾指起誓 by 祈Inory(BV1Nb411v79w)

Model: F. 式 可蘿仔 by i-Fox(BV1iZ4y1s79t)

Motion: 勾指起誓 by 呆喵撓琴(BV1s4411t7eZ)

Camera & Stage: by me(不公開配布)
Anime fragment: copyright by Cygames(https://redive.estertion.win/)
?
II. 使用的軟件
Boujou(攝像機跟蹤解算)
Cinema 4D(渲染)
MMDBridge(導入MMD模型和動作、烘焙)
Vegas Pro(處理圖片序列、視頻剪輯)
小丸工具箱(壓制)
李逍魷
2020.10.6