国产成人8x人网站视频在线观看_在线偷着国产精选视频_青青青国产免费七次郎在线视频_中文字幕久精品免费视频

重構(gòu)導(dǎo)播鏡頭(Directed Camera)——從視覺研究到游戲開發(fā)(圖文)

作者:Feitong Yang
發(fā)布時間:2016-08-10 09:23:50
來源: 知乎

作者:Feitong Yang
鏈接:https://zhuanlan.zhihu.com/p/22098814
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

在過去的三個月中,我在一家游戲公司實習(xí)——寫游戲引擎,因為我們的引擎是自己開發(fā)的。現(xiàn)在團隊的一批成員正在科隆游戲展的一線宣傳這款還在Close Beta Test的游戲:這是一個即時戰(zhàn)略和MoBA的混合體,要求1個玩家在15分鐘內(nèi)同時操控3個英雄在游戲中通過打野采礦和攻擊對方得到最多的分數(shù),從而獲得勝利。如果讀者碰巧在科隆游戲展,歡迎來Hall 6玩我們開發(fā)的游戲。游戲正在線上和線下發(fā)放Beta Key,而且似乎大佬們正在跟國內(nèi)的一些公司接洽,討論游戲進入中國的方案,但是到底什么時候能跟中國玩家見面我就不知道了。

當然,這是一個視覺科學(xué)的專欄,我顯然不是專門在這里給游戲打廣告的。今天是想從視覺注意的研究方面來重構(gòu)一下『導(dǎo)播鏡頭』這個功能——在觀賞游戲的時候,如何讓AI來自動切換鏡頭,把相機焦點放在游戲最精彩的部分。

什么是『導(dǎo)播鏡頭』?

玩Dota或者LOL的玩家應(yīng)該會知道在觀戰(zhàn)模式中,觀眾可以選擇『導(dǎo)播鏡頭(Directed Camera)』觀戰(zhàn)。在這種模式中,游戲AI會自動將相機焦點導(dǎo)播到游戲最有趣的部分,讓玩家看到游戲雙方是如何戰(zhàn)斗的。這個AI系統(tǒng)會隨著游戲的發(fā)展,選擇在不同的時間看不同的地區(qū)中玩家的戰(zhàn)斗情況。在我前期搜索資料的過程中發(fā)現(xiàn),很多玩家都很喜歡這個功能,因為他們發(fā)現(xiàn)這個AI系統(tǒng)通?梢圆蹲降胶芫实挠螒驁雒,比如大招啊,有趣的配合啊之類的。于是,玩家可以通過觀看戰(zhàn)斗來學(xué)習(xí)游戲玩法,而一些主播也可以通過這個功能來減輕自己的負擔。

Fig 1:LOL的導(dǎo)播鏡頭介紹

『導(dǎo)播鏡頭』是使用了什么樣的算法?

我也不知道。顯然,Dota和LOL的制作方?jīng)]有把源碼公布出來,所以我們并不知道他們是是用什么算法來實現(xiàn)這個功能的。網(wǎng)上有很多關(guān)于算法的猜測,但是基本上都是對于數(shù)據(jù)和參數(shù)的猜測,具體算法也沒有人知道。再說,Dota和LOL很有可能使用的是不同的算法來實現(xiàn)同一個功能的。另外,我們也沒法直接用LOL的系統(tǒng),因為他們把這個系統(tǒng)申請了專利……

因為我們的游戲是一個競技性很強的游戲,整個團隊也想把這個游戲推入電子競技圈,所以我們希望自己的游戲中有一個智能導(dǎo)播鏡頭能夠在觀戰(zhàn)(包括游戲直播和觀看錄像)的時候自動地將鏡頭焦點放在游戲最有趣的部分,這樣玩家就可以躺著看比賽了。

于是,我的工作就是從頭設(shè)計和制作這樣一個導(dǎo)播鏡頭的功能。

但是我并不知道別人的算法是什么,我只好想一個自己的算法。但是我從來沒做過游戲開發(fā)啊,我在過去的幾年都是視覺科學(xué)研究者,跟游戲開發(fā)差別好像還挺大的。

沒事,我有一個特點:雖然我長得丑,但是我想得美呀!

用視覺注意研究來設(shè)計智能『導(dǎo)播鏡頭』

我們重新來看一下『導(dǎo)播鏡頭』需要做的事情:在某一個時間,我們的相機只能聚焦在一個地方,而我們希望這個地方是此時游戲最有意思的地方。這個要求本質(zhì)上就是一個選擇過程:我們要選擇在某一個時刻地圖上最有趣的地點。

說白了,這就是我們的空間注意系統(tǒng)在做的事情:在某一個時刻加工空間中最顯著的信息。

