用Unity建立一個3D虛擬工作室
本文由碼農網 – 唐李川原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
這個設計程式所支援的虛擬3D室環境是在Unity5裡製作的。
在Unity5中Marta最終完成的3D虛擬室效果圖
我們已經使用Unity來建立非常棒的3D藝術效果圖超過了五年,因此當Unity5釋出的時候我們想嘗試一下它的新功能,特別是想嘗試基於物理的著色器和實時全域性光照。
基於物理的渲染紋理並不是一個新的概念,但是如果不使用第三方資源的話,我們就沒有這種機會在Unity引擎裡使用基於物理的渲染紋理。我們決定在Unity5裡儘可能地原樣構造出Pop工作室。在這裡我將分享我們在建立一個線上3D虛擬環境工程時所有的感悟和領悟。
我們使用MagicPlan這個軟體根據這個工作室指定的詳解計劃來開始動手,這樣就可以保證根據MagicPlan軟體畫出來的圖可以順利地轉化成3D的牆面。它建立一個能夠被匯入進Cinema 4D軟體的向量方案,然後擠壓進牆裡。不幸的是,我們不使用這個app來畫天花板和屋頂,這樣做將達到檢測這個工作室並且計算出這個工作室的形狀。
MagicPlan連結地址: http://digi.tech.qq.com/a/20120518/000963.htm
Cinema 4D連結地址: http://baike.sogou.com/v3972917.htm?fromTitle=CINEMA+4D
為了建立窗戶,門,樓梯和屋頂,我們不得不去理解這個建築的幾何構造是怎麼工作的,這就涉及到需要使用很多的參照圖。這將引出一些有趣的功能特徵。
我從來沒有意識到我每天抬頭看到我頭部上方的支撐樑是不同尺寸的而且是從這個屋裡延伸穿到其它的屋裡的,這些支撐樑反映出了屋頂的形狀。
當你穿過這個工作室時,你會注意到更多這種型別的細節,這些細節引起了更多的問題。這些問題對完全鑑別設計的這些元素非常重要,這確保了我們在構建時是根據這些實物來進行的。
複合紋理
在基於環境的遊戲引擎裡紋理也許是最重要的部分。由於受到我們可以使用的多邊形數量的限制,我們就不能使用幾何體來構建細節,因此只有好的紋理才能迷惑使用者的雙眼並且構建出在實物中原本不存在的細節部位。
我們開始構建工作臺,而且在後期階段為一個工作室的AR(擴增實境技術)版本準備的有限資源也需要用上並且VR(虛擬現實技術)也需要考慮是否使用。因此,在早期開始的時候通過回答這些問題可以使我們意識到當幾何體很好地在所有版本里穿插時,紋理都應該為每一箇中間物做出合適的調整。
實物設計師和畫家需要快速構建複雜的紋理並且這些複雜的紋理需要在不同的遊戲引擎上很好地相容。Allegorithmic的實物設計師被用來構建磚牆和木頭製作的地板,同時保證這些磚牆和木地板的現實性,細節展現的天衣無縫。
把目光放到Unity上
在你沒有做出實物模型之前你瞭解不到在一個房間裡有多少實物存在。我們把關注的重點放在重造最重要的實物模型部分。
實物模型裡有一些,像一個三腳架的光源,非常容易製作和貼上紋理,因為它們是由簡單的形狀組成的。另外,像橙色的長靠椅沙發,由於它們對最終的觀賞效果非常重要並且它們需要處理更多的細節,所以製作它們花費的時間要長一些。
我們為一個沙發建立一個高版本的多邊形建模,並且在這個沙發的高版本的多邊形建模的基礎上建立出一個詳細的標準圖,這個標準圖將會被用到一個低版本的多邊形建模上。我們在Substance Painter軟體(三維紋理材質繪畫製作軟體)裡為這個沙發貼上紋理。Substance Painter三維紋理材質繪畫製作軟體有一個圖層系統,這個圖層系統可以幫助我們處理複雜的材質表面。
當在Unity裡使用時,這些紋理通道很容易被匯出。在經過很多次微調材質,多種燈光安裝和一段長時間並且令人沮喪的設定正確的光照對映後,最終的結果是一系列逼真的模型使得我們創作的3D虛擬工作室栩栩如生。
沒有什麼比在你自己已經創作完成的一個虛擬環境裡漫步獲得的滿足感更強。但是由於這是一個個人專案,我看不到結尾的測試和每一個元素的再測試。我認為那是一個持續展開的專案。為了看看到目前為止我們學到了多少,我將向你們展示設計的過程。
01.研究地面路線圖
地面路線圖是用一個應用軟體做出來的
有一份詳細的地面路線圖很重要。我們的地面路線圖很基礎,因此我們使用手機應用軟體MagicPlan來重新制作它們,MagicPlan這款軟體可以讓你使用一個phone的攝像頭來畫地面路線圖。你拿著安裝了MagicPlan的phone手機沿著你所在建築的地方的角點來回走動。Phone手機裡的MagicPlan會自動校正,在校正後這個應用軟體會自動測量各個點的距離並且自動建立向量路線圖,這個生成的向量路線圖可以被匯入進Cinema 4D軟體裡進行處理,然後處理後的路線圖可以被擠壓進牆裡,而且這個路線圖你還可以根據設計的需要作出調整。
MagicPlan的介紹連結地址: http://digi.tech.qq.com/a/20120518/000963.htm
02.計劃和收集引用材質檔案
通過收集引用材質檔案來避免產生更多問題
這個專案的平臺是什麼?它如何使用?這個平臺的資源可以在其他專案裡使用嗎?在這個平臺上我可以使用什麼工具?在這個平臺上我所面臨的挑戰是什麼?通過問這些問題,可以幫助我們在這些問題產生前解決這些可能出現的問題。開始收集引用材質可以使我們的設計變得更簡單。我們給我們工作室的每一個角落都拍照,記錄視訊;並且在我們將要製作的模型之前作出如何製作這些模型的決定。
03.給工作室建模
整個設計被分解成各個元件部分
一旦你有了牆面和一個屋頂,就開始為窗戶,門,支撐樑和地板增加一些空間。計劃一下怎樣把它分解成易於管理的部分並且能讓紋理貼圖發揮出效果。在考慮一種模組方法—遊戲設計的共用性—之後我們選擇了一個完整的擠壓版本,然後把這個完整的擠壓版本通過分離屋頂,地板和樓梯把它分離成樓地面,因為分離的樓地面將會有多種用途,包括在一個等軸測檢視裡的AR(擴增實境技術)裡也會使用。
04.在Unity裡的第一次光線測試
Marta建議使用定製的光照對映圖
我們選擇預先計算好的Realtime GI來嘗試晝夜的光照效果,這種晝夜的光照效果使用baked GI是無法達到效果的。在屋頂和牆面的結合部分配燈光洩漏,但是注意要在整個牆面分配而不是某些平面上,接著轉動光線解析度按鈕來調整光線就能解決它們大部分的光線問題。使用你自己的光線對映而不是Unity生成的版本。Baked GI 展現的更加穩定和返回更少的工件。
Realtime GI介紹連結地址:http://www.cnblogs.com/Pooopooo/archive/2013/11/20/3432543.html
http://www.cnblogs.com/zhouxin/p/5168632.html
baked GI介紹連結地址: http://blog.csdn.net/kaitiren/article/details/50237435
05.紋理貼圖
Textures使用瓦片來控制
為大範圍的貼圖區域使用平鋪的紋理貼圖。我們在Substance Designer軟體裡準備了磚塊紋理貼圖,木質地板紋理貼圖,粉飾的紋理貼圖和屋頂的石質地板,這樣在Substance Designer軟體裡有了這些紋理後,Substance Designer軟體就可以容易地製作出複雜的紋理貼圖,並且Substance Designer軟體可以控制每一個紋理通道。Cinema 4D軟體和Unity軟體完全支援Substance。我們使用Cinema 4D來製作整個建築的UV圖並且為每一個單獨的部分分配材質貼圖。一旦這些紋理材質被匯入到Unity,我們就用Substance製作的紋理貼圖來替換並且根據需要調整瓦片。
UV介紹連結地址: http://wenku.baidu.com/view/334361d233d4b14e852468c9.html
06.建立模型道具
像長沙發等佔中心位置的物品需要特別的關注
由於完成專案需要創作大量的模型道具,我們需要把關注的重點放在主要元素上。我們的Chesterfield長沙發很複雜,因此我們在Cinema 4D裡用材料建立一個高版本和低版本的幾何體模型,然後為每一個獨立分開的元素分配一個低版本的幾何體模型。我們把兩種版本的幾何體模型都匯入到Substance Painter,然後在一個低版本的幾何體模型上烘培地圖並且進行材質紋理貼圖。一些模型道具,像手機模型,在Cinema 4D軟體裡能完全的實現紋理貼圖,其他的模型道具使用基本的材質或者實體物質來實現紋理貼圖。
07.光照和效果
逼真的表面處理需要大量不同的光線
一個逼真的效果需要進行復雜的光線設定和測試。用少量自然光為區域設定光線,我們使用點光和用放射性材質形成的LED天花板燈燈光來為區域設定光線。夜間燈光在光線資源裡是由複雜的光斑和點光線組成的。你可以從Unity提供的”The Courtyard”示例專案裡領悟如何控制一天時間的迴圈。儘量避免使用太多的影像效果,因為太多的影像效果會影響到渲染的效能。我們使用反鋸齒,高光,裝飾圖案和色彩修正指令碼來達到逼真的效果。
08.想象一下在虛擬現實裡
一個第一人稱視角提供了一個新的視角
當以第一人稱視角完全沉浸在所看到的一個場景裡時,這時就產生了新的挑戰並且需要一個不同的方法來實現我們所建立的虛擬世界。逼真的現實,PBR材質渲染,貼圖效果,並且幀速在75幀/秒以上是所面臨的挑戰,並且這個挑戰並沒有簡單的解決辦法。我們為我們的工作室構建了簡單的測試,例如範圍,燈光,紋理渲染和色彩強度,和所有能影響到你在虛擬環境中所感覺到的一切。
譯文連結:http://www.codeceo.com/article/unity-3d-virtual-studio.html
英文原文:Building a 3D virtual studio in Unity
翻譯作者:碼農網 – 唐李川
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 利用虛擬機器建立個人工作室虛擬機
- [譯] 建立一個像科幻小說一樣的虛擬世界:設計一個全球性的虛擬世界虛擬世界
- 用 Docker Machine 建立 Azure 虛擬主機DockerMac
- 3D 虛擬 Ubuntu Edge3DUbuntu
- Centos 7 建立一個swap檔案增加虛擬記憶體CentOS記憶體
- 用Unity做個遊戲(一) - 建立專案時需要注意的點Unity遊戲
- 用PowerShell在China Azure建立ARM虛擬機器虛擬機
- 在Linux中應用screen建立虛擬終端Linux
- 建立python虛擬環境Python
- 建立 Python 虛擬環境Python
- 建立新的虛擬機器虛擬機
- anaconda建立虛擬環境
- window 建立py虛擬環境
- 用 golang 寫一個語言(編譯器,虛擬機器)Golang編譯虛擬機
- Unity標準開發例項——虛擬現實技術應用14Unity
- Anaconda虛擬環境建立、啟用、退出、刪除操作
- 一臺主機虛擬多個ip
- 構建3D虛擬世界,有哪些3D建模方式?3D虛擬世界
- 如何建立虛擬機器上建立 Cluster 共享磁碟虛擬機
- 使用 Cockpit 建立虛擬機器KPI虛擬機
- 利用 VModule webpack plugin 建立虛擬模組WebPlugin
- 建立Python虛擬環境——下Python
- VMware Workstation Pro建立虛擬機器虛擬機
- kvm純命令建立虛擬機器虛擬機
- Azure xplate cli建立虛擬機器虛擬機
- c++ 建立虛擬站點 (轉)C++
- Unity 3D編輯器擴充套件介紹、教程(一) —— 建立選單項Unity3D套件
- win10自帶虛擬機器怎麼用_window10自帶虛擬機器如何建立Win10虛擬機
- 虛擬化技術之kvm虛擬機器建立工具qemu-kvm虛擬機
- 實現一個簡單的虛擬DOM
- 我寫了一個TypeScript虛擬機器。TypeScript虛擬機
- 虛擬化技術之kvm虛擬機器建立工具virt-install虛擬機
- 如何使用Python建立AI虛擬助手PythonAI
- 使用Azure REST API建立虛擬機器RESTAPI虛擬機
- Hyper-V批次建立虛擬機器虛擬機
- 在vmare中建立centos虛擬機器CentOS虛擬機
- 列出 查 virtualenv 建立的虛擬環境
- KVM 一鍵批量建立虛擬機器 自動設定IP虛擬機