最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

動作游戲中的攀爬的實現(xiàn)

2023-04-23 20:53 作者:莫末陌寞  | 我要投稿

首先說明在xy平面上的移動、旋轉方式。

對于攀爬在xy平面的實現(xiàn),首先要克服的困難是圖上紅色箭頭標識的兩種拐角。

以下將其稱之為“崎嶇旋轉”

看下圖,我將右邊的復雜地形抽象為了左邊,右邊的地形雖然復雜,但是本質上實現(xiàn)對90°角的旋轉是可以通用到其他角的。

通過射線實現(xiàn)的方式總是難以適配重疊的模型,這是很致命的。

對于這種難點的克服,我采取的手段是使用兩個小球模擬“手”,對巖石進行抓取。

兩個小綠球是——以物體中心為圓心,半徑為r的圓上的點。

通過將兩個小綠球作為攀爬者的子物體,使用相對坐標,我們的圓公式就可以不去關心圓心,使用x^2+y^2=r^2。

當已知x和r時,對可求y^2,兩個球分別代表的就是當有一個x時,通過y^2求得的(x,y)(x,-y)位置。

詳細解釋是:

我們通過圓公式定義了一個Position限制,使得點只能在圓形軌道上運行。

通過取樣這兩個在軌道上的點,得到物體當前正確的面朝向。

攀爬對象面朝向 = (左手向量與世界forward夾角+右手向量與世界forward夾角)/2

如果是單純的對碰撞發(fā)生處的法相取樣,對于這種直角,會出現(xiàn)90-45-90的僵硬過渡。

如上得到,模擬左右手的兩個小球,得到兩個小球的位置(x1,y1)、(x2,y2)。

左球和右球的x并不相等,我們要做的事情就是旋轉“攀爬者”,使得左右兩個球的x相等。

這里的(x1,y1)、(x2,y2)兩個小球作為子物體,相對父物體“攀爬者(圓心)”的位置,是相對位置。

當旋轉“攀爬者”時,保持兩個小球世界位置不動,由于父物體旋轉導致的坐標系的旋轉,這個(x1,y1)、(x2,y2)也會隨之改變。

當“攀爬者”的旋轉 = “攀爬對象面朝向 = (左手向量與世界forward夾角+右手向量與世界forward夾角)/2”時,就是(x1,y1)、(x2,y2)變?yōu)?x,y)(x,-y)的時候,此時攀爬者將有一個正確的面朝向。

這里的左手、右手向量是通過世界絕對位置計算的,在“攀爬者”旋轉時,要保持兩個小球的世界位置不動。

原理是這樣的,在實際開發(fā)中要使用插值來保證對象在旋轉中也可以隨便移動。




動作游戲中的攀爬的實現(xiàn)的評論 (共 條)

分享到微博請遵守國家法律
宁都县| 潜江市| 阳朔县| 冀州市| 宜都市| 孟津县| 厦门市| 合阳县| 珲春市| 防城港市| 怀集县| 公安县| 华池县| 天镇县| 酒泉市| 宁陕县| 中牟县| 阳曲县| 夹江县| 长丰县| 昆山市| 齐齐哈尔市| 光泽县| 通河县| 政和县| 余江县| 大连市| 绵竹市| 原平市| 邓州市| 镇沅| 宝坻区| 恩施市| 京山县| 卓尼县| 开远市| 吕梁市| 汝阳县| 友谊县| 清河县| 太仓市|