五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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)的評論 (共 條)

分享到微博請遵守國家法律
靖江市| 高陵县| 宁化县| 弋阳县| 永昌县| 黑河市| 洛隆县| 乌拉特后旗| 海晏县| 乌兰县| 嵊泗县| 油尖旺区| 遂溪县| 东乡县| 徐水县| 海安县| 宣汉县| 应城市| 正阳县| 桐柏县| 梅州市| 江津市| 互助| 文昌市| 兴宁市| 陵水| 璧山县| 鸡西市| 通城县| 都昌县| 黄梅县| 连南| 黔江区| 武城县| 航空| 澳门| 阳泉市| 乐亭县| 潮安县| 洪雅县| 固阳县|