既然說白了是要設(shè)計一個類似關(guān)于人類注意系統(tǒng)的AI系統(tǒng),這東西我比較熟,所有的注意研究領(lǐng)域內(nèi)相關(guān)的理論我都可以用起來,我們就來看如何用是視覺注意的研究理論來重構(gòu)這個『導(dǎo)播鏡頭』。

1. 人類注意會選擇空間中最顯著的信息——顯著圖(Salience Map)

現(xiàn)代關(guān)于自底向上(Bottom-up)的注意模型都基于同一個思路:顯著圖(Salience Map)。這個顯著圖的功能在于計算整個空間中每一個位置的顯著值(Salience),并且假設(shè)最顯著的的信息會自動吸引注意到那個位置。

舉個例子,如果你突然聽到一聲巨響,你會不由自主地扭頭往那個方向看,因為那聲巨響對你來說非常顯著,可能在那個地方發(fā)生了什么重要的事情,所以你的注意一下子就被吸引到那個方向了。再舉個例子,一個百無聊賴的下午,你跟基友在商場里面閑逛,畢竟你們倆都沒有妹子。本來在猶豫要不要買眼前這件T恤的你,眼睛突然一下跳轉(zhuǎn)到了10點鐘方向,一動不動。因為那個位置突然出現(xiàn)了一個非常符合你審美的美女,這個視覺刺激非常顯著,以至于她出現(xiàn)在你眼角的一剎那,你的注意就被吸引過去了。這兩種情況都展示了顯著刺激會主動吸引注意的現(xiàn)象。

根據(jù)這樣的基本規(guī)律,我們就可以設(shè)計這樣一個智能系統(tǒng):這個系統(tǒng)智能地計算每一時刻游戲地圖上最顯著的區(qū)域,然后我們把導(dǎo)播相機聚焦在這個區(qū)域就可以了。這樣,我們就只要解決一個稍微簡單點的問題:如何計算每一個區(qū)域的顯著值。

像LOL和Dota這樣的游戲,顯然我們不能去計算每一個像素的顯著性。但是我們完全可以假設(shè)游戲最有趣的地方一定是某一個或某一群英雄附近。一般情況下,如果某一個區(qū)域沒有任何一個英雄在活動,作為想了解玩家游戲策略的觀眾而言,這樣的區(qū)域比較沒有意思。于是我們就需要設(shè)計一個方案來計算『什么叫做有趣的、顯著的信息』?

『什么信息是顯著信息』是一個非常難的問題。這個問題目前有困擾著所有研究注意的科學(xué)家。因為對于人類而言,很多因素可以變成顯著因素——顏色對比度,聲音強度,獎賞相關(guān)性等等。在諸如DOTA和LOL的游戲中,顯著因素相對少一些,但是仍然比較難搞。有些因素很容易找到:比如,我們可以認為英雄死亡是一個顯著事件——我們想知道怎么補刀拿人頭的,另外,英雄的大招也顯然是顯著事件——如果有人放大招了,我們肯定不想錯過。再比如一些重要的事件,比如推塔什么的,也有可能我們覺得很有趣。

另外一些因素就相對比較難定義了。比如,團戰(zhàn)。最簡單的定義是不同陣營的人在某一個區(qū)間內(nèi)同時出現(xiàn),我們就認為發(fā)生了團戰(zhàn)。這樣的定義顯然很粗糙,比如有可能玩家估計把站在一起,就是不打。再比如,伏擊。游戲AI是很難知道一個英雄的一系列走位是為了伏擊的,因為游戲AI只能看到游戲數(shù)據(jù),看不到人的思想。你穿樹林有可能不是為了伏擊,而是為了逃跑。再比如,一些比較高級的玩法,玩家之間的配合之類的,這些策略都很難通過簡單的規(guī)則來判斷和定義。


Fig 2. 『打野』這個事件就是一個比較抽象的事件,他沒有明確的起始時間和中止時間,也沒有明確的觸發(fā)條件,只有『玩家和野怪的交互』這樣一個模糊的定義。

但是,設(shè)計游戲系統(tǒng)最重要的一點就是不要把設(shè)計思路搞得太復(fù)雜。如果我們上來就思考:『我怎么才能刻畫和定義玩家的不同策略,爭取把所有有趣的操作都讓相機找到』,那我們很有可能會發(fā)現(xiàn)這個任務(wù)太難了——有可能要來點機器學(xué)習(xí),在湊點大數(shù)據(jù)什么的。一個復(fù)雜的系統(tǒng)可能非常準確,但是也可能會非常糟糕,非常難用。其實仔細想一下,玩家的任何游戲策略最終都會轉(zhuǎn)換為游戲中英雄在某一個時刻的位置和使用的技能。位置是可以測量的,技能的影響是可以測量的。HP的改變和CoolDown都位置和技能的副產(chǎn)品。

