當前位置:
首頁 > 科技 > AR內容開發的四個關鍵字:建模、材質、空間、照明

AR內容開發的四個關鍵字:建模、材質、空間、照明

文章相關引用及參考:映維網


本文來自《Escape The Room?—?AR》開發團隊

映維網 2018年05月16日)作為一名iOS開發者,蘋果在去年夏天發布ARKit是我迷上AR的緣起,而我當時馬上就開始學習有關這方面的一切知識。我的AR之旅使得我開始通過Blender學習3D藝術,利用Unity探索遊戲開發。藉助這些技能,我開始製作AR體驗《Escape The Room?—?AR》,而這款作品即將要登陸iOS設備。我花費了一定的時間來摸索出我需要學習的知識,而我一直在想,如果當時有人給我指點一下方向那該有多好。所以,我希望通過這篇文章向大家介紹4個可以幫助你加速AR/VR開發的概念。

1. 建模

3D建模是你在3D中看到的對象的基礎。海盜遊戲中的寶箱?這是模擬物。射擊遊戲中的槍支?這是模擬物。遊戲中的大多數物理對象都是3D模型。3D模型的結構由「網格」確定。你以前可能已經看過這樣的照片:

AR內容開發的四個關鍵字:建模、材質、空間、照明

這就是3D「網格」。網格由頂點,邊緣和面組成。通過操控這些元素,3D美工可以創建任何形狀。皮克斯電影中的角色?它們都是由網格組成。

對於AR開發,你可能不希望自行製作模型。事實上,你並不需要這樣做。網上存在大量的免費3D模型,如TurboSquid,或者如果你是Unity用戶,Asset Store將是一個合適的選擇。

1.1 建模的關鍵點

你的用戶在AR或VR中的大部分時間都是與模型交互。無論是按下按鈕,瀏覽一個對象,或者是欣賞美麗的風景,它們都是模型。模型不僅只是由網格組成。模型通常是搭配以「材質」。我將在下一節介紹材質,但首先:

1.2 如何製作自己的模型

模型是通過3D建模軟體製作而成,如Blender,Maya和Cinema4D都屬於熱門的工具。

如果你希望原創的模型,而不說網上參差不齊的模型,你可能有意學習如何製作屬於自己的模型。對此,我的個人建議是Blender。Blender是一款免費的開源3D軟體包。它同時擁有一個優秀的社區和大量的教程。我個人認為,隨著AR和VR開始蓬勃發展並達到大眾市場的滲透率,Blender將繼續成長並發展為3D開發的主要產品。其他3D創作平台非常昂貴,比如遊戲行業標準之一的Maya每年需要支付數千美元的授權費用…所以我寧願選擇確實優秀,而且免費的Blender社區。

現在我們已經有了網格,下一步是美化我們的對象,而這需要材質。

2. 材質

沒有材質的網格就如同裸身相見。

AR內容開發的四個關鍵字:建模、材質、空間、照明

如何令它更好看呢?我們需要材質。材質允許對象搭配以我們所設想的照明,顏色和發射。如果你有一張椅子的網格,你可以通過相應的材質將其變成一種木製椅子,或者鐵制椅子。材質可以為你的AR體驗增添光彩。

2.1 如何製作材質

製作材質取決於你如何開發應用。Unity的材質系統不同於Unreal。Blender材質的開發方式不同於Unity。如果你是用Swift在Xcode中開發,材質將不同於上述工具。

關於材質我可以說上一天,所以我會盡量精簡內容。在本文中我將介紹PBR材質。PBR指基於物理的渲染,是將不同圖像整合在一起的總和,它們將以我們想要的方式渲染對象。每個圖像都有其要改變的一個特定方面。這些圖像通常被稱為「貼圖」。這些貼圖或圖像通常是指紋理。本文由很多專業術語,但你會習慣的。

AR內容開發的四個關鍵字:建模、材質、空間、照明

材質的「Albedo」貼圖改變對象的顏色。你希望它看起來像是木製對象嗎?只需添加看起來像是木色的albedo,你的材質將變成如下所示:

AR內容開發的四個關鍵字:建模、材質、空間、照明

「Normal」貼圖則用於確定材質是否存在任何凹凸。

