機器之心報道

編輯:張倩用 GAN 生成的 2D 二次元「老婆」已經過時了。

‍還記得前不久的「‍東昇髮型生成器」嗎?在那個視頻中,B 站 up 主 Mars 隆重推出了自制的禿頭生成器。不管你現在有多年輕,頭髮有多麼濃密,那個生成器都能讓你一眼望穿二十年後的自己。

這一充滿「惡意」的項目引發了讀者的集體不適,大家紛紛請求 up 主「整點兒陽間的東西」(聽說粉絲毫不見漲,這鍋機器之心不背)。

本着對讀者的尊重和愛護,up 主這次換了個方向,開始研究起了「一鍵『老婆』生成器」。

先來看一下效果:

當然,除了「老婆」,其他手辦也是可以的:

效果看上去不錯,還省了買手辦的錢,這是怎麼做到的呢?

Mars 在視頻中提到,因爲生成二次元「老婆」這個主題有很多人都做過了,而且效果不錯,所以他就想到一個主題類似但表達方式不同的點子——用 AR 來做。

在 Waifu Labs 網站上生成的 2D「老婆」。

他介紹說,現在市面上大部分的 AR(比如寶可夢 Go)都是通過指定 App 中的相機纔可以看到增強現實的內容,但他想做的卻是一個網頁版 AR,也就是說,你只需要打開一個網頁,從網頁中再打開相機就能看到增強現實的內容。

那麼具體要怎麼實現呢?

他的思路可以概括爲:先做一個網站,你可以在上面上傳一個 3D 模型,網站就會自動生成一個二維碼。然後你用手機(相機)去掃這個二維碼,你剛剛上傳的模型就會出現在現實世界裏了。

思路有了,接下來就是尋找解決方案了。

備選的解決方案有這麼幾個:谷歌的 WebXR、AR.js 和 Argon.js。其中,WebXR 可能是所有解決方案中效果最好的,也是文檔最爲完善的,但問題在於它只支持極少部分安卓設備;後兩個方案各方面表現都差不多,區別在於前者是完全開源的,因此 Mars 毫不猶豫地選擇了前者。

選定了解決方案之後,先來嘗試一個官方的例子。在寫了一個靜態文件服務器、創建 index.html、將例子中的代碼複製進去運行服務器等一系列操作之後,預想中的增強現實畫面並沒有出現,只有一個報錯頁面彈了出來:

報錯的原因在於,從 ios11 開始,只有通過 https 訪問的網站纔有打開相機的權限,Mars 通過安裝一個名爲 ngrok 的程序解決了這個問題。

問題解決了,再來試一下,果然,這次真的出現了增強現實的畫面。

測試成功,接下來就是使用自己的模型了。

AR.js 提供了一個接口,可以將自己的模型對應到二維碼或者圖案上。但這裏有一個問題:精美的 3D 模型要從哪裏找呢?在視頻中,Mars 推薦的是一個叫 Sketchfab 的網站。Sketchfab 和普通的圖片網站類似,但不同之處在於,上面的模型都是 3D 的,而且大多渲染精良,既有付費模型,也有免費模型。

Sketchfab 網站首頁。

下載到模型之後,將鏈接複製到之前創建的 index.html 文件裏,就大功告成了!

爲了方便大家自己動手,此次 Mars 還開源了整個項目的代碼並在第二個視頻(代碼詳解)中對代碼和各個步驟進行了詳細講解,感興趣的同學可以自己動手試一下。

代碼地址:https://github.com/MarsWang42/AR-Laopo

最後再介紹一下寶藏 up 主 Mars。他本科畢業於同濟大學土木工程系,2015 年進入 UC Irvine 開始學習計算機知識,後來成爲一名程序員,並進入谷歌工作。在以往的視頻中,他也分享過自己轉專業和求職的諸多經驗。

在視頻的最後,Mars 表示,他將盡快將這個項目做成網頁版跟大家分享。

相關文章