雷鋒網按:
每當談起遊戲中的人工智慧,我們通常會想到更加逼真的敵人,也就是那些不會傻呆呆等著挨打的 NPC。不過新研究顯示,神經網路驅動的人工智慧還能在複雜的遊戲環境中即時調整玩家角色動作的真實度,即使用革命性來形容都不為過。本文由雷鋒網編譯自
Arstechnica
。
對遊戲角色控制來說,相位函數神經網路是一種全新的方式,這項技術將在今年夏天的美國電腦協會 SIGGRAPH 大會上亮相。
在大多數遊戲中,遊戲角色的動畫是提前通過動作捕捉封裝好的,這就意味著一位玩家在遊戲中會看到完全相同的動作出現上千次,確實挺無聊的。“我們的系統就完全不同。”來自愛丁堡大學的研究人員 Daniel Holden 在接受採訪時說道。
“我們會先準備一個龐大的動畫資料庫,”他說道。“隨後我們會利用機器學習打造一個系統,該系統能直接將使用者的輸入映射到遊戲角色的動作上去。因此,與將所有資料存儲起來並根據某些指令進行呈現不同,我們的系統能根據使用者輸入直接產生相應的動畫效果。”
該系統的功效確實顯而易見,在演示視頻中,即使背景地形相當複雜,那個戴三角帽的遊戲角色也能做出許多自由且自然的動作。
遊戲角色的動作相當自然
其實演示視頻中最令人驚訝的場景出現在 2:27,當時遊戲角色正在岩石區移動,它需要“攀爬並保持平衡,在某些地方還需要跳躍。”在起跳前,角色還會真實的揮動胳膊來給身體蓄能,同時它還會根據移動的方向和環境對膝蓋和腿的運動幅度進行調整,手部也會改變姿勢來保持平衡。雷鋒網注意到,在前方不遠處出現牆壁時,角色還會自然的放慢速度,而非全速前進然後急刹車。
雖然這些動作看似是不經意間做出的,但這樣的動畫效果與傳統的運動捕捉相比確實高了好幾個身位。僅僅幾分鐘的演示視頻中,你能看出很多這樣栩栩如生的小動作,絕對是細節滿滿。
學習如何移動
神經網路產生新動畫的過程
在這段演示視頻背後,其實是 Holden 和他的同事兩小時之內拿到的 1.5GB 動作捕捉資料。在那之後,神經網路利用這些資料自主訓練了 30 小時,大體上學會了如何將這些通過動作捕捉獲得的動畫重新結合並運用在遊戲場景中。
“神經網路的加入讓角色呈現出了一個姿勢該有的組成部分,玩家的輸入則隨機的讓這些組成部分相結合。”Holden 解釋道。
這樣一來,角色能做出的動作輸出就比直接前期封裝好的要多得多。就拿跳下窗臺這個動作來說,傳統的動畫系統會直接載入“跳下窗臺”的動畫文檔,但神經網路會通過資料庫中類似場景的資料推斷四肢的不同動作,並將這些資料進行融合以便完成最終的動作輸出。
1.5GB 的訓練資料在神經網路中以這種方式存儲只需要數十兆的空間,Holden 解釋道。“動畫資料被壓縮進了神經網路的權重,如果資料庫中的每個姿勢都能被分解成數個組成部分的加權和,神經網路就能輕鬆學習並大幅壓縮資料體積。”
優勢和劣勢
其他的動畫處理方式也能混合不同的動作捕捉“場景”並使用在新的環境中。不過,這些方式需要在本機存放區大量的資料,因此會拖慢系統速度。一些最新的研究顯示,其他以神經網路為基礎的動畫模型如果沒有在混合處理過程中添加週期性階段進行協助,產出的動畫就相當粗糙,而且動作不自然。
利用神經網路改變動作捕捉動畫可能會得到一些意想不到的結果,Holden 說道。舉例來說,研究人員並未給一個在崎嶇地形蹲著行走的角色提供專門的動作捕捉資料,但系統卻自己學會了這種情況的處理方式,它將平坦地形上蹲伏的動作與崎嶇地形中行走和奔跑的動作進行了結合。
未經專門訓練的角色卻學會了新動作
Holden 認為,雖然這種系統“自行研發”的新動作觀感不太自然,但效果已經完全可以接受了。此外,系統可能還學到了許多我們並未意識到的能力,不過神經網路也有局限。在研究中,Holden 就發現如果地形過於陡峭,動畫就會徹底崩潰,“除非你給他一套自己都拿不准的資料。”
用 AI 來處理角色動畫確實有其優勢,但 Holden 也遇到了不少困難。首先,30 小時的訓練時間就是個大麻煩,尤其是你想補錄一些動作的情況下。此外,負責動作設計的藝術家也無法直接對神經網路的輸出進行潤色,而在傳統的方式中,這一步相當重要。最後,雖然神經網路可以即時進行反應,但 1 秒鐘的耗時在應用時還是沒有預錄動畫來得快(Holden 認為未來肯定能找到提速的方式)。
雷鋒網注意到,Holden 已經加入了育碧的研發團隊,因此他不願透露自己的解決方案到底會在哪款遊戲中應用。不過,我們希望他的研究成果能早日應用在遊戲中,讓我們遠離那些動作僵硬的傻瓜 NPC 們。
同時,這項研究也讓我們不禁猜想,也許在不久的將來神經網路會為遊戲開發帶來新的革命性成果呢。
Via.
Arstechnica