然後還有很多用於高光,反射,以及其他更為複雜元素的貼圖。與尋找免費模型的地方一樣,你可以在那裡找到免費的材質。如果你希望自行製作材質,你只需要你為對象構思的形狀的圖像。你可以訂閱為你提供大量超高質量PBR圖像的服務,從而開始製作優秀的材質。我使用的而且非常喜歡的工具是Megascans。

AR內容開發的四個關鍵字:建模、材質、空間、照明

上圖是文章開頭那個空白網格的最終作品。我採用了normal貼圖和roughness貼圖來實現對象上的劃痕。我利用albedo貼圖改變了對象的顏色,然後在材質上使用發光屬性來令外星文字發光。材質是一種藝術,而且非常有趣。你可以一直搗鼓,直到你創作出酷炫的對象。

3. 3D空間

本節很短,但很重要。在AR/VR中進行開發不同於網路開發或移動開發,因為用戶可以在3D空間中與數字對象進行交互。在AR中,用戶可以在3D空間移動,而3D空間的原點通常是用於確定用戶開始會話的位置。

AR內容開發的四個關鍵字:建模、材質、空間、照明

對於2D移動應用,用戶面對的只是一個平面,然後你為他們構建這個界面即可。對於AR,他們可以自由移動。引擎之間的坐標空間有所不同,有些引擎使用(X,Y,Z),有些則使用(X,Z,Y)。在本文中,我們將使用(X,Y,Z),X是向前,Y是向上,Z則是向右。如果用戶從(0,0,0)坐標開始,他們有可能會立即轉身,所以你設置在(5,0,0)位置的前方對象可能不是用戶正在關注的內容。

你需要掌握引擎的Camera屬性。在Unity中,你可以輕易將Camera移動至用戶的注視點方向,然後根據旋轉和定製放置對象。對於AR,你需要靈活處理,在編寫代碼時需要考慮用戶所處的多個潛在環境。這更多的是關於設計vs開發的討論,但可以為你節省大量的時間。

對於《Escape The Room》,我一開始的設想是讓用戶掃描他們的地板,然後對象將自動呈現在檢測到的水平表面上。但我發現做起來比想像中要難很多。因為用戶可以面向不同的方向,平面大小會改變,對象會過於靠近牆壁,從而變得無法觸及。我最終是讓用戶將對象直接放置在周圍的地板。

VR則有點不同,因為對象已經放置在場景之中,但你仍然需要考用戶在第一次是如何在3D空間中移動,以及他們將會體驗到什麼內容。

記住,目前我們仍處於XR的早期,所以向用戶清晰地講解如何在3D空間中移動是關鍵。他們最終所做的事情往往會超出你的想像,所以設計體驗時要有一定的靈活性。

4. 照明

照明就像是餐桌上的禮儀。如果一切順利,你將不會注意到這一點,但如果出現不符合的行為,你馬上就會皺起眉頭。AR和VR在這方面存在一定的差異,因為VR中的照明由開發者掌握,但AR則取決於用戶所在環境的照明情況。這對AR而言是一個重大的設計挑戰,所以你需要解決這個問題才能實現優秀的體驗。

在設計AR體驗時,第一件事情是告訴用戶它們的照明環境非常糟糕。如果攝像頭難以檢測環境,你會從ARKit中獲得提示,這時你的應該告訴用戶這一點。如果你不告訴用戶,他們不會知道哪裡出了問題,如果你讓用戶提供額外的照明,或者更換一個更光亮的房間,你可以為他們帶來整體更優秀的體驗。

照明是在AR中檢測平面的關鍵,這可以幫助你設置體驗。照明同時可以令體驗感覺真實,我以往曾談過這一點,在本文中我將簡單地說明其中的關鍵要點。

下圖是糟糕照明下的對象:

AR內容開發的四個關鍵字:建模、材質、空間、照明

它看上去很假,而且跟環境不搭。調整一下照明條件,你會令對象變得更好看:

AR內容開發的四個關鍵字:建模、材質、空間、照明

你可以為場景添加自己的照明,但需要小心。添加照明會影響設備的性能,尤其是對移動設備而言。Unity中的反射探針可以令金屬對象看起來更真實。對於如何利用照明和反射來提高對象的真實感,我計劃在未來進行詳細的探討。

原文鏈接:https://yivian.com/news/45562.html

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 映維網VR 的精彩文章:

PS VR上有哪些優秀的恐怖題材VR遊戲呢?
微軟研究團隊演示MRTouch交互技術,帶來觸覺反饋體驗

TAG:映維網VR |