LOL和Dota的玩家應(yīng)該在一段時間的游戲和看視頻之后逐漸地知道我們一般在什么情況下會說什么事件發(fā)生了。如果你仔細考慮,你會發(fā)現(xiàn)真正稱得上『事件』的其實也就那么一些,關(guān)鍵是你如何通過僅有的游戲數(shù)據(jù)——每一個物體的位置、Hp、觸發(fā)技能——來反向歸納出這些事件。人,用眼睛看,當然是一目了然的;但是AI系統(tǒng),看到的只有一幀一幀的游戲數(shù)據(jù),如何把數(shù)據(jù)解析成事件——這才是AI導(dǎo)播系統(tǒng)需要花點時間的。

2. 人類注意滯留的時間是有限的

人的注意是不會在任何一個物體和空間上停留很久的。人很容易感覺無聊。即使是你在看電視,甚至是看美女帥哥看的津津有味的時候,你的眼睛和注意焦點也不會在同一個地方太久(可能一次也就停留個半秒)——你會在不同的有趣的地方來回打量。但是,你的注意終究會在一些特別有趣的地方停留時間久一些,而在不那么有趣的地方停留時間短一些。

在觀賞游戲的時候,觀眾也不會愿意盯著一個地區(qū)或者一個英雄(特殊情況除外)看太久?戳艘欢螘r間之后,觀眾可能就會想:咦,我想看看另外幾個英雄在做些什么有趣的事情呢?

考慮到注意這樣的屬性,我們需要設(shè)計導(dǎo)播鏡頭在每一個顯著性的點上停留多長時間。如果導(dǎo)播鏡頭停留的時間太短,觀眾會感覺鏡頭跳來跳去,看不清楚到底是怎么回事;如果停留時間太長,觀眾會感覺到無聊,希望看別的地方。我們希望導(dǎo)播鏡頭能夠盡量智能地控制時間在某一個位置的時間長度。

如果你掐表看LOL的導(dǎo)播鏡頭的話,你會發(fā)現(xiàn)鏡頭一般在一個位置停留5s,然后跳轉(zhuǎn)到下一個區(qū)域。有時候,你會發(fā)現(xiàn)鏡頭在同一個位置停留10s,甚至20s。這多半是因為這個位置有多個英雄在團戰(zhàn)。因為這個場面足夠有趣,英雄足夠多,技能足夠華麗,觀眾可能愿意在這個場景中多花一點時間,看看游戲的走向。因此,導(dǎo)播系統(tǒng)也就自然地多花了一些時間在這個上面。

Fig 3. 比如這樣的游戲團戰(zhàn),雙方英雄和野獸都存在,我們就希望智能系統(tǒng)停留久一點。

我們設(shè)計導(dǎo)播鏡頭也要做到同樣的效果。真正的實現(xiàn)有很多種不同的方法,比如你統(tǒng)計某個區(qū)間內(nèi)的英雄總數(shù),然后根據(jù)英雄的數(shù)量設(shè)置時間;蛘,引擎可以統(tǒng)計某個區(qū)域發(fā)生了多少傷害,多少技能輸出,多少移動,然后根據(jù)統(tǒng)計量的多少來決定相機的停留時間。當然,我不是這么實現(xiàn)的,我的方法比較簡單粗暴,而且這種因為英雄多而增長鏡頭停留時間的現(xiàn)象也只是一個副產(chǎn)品,在這里就不多贅述了。

3. 人類會主動回避剛剛看過的地方——返回抑制(Inhibition of Return)

人類注意系統(tǒng)還有一個很有趣的現(xiàn)象,我們剛剛看過的地方,在一段時間內(nèi)我們不會再去看了。我們把這種現(xiàn)象稱為返回抑制。

比如,你在桌子上找鉛筆的時候,你花了一些時間搜索了一個區(qū)域,接下來的一段時間之內(nèi)你可能就不會再搜索這塊區(qū)域了。但是如果再等了一會兒你還是沒有找到鉛筆,你可能才會回來再查一遍。

在觀戰(zhàn)LOL和Dota的時候,如果你是想了解游戲進展,很有可能你不是很希望在一方的同一個英雄身上花太多時間。比如你看到A英雄1在x路線上推進,沒發(fā)生什么特別的;接下來你去看了看B方英雄做什么;接下來你又回到A方英雄,這個時候,你可能就不會再想去看英雄1在干什么,而是想知道你之前沒有看過的英雄2,英雄3在干什么。

智能導(dǎo)播系統(tǒng)應(yīng)該也要考慮到這樣的問題,在同一陣營的不同英雄之間分配時間,不至于總是把鏡頭放在某一個特殊的英雄上面,畢竟其他的英雄可能正在做著很重要的事情。

4. 綜合在一起,加上一點點先知

