包含3節(jié)視頻教程
關(guān)注7.6萬次
包括轉(zhuǎn)載教程,其他視頻教程,各種問題答疑等系列!特別是問題收集箱。包含了整個學(xué)習(xí)過程中遇到的細節(jié)小問題。這些收集是你未來幾年甚至十幾年一定會遇到的!
作者朱峰老師
1寫這篇論文原因是因為從夢中得到的一個啟發(fā)。
2由于本人時間有限,所以本人只提出這個夢帶來的一些構(gòu)思和初始想法,不進行更多技術(shù)研究,希望育碧等相關(guān)游戲開發(fā)的技術(shù)人員進一步深度研究,必將改變目前游戲中人和輸入的交互方式。得到更完美的解決方案。
先說一下我的這個夢:
在夢里面,跳過兩個柵欄
我在第一次跳躍的時候腳踩到了第一個木樁,這時候我看到了第二個木樁?謶肿屛蚁氲,我可能跳不過去了,我速度太快了我停不住,于是我驚醒了。
于是就會得到如下結(jié)論:
是什么控制我們跳躍。是個預(yù)先的判斷,這個預(yù)先的判斷就是中間控制層(以下簡稱中間層)。
游戲如人生,如上圖,游戲中我們輸入跳躍是固定的,高度是我們輸入長度控制的,電腦只提供反饋信息,然而電腦從來不思考這個可不可以做,做了會帶來什么結(jié)果,那么電腦是不是就太傻了?能否給角色一個大腦(中間層預(yù)先判斷)?讓角色更加人工智能,更加自動化?
總結(jié):
1如上圖紅色虛線正如目前游戲中的操作方式一樣,簡單粗暴,但是這并不符合我們大腦控制的方式。
2所以建立一套中間層來控制游戲中角色的控制,會帶來更正確的最終動作,也會改變目前游戲操作和角色動作中存在的問題。
3相對于研究輸入(目標),和研究動作(結(jié)果),研究中間層(過程)也應(yīng)該同樣的重要,而且是關(guān)鍵所在。
4中間層是什么,就是我們大腦預(yù)先判斷,這個需要提前寫入游戲程序中,加入預(yù)先判斷的中間層機制。
5加入中間層對于游戲角色的意義就是,會帶來更加有智慧的角色。更加符合人類標準的角色,有自我判斷的角色。同時也更加真實。
關(guān)于一些簡單的設(shè)想:
1游戲中加入中間控制層,(不是速度判斷,也不是方向判斷,而是從人類大腦獲得啟迪的一種預(yù)先判斷)。
2中間層會收集游戲現(xiàn)實中的各個參數(shù)(如前方有沒有墻,墻多高,前方有沒有懸崖,距離我多遠),從而轉(zhuǎn)化為,我們可以干什么,干多少度,我們不能干什么,我只能接受什么命令。
3在得到最終指令開始前,中間層已經(jīng)安排了角色的動作。在得到指令之后,中間層控制角色要不要運動。
4中間層不是電腦機器學(xué)習(xí)系統(tǒng),是程序員以人類大腦思考為前提提前寫出的種種判斷機制。
一 關(guān)于育碧提出的Motion Matching系統(tǒng)
該系統(tǒng)通過輸入方向調(diào)取角色眾多運動捕捉中的最接近動作
問題:
1巨大的計算量,需要每一幀匹配眾多角色動作。
2無法確定角色當前到底是什么動作。
3只有輸入和輸出,缺少中間層的部分。
4加入中間層后會形成一些更精確的判斷,同時也無需運動捕捉無數(shù)動作,動作由變量控制,更加節(jié)約內(nèi)存。并屏蔽大多數(shù)來自輸入的誤操作。
5我接受什么輸入,不接受什么輸入。就算玩家提供了讓我向左邊移動,但是中間層可以決定要不要這個指令。
6不是簡單的屏蔽某些短暫輸入,而是讓角色自我思考應(yīng)該做什么動作,然后給出相應(yīng)反應(yīng)。
二關(guān)于虛幻引擎動作系統(tǒng)的問題
1目前虛幻中輸入模式是通過速度改變角色的動作。輸入快就是跑步,速度慢就是停止。
2這種速度帶來的運動感簡單粗暴。
3加入中間層會提前計算好角色應(yīng)該以多少速度行走,提前決定讓角色慢慢停下。而不是去撞墻后才減速。
一,三級跳
比如開發(fā)一個三級跳的游戲。
玩家輸入的肯定只是方向。力度和跳躍
由中間層負責屏蔽左右輸入,只接受前后移動和按鈕力度以及按鈕時間,然后控制左右腳著地。然后提供角色相應(yīng)的動作。
二,遠近不同的木樁跳躍
1中間層:首先通過碰撞檢測和物體距離判斷得到角色前一個木樁的距離。以及收集角色的速度。
2中間層提前計算可能性,輸入中如果得到向前跳躍指令后,自動匹配相應(yīng)的跳躍動作,如近距離跳躍,中距離跳躍,和遠距離跳躍。
3如果未收到指令。中間層會判斷是否讓角色停止,或者由于輸入太快的慣性跳躍一格(中速)或者兩格(高速),或者跌落(半速)。
三人類前面有墻面
中間層判斷:
1得到墻面和自己的距離。
2得到我自己目前的速度。
3無論輸入什么。自我(中間層)決定減速還是轉(zhuǎn)彎。
中間層概念首先是打斷角色輸入信息(智能化屏蔽),然后提供給人物正確的動作信息
也就是我們自己控制和現(xiàn)實擺出的動作的判斷。
我們想跑,首先要看看前面是不是墻面,下面有沒有懸崖,而輸入的指令是不確定的,中間層負責判斷我們能干什么,不能干什么,于是屏蔽錯誤的輸入。類似自動駕駛。同時要鼓勵正確的輸入信息。比如給出相應(yīng)動作。
比如,如果角色在墻面之前,你輸入的動作是前進,中間層會判斷你不能繼續(xù)前進,給出搖頭的動作。
還比如,我們和墻面有五步。中間層會提前計算好我這五步是邁出左腳和右腳,以多大的力度和距離。無論我們輸入什么其他方向,都失效,只接受前進鍵盤,如果沒有輸入,中間層會產(chǎn)生泄氣動作,或者干脆自行行走。
中間層提供預(yù)先判斷。
中間層給出可以做的所有動作可能性。
中間層分配動作。
中間層是輸入和角色之間的大腦。
中間層了解輸入信息,中間層了解角色動作,中間層負責判斷角色動不動和動多少。
中間層就是大腦的潛意識思考,提前做出反應(yīng)。目前游戲只是簡單的嘗試,但是缺少系統(tǒng)性的開發(fā)和應(yīng)用。
如果中間層被開發(fā)好后。
動畫師,簡單提供不同角度不同力度的動作。
輸入,來自于人類的意圖。
中間層,讓角色產(chǎn)生自己的大腦,進行思考和判斷。
好了這次的論文到此,希望相關(guān)開發(fā)人員繼續(xù)在這個基礎(chǔ)上開發(fā)游戲,帶來更加人性化的動作而不是傻乎乎的撞墻。
下面是我之前做過的一些游戲中的嘗試,有一些萌芽,但是不是系統(tǒng)的做這個。希望后續(xù)相關(guān)人員繼續(xù)開發(fā),讓角色更加智能。
游戲世界工具集2
虛幻商城地址:
中文教程地址:
http://zoombooms.com/Prclassi_xl.asp?id=1388
另外有更多新技術(shù)會發(fā)布到朱峰社區(qū)網(wǎng)站:
相關(guān)討論請聯(lián)系郵箱zf3d@qq.com
朱峰社區(qū)網(wǎng)頁版(手機掃描-分享-添加到屏幕)
朱峰社區(qū)微信公眾號(微信掃一掃-關(guān)注)
未知用戶
2005-2025 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號-1
2005-2025 ZhuFeng Community All Rights Reserved
VIP