你有沒有了解過你正在玩的游戲、使用的手機軟件在它還是一個想法時的樣子?最近,VR陀螺發現GitHub上一日本青年Satoshi發起了一項挑戰,100天體驗ARKit開發AR內容、應用,他會將他創建的體驗代碼上傳GitHub,并在推特上實時更新視頻和他的一些觀點。
截止撰稿時,他的體驗已經進行了將近2個月,更新到了第44天。通過幾天的“偵查”,陀螺君發現了不止Satoshi,世界各地的AR開發者都在推特上分享出自己的AR作品,特別是在蘋果ARKit 4.0版本推出基于LiDAR強大能力的各項功能之后,更多新鮮有趣的AR應用如同雨后春筍般冒了出來。
水波紋?傳送門?
推特上那些別出心裁的AR應用
在翻看Satoshi的推特時,我們誤入了“AR開發者的世界”,因為對AR開發有熱情的開發者太多太多了。
來自美國華盛頓的Matt Bierner,創造了一個用手觸碰任意表面,就會產生水波紋的應用。
圖源:Matt Bierner推特
日本埼玉開發者たぬ福利用基于瀏覽器的建模工具Three.js,制作了可以讓粒子在空間中散開—聚集成指定模型—再散開的粒子特效,并且可以導入Unity。
圖源:たぬ福推特
而另外一個名開發者堀川隆弘是日本沉浸式娛樂研發公司“curiosity-inc”的CEO,也是知名日本搜索引擎雅虎的前軟件工程師。他和他的團隊在AR開發上面顯然有更強的實力,比較吸引人注意的是,他們開發的應用是在A地錄制某個人的AR視頻,形成文件,再傳輸給其他人,打開后就可以將這個人錄的這段AR視頻在B空間中播放,就好像被傳送一樣。
圖源:堀川隆弘推特
這種對真人的“傳送”,被堀川隆弘的團隊用于樂隊演出,真的做到了一個人就是一個樂隊(雖然效果還有待提高)。
圖源:堀川隆弘推特
除了從最底層開發之外,也有基于APP和硬件的AR內容二次創作。
田中圣吾則是用可以通過手機控制的電動云臺Keigan Motor+HoloLens+樂高,實現了對樂高的“隔空控制”。
圖源:田中圣吾推特
Van_eng622和Gaku Kirii則是在Magic Leap中利用空間識別+VFX Graph+粒子特效,將音樂可視化,打造了一場未來音樂視聽體驗。
圖源:Sadao Tokuyama推特
除了以上案例,還有許許多多來自世界各地的開發者,認真的去研究、分享每一個小小的AR效果。更讓我們好奇的是,在這些背后,開發者都付出了哪些努力?通過觀察Satoshi的100天AR開發挑戰,我們或許能夠了解一些。
從0到1
開發者如何把創意變成AR內容?
在最初,Satoshi的設想希望能基于ARKit制作內容,并能夠應用于工作室或者影像制作。方向很明確,但事情似乎沒有想象的那么簡單。
在第1-10天的更新里,Satoshi大部分時間都在研究AR內容制作工具的相關功能,比如用Uniyt VFX Graph制作一個帶有生動粒子特效的面具、新版本的iOS如何實現同時調用一部手機的前后攝像頭并同步播放。
圖源:Satoshi推特
再利用所學的內容和技術制作一些比較簡單的AR效果,比如利用Unity Shader制造出扭曲真實空間、物體的效果,或者用ARKit還原紅白歌會YOASOBI組合演出現場的燈牌。
YOASOBI紅白歌會演出(圖源:紅白歌會官方)
Satoshi還原效果(圖源:Satoshi推特)
但像扭曲真實空間、替換人物背景、粒子特效、使用Metal繪制LiDAR掃描結果等等技巧,也為他后面對AR世界的探索打下了扎實的基礎。
圖源:Satoshi推特
通過總結,Satoshi的開發有幾個方向。
其一, 利用LiDAR和Unity VFX Graph等制作出空間中真實的球體掉落及體積碰撞效果。
最初時,Satoshi只能在真實空間中放置最基礎的、不帶任何物理效果的粒子特效。但在這一步,他使用了一個關鍵的工具——SceneKit,簡單來說就是用來構建3D場景的工具,通過3DMax,maya等軟件,導入場景文件,SceneKit能夠幫助開發者快速在AR中構建3D空間。
圖源:Satoshi推特
當SceneKit和LiDAR相結合,從平整平面到復雜平面再到立體物體,最終呈現出一個帶有空間感、體積碰撞、3D效果的完整的粒子墜落效果——這已經是第31天的事情了。
Satoshi制作的早期粒子效果(圖源:Satoshi推特)
中期粒子效果(圖源:Satoshi推特)
粒子特效最終效果(圖源:Satoshi推特)
通過他的展示,可以看到只需要在屏幕上輕拍,球體就會自然的在LiDAR所掃描出的空間按照真實世界的物理規則墜落、滾動。可以說,最終呈現的效果還是非常理想的,Satoshi也把工具包上傳到了GitHub。
球體掉落、物理碰撞可能是非常基礎的效果,在如今的電子游戲中已經成為業內開發的基礎知識,但在AR上獨立開發者要實現這種效果首先是需要花費時間和精力,其次就是找到合適的開發工具組合。這樣的效果運用在實際的AR內容中,會給AR帶來自然的虛擬和真實世界的融合感。
其二,在虛擬或真實物體上噴涂顏色。
這是Satoshi在成長之后的想法和作品。最初是在蘋果SceneKit Reel Sample的3D模型上實現噴涂。
圖源:Satoshi推特
期間他嘗試了在LiDAR掃描的空間中噴涂顏色,不過失敗了。
圖源:Satoshi推特
后來他將SceneKit提供的模型和之前的噴涂方法移植做成AR效果:
圖源:Satoshi推特
進一步,他嘗試了在此基礎上加入了LiDAR,將噴涂的對象轉變成真實世界的物體,效果不是很理想。Satoshi希望最終的效果是能夠比較精確的噴涂在具體的某個物體上。
他又找到了自定義SCN幾何,研究噴涂的體積碰撞等等。
圖源:Satoshi推特
最終SceneKit+LiDAR+自定義SCN幾何三種工具共同作用的效果:
圖源:Satoshi推特
可以看到,能夠精確地將顏色噴涂在桌面上具體的物體上,就像真的在用噴射槍射擊一樣。這個不由讓人想到Switch長青游戲《噴射戰士》系列,如果能夠真正應用起來,那么將會極大豐富AR游戲、AR藝術展的互動方式。
其三,利用LiDAR識別真實世界并進行“魔改”。
除了在原有的基礎上對真實空間的豐富之外,在Satoshi的視角里,AR還可以對真實世界進行“魔改”。
在最初的十幾天里,他就不斷地嘗試利用Unity制作的效果扭曲真實空間。
圖源:Satoshi推特
但他顯然不滿足簡單的扭曲,開始了魔改之旅。
一開始是簡單的利用LiDAR做出“BlotterMedia(人體光影特效)”,就像很多粉絲在二改偶像演出舞臺時會加上一些光電、魔法棒、愛心特效等。在這款AR效果實際應用之后,粉絲就可以直接用手機拍,不再需要后期的復雜制作了。
圖源:Satoshi推特
魔改到這里還是很輕度的,直到他看到了這條推特:
圖源:推特
大致意思就是,如果某個人瞳孔處被挖黑,看久了人會覺得莫名恐懼,甚至產生恐懼的生理反應。
Satoshi表示很棒,于是做了AR特效:
圖源:Satoshi推特
此舉徹底解放了Satoshi的天性,開始研究如何在人臉上做點文章,目前只更新到在臉上涂涂畫畫。
不過他之前有把自己的臉復制了一張鑲嵌在自己臉上的行為,并表示很有“藝術氣息”,接下來的舉動會不會更魔性,只能期待他早日更新了。
圖源:Satoshi推特
從成品看,很多想法不在Satoshi的藍圖上。但在開發過程激發了很多他對AR的奇思妙想,從想法到動手實踐再到最終的成品,從他的100天挑戰里,陀螺君看到的是,作為開發者,從“0”開始到“1”全部過程的完整呈現。
而Satoshi所代表的的是大部分獨立AR開發者或者小型工作室,他們的特點是有豐富的創意、大量的時間和鉆研的精神。他們中的大多數靈感來源于對生活的暢享,在開發過程中不斷地去選擇合適的工具,將他們組合在一起。再一次次的進行嘗試,最終找到能夠開發出目標效果的工具組合后,也會分享給其他和自己一樣的開發者。
AR開發者生態雛形已經形成,
開發者到底需要什么?
通過幾天的觀察,陀螺君發現,世界各地的AR開發者已經在推特上聚集起來,逐漸形成了一個隱形的“社區”。這個社區不以任何互聯網社群的形式存在,它更像是這些對AR開發充滿熱情的獨立開發者之間的共同默契。
他們會分享自己的創意、大量的實用開發工具;會在遇到困難時請求其他開發者的幫助;他們會在展示成果的同時,把非常詳細且實用的教程分享出來,如果沒有教程,就上傳自己的開發代碼。一些比較簡單的AR效果,他們就會分享自己使用的工具和方式。
根據估算,以Satoshi為中心,日本活躍在互聯網上、對AR熱情較高的AR獨立開發者數量約有2000+人,其他國家也有類似的情況。而由這些開發者的默契構建的隱形社區就是AR開發者生態的雛形,社區中的信息也獨立AR開發者身上價值所在。
據Developer Tech統計,2020年招聘市場對VR/AR開發者的需求激增1400%,有46%的軟件工程師將VR/AR列為他們最想學的三大技術之一。這代表著在VR/AR廣受關注的當下,開發者數量勢必迎來激增,而僅僅靠網上開發者的默契維護社區,將不能保證市場供需關系平衡。所以新的問題是,我們需要一個什么樣的社區,同時又如何去維護他呢?
在這次調查中,我們也看到一些開發者的訴求,通過他們的觀點,我們整理了一些社區中AR開發者的需求:
1. 工具的實用性。
對于開發者來說,好的工具才能讓他們發揮自己的價值。上文提到的案例大部分都是基于ARKit開發的,在很多開發者眼里,除了蘋果手機和生態的便捷性之外,ARKit實用性更加關鍵。
從發布至今,ARKit一共發布了4個大版本更新,而每一次更新的目的都是為了創造更大的開發空間,更好的服務于開發者。
伴隨著iPhone 12 Pro的發布,LiDAR功能以其強大的表現受到了很多關注。除了蘋果手機在拍攝方面對LiDAR的應用之外,如何更好的利用iPhone 12 Pro的LiDAR功能,是眾多開發者關注的問題。
而在ARKit 4.0 版本更新中,蘋果就在其中加入了基于LiDAR技術的深度API、場景幾何、對象放置等功能。簡單來說,在此之前的AR只是將虛擬物品放置在空間中,而不體現具體的空間位置,比如被“攔”在水杯后面。更新之后的ARKit,能夠更好地解讀環境的空間關系,讓虛擬物體跟空間產生真實的交互、體現物體與環境的空間關系,從讓虛實更加融合。
這一改動,大大拓展了基于ARKit的開發空間。諸如這樣的更新體現在每一次ARKit的版本改動上,它能夠服務于開發者,真正成為開發者的實用工具,也是上文案例中開發者愿意積極選擇ARKit作為開發平臺的原因。
2. 注重分享性。
開發者對分享的定義一方面是技術知識的分享,另一方面是靈感的分享。Satoshi在推特中也曾感嘆道:“今天,我看了很多AR效果,這(種分享)能夠讓知識變成文字并被保存在互聯網中。我也很高興提出我想實現、但還沒有實現的主意,能夠吸引人來模仿是很好的。”
缺乏分享性實際上是國內開發者社區的“老毛病”了。據了解,在國內開發者社區分享率不到5%,也就是說大部分去瀏覽諸如CSDN等論壇時,只做伸手黨,而從沒有想過成為貢獻者。
如何構建方便即時分享的社區,如何鼓勵開發者進行分享是維護好的社區環境首要解決的問題。
3. 方便快捷。
近年來,一些開發工具企業也非常注重維護開發者社區,提供了大量的支持文檔和視頻、開源代碼等等幫助開發者開發。但由于各個工具所處的地區、語言等等都不盡相同,在加載閱讀上會遇到不同程度的障礙,甚至一些支持文檔入口隱藏的很深,導致開發者在取用時非常麻煩。
所以真正把支持文檔做到能夠支持開發者開發,也是企業想要維護開發者社區需要重視的問題。
4. 收入。
蘋果App Store生態之所以能成為“酷”的事情,除了在早期方便開發之外,長久以來對獨立開發者的軟件推薦機制是保證開發者持續對基于iOS開發充滿熱情的重要因素。
在前期,客觀的收入毫無疑問能夠吸引大量開發者針對該平臺進行開發。而在中后期,應用數量增多,獨立開發的應用越來越難被看到,那么社區合理的推薦機制,能夠給予大量開發者被看到的機會,也就是他們穩定的收入保證。有了持續穩定的收入,自然不缺開發者源源不斷的涌來。
5. 運營輔助。
除了不擅長分享之外,國內開發者群體普遍存在的問題就是不擅長運營,包括推廣、產品包裝、設計等等方面。也有開發者自嘲說“只會寫代碼。”
對于開發者社區來說,培養開發者的運營意識,從除產品本身以外的其他維度幫助開發者增加其應用的價值,同樣也是社區能夠給予開發者的價值之一。
雖說AR行業精英和專家都認為AR想要真正爆發,是5-10年以后的事情,目前的AR仍然處在技術累積、不斷試錯的過程中。但實際上,諸如ARKit、ARCore、Unity、Ureal等開發工具已經開始布局AR方面的開發,并且積極鼓勵開發者參與其中。這就導致了在手機AR方面,已經積累了一定的開發者群體。
隨著LiDAR的強大功能逐漸被證實,基于手機應用生態的AR應用的爆發是可以預見的。而手機應用生態目前對小型開發者不友好、應用重復混亂等問題已經給我們提供了前車之鑒。現在去思考并著手維護AR開發者,也是在未雨綢繆的保護已頗具雛形的AR內容生態。