現(xiàn)在,你有了一個導(dǎo)播系統(tǒng),這個系統(tǒng)會計算每一個時刻地圖上哪里最顯著,然后這個導(dǎo)播系統(tǒng)會把相機聚焦在這個最顯著的區(qū)域內(nèi),并且聚焦一段時間;然后導(dǎo)播系統(tǒng)會尋找下一個顯著區(qū)域,然后更新相機的聚焦點;如此反復(fù)。相機通過定義顯著的事件和事件之間的顯著級別來判斷什么是有趣的,什么不那么有趣。如果你定義的有趣的事件比較正確,你設(shè)定的注意停留時間也比較合理,那么你就能得到一個相對不錯的智能導(dǎo)播系統(tǒng),幫助你無縫連接游戲的每一個精彩瞬間。

所有的游戲都是會緩沖的。你能在游戲里面看到的在線Dota和LOL的直播,至少是在真實游戲開始的2分鐘以后。因為AI系統(tǒng)比觀眾多了2分鐘的信息,所以AI系統(tǒng)可以做到一定的『未卜先知』。比如AI系統(tǒng)提前知道10s之后會發(fā)生『第一滴血』事件,導(dǎo)播系統(tǒng)就可以提前3s把鏡頭移動到這個事件會發(fā)生的地點和英雄身上。坐在一旁觀戰(zhàn)的玩家,就能夠看到這個受害者英雄從HP下降到死亡的全部過程。

綜合到一起,你就會得到一個提前幫你安排好的導(dǎo)播系統(tǒng),讓你輕松觀戰(zhàn),不用碰一下鼠標或鍵盤。

從認知研究到游戲開發(fā)

我的智能導(dǎo)播系統(tǒng)的設(shè)計思路大概就是這樣了。不太重要的具體細節(jié)當然是省略了一部分。至于這個系統(tǒng)好不好用——至少我們現(xiàn)在是每天都用它。將來等游戲入境中國的時候,歡迎大家親自嘗試一下我們這一款導(dǎo)播功能。畢竟我知道的現(xiàn)在電子競技的游戲中提供智能導(dǎo)播觀戰(zhàn)功能的游戲并不是很多——實際上除了Dota和LOL,我并不知道第三個。

很多人問學(xué)心理學(xué)有什么用,我沒法回答這個問題。但是我現(xiàn)在可以說,如果你研究『認知心理學(xué)』,那么你是可以去開發(fā)游戲的,甚至是開發(fā)即時策略游戲的游戲引擎。有很多游戲引擎的設(shè)計服從一些基本的人類認知特點,比如人類的視覺知覺、注意系統(tǒng)等等。雖然學(xué)認知的人不一定知道游戲渲染怎么做,但是有很多游戲智能系統(tǒng),學(xué)習(xí)認知心理學(xué)的人還是可以去嘗試開發(fā)一下的。

順便說一句,視覺研究搞得好,你也是可以去Blizzard的。我就知道有一個研究視覺認知和視覺注意的PhD,畢業(yè)以后去了Blizzard——當然,人家的研究方向似乎就是『電子游戲?qū)θ祟愐曈X和注意的影響』。

來源:知乎 www.zhihu.com 作者:Feitong Yang

>更多相關(guān)文章
網(wǎng)友評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
地方新聞 | 國內(nèi)新聞 | 國際新聞 | 社會與法 | 社會萬象 | 奇聞軼事 | 娛樂熱點 | 明星八卦 | 綜藝大觀 | 影視快訊 | 樓市資訊 | 地產(chǎn)要聞 | 地方特色 | 飲食健康 | 廚房百科
車界動態(tài) | 新車上市 | 購車指南 | 體壇要聞 | 籃球風(fēng)云 | 國際足球 | 中國足球 | 投資理財 | 證券基金
關(guān)于本站 - 廣告服務(wù) - 免責(zé)申明 - 招聘信息 - 聯(lián)系我們

版權(quán)所有:中地網(wǎng),未經(jīng)書面許可不得轉(zhuǎn)載。
本站所刊登的各種新聞,信息和各種專欄資料,均為中地網(wǎng)版權(quán)所有,部分作品由用戶提供,如有侵權(quán),請及時聯(lián)系刪除,本站所做之廣告均屬其個人行為,與本站立場無關(guān)。
網(wǎng)站新聞爆料:924028811@qq.com  網(wǎng)站廣告投放(+86)0851-83809958  手機:15086320111   QQ:924028811   技術(shù)支持:貴州中地文化傳媒有限公司
備案標識貴公網(wǎng)安備52050202001312號     黔ICP備12003314號-3 


中地網(wǎng)版權(quán)所有,未經(jīng)許可,禁止下載使用

Copyright © 2015-2022
www.arpwindows.com Inc. All Rights Reserved