[Unity] 3D球體上坡暴衝問題

更新於 發佈於 閱讀時間約 3 分鐘

Web版3D滾球遊戲Demo: https://reurl.cc/knW77x

Unity遊戲如果要移植到手機版,常常會加上虛擬遙桿(如使用Joystick Pack套件),不過有時候球體在上坡後會產生暴衝的問題,這會造成球體難以操控,如下圖所示:

raw-image

在電腦上因為使用鍵盤所以靈敏度比較高,比較能夠控制好球體,不過在手機上可能要利用一些方法避免球體暴衝了。要注意的是給球體的力道太大會很容易暴衝,太小的話可能爬坡會爬不上去。

以下是ChatGPT給的建議:

1. 調整虛擬搖桿的輸出值(加速度):

預設 Joystick 的輸出值是 0~1(或 -1~1),這在手機上手指稍微一推就容易給出最大值,導致球加速太快。改善方式是將遙桿的值縮小:

float moveHorizontal = joystick.Horizontal;
float moveVertical = joystick.Vertical;
// 將力量縮小,例如乘以 0.5f(可調整)
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical) * 0.7f;
rb.AddForce(movement * moveSpeed); // moveSpeed值是10

這邊第4行我是將原本的力改成0.7倍,這樣不至於爬坡爬不上去。

2. 使用力量限制器或速度限制:

// 限制最大速度
if (rb.linearVelocity.magnitude > maxSpeed) // maxSpeed值為5
{
rb.linearVelocity = rb.linearVelocity.normalized * maxSpeed;
}

3. 調整物理材質(Physics Material)

將球體還有灰色的牆各別加入Physics Material,尤其是灰色的牆,摩擦度(Dynamic / Static Friction)要高一點讓球體在上面滾動時速度會減緩。

raw-image

4. 加入煞車或拖曳阻力(Drag)

增加球的阻力可以減少它的衝刺距離。

// 動態調整 drag 值
if (transform.position.y >= 1.3f)
{
rb.drag = 2f; // 在球上坡後增加球的阻力
}
else
{
rb.drag = 0f; // 在球下坡後減少球的阻力
}

經過限制速度和增加摩擦力和阻力,球體在上坡後就比較容易控制了。

raw-image

當然可以考慮其它方法,增加球體的可控性:

(1) 增加上坡後平台的緩衝區,這緩衝區可以降低球體的速度或者增加阻力,我是偷懶直接把平台擴大:

raw-image

(2) 上坡後的平台設置柵欄,就算球體上坡後暴衝也不會從平台上掉下來。


留言
avatar-img
留言分享你的想法!
avatar-img
螞蟻兒的沙龍
15會員
42內容數
這裡是分享個人讀書心得或學習心得的沙龍,請大家多多指教~
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
圍棋攻擊裡一定要會的技巧,攻擊時與對手的棋子保持一點距離,但又不讓對手可以簡單的拆邊來尋找根據地,是高手很常使用的攻擊技能,注意⚠️攻擊時儘量不要去碰對方的棋子,不然說不定會被對手利用而適得其反呢~
Thumbnail
圍棋攻擊裡一定要會的技巧,攻擊時與對手的棋子保持一點距離,但又不讓對手可以簡單的拆邊來尋找根據地,是高手很常使用的攻擊技能,注意⚠️攻擊時儘量不要去碰對方的棋子,不然說不定會被對手利用而適得其反呢~
Thumbnail
我的如意算盤的確做得到,一次漠視,四次選擇,後續簽下十一項借據。 但我的內心與意志卻不能帶我到那裡。 大概是對手擲出速度不快的直球,身處於虛幻世界的你即使是變化球也無所畏懼呢,毫不考慮地打出去,連選球顯得麻煩。而身處於現實世界的你卻會被壓力與無形的力量給全身纏住,最後三個直球將你的想像一掃而盡。我
Thumbnail
我的如意算盤的確做得到,一次漠視,四次選擇,後續簽下十一項借據。 但我的內心與意志卻不能帶我到那裡。 大概是對手擲出速度不快的直球,身處於虛幻世界的你即使是變化球也無所畏懼呢,毫不考慮地打出去,連選球顯得麻煩。而身處於現實世界的你卻會被壓力與無形的力量給全身纏住,最後三個直球將你的想像一掃而盡。我
Thumbnail
前機構有一款「彩色積木疊疊樂」。 疊疊樂是平衡類的桌遊,自己覺得這款桌遊不錯的地方:一是木製的,手感溫潤;二是色彩繽紛,具有視覺上的刺激。 疊疊樂可訓練手眼協調,且抽取積木時需具判斷力及專注力,同時考驗手部穩定度,是很好、很棒的桌遊。 然而因前機構住民大多坐輪椅,再加上機構長桌問題,住民很難...
Thumbnail
前機構有一款「彩色積木疊疊樂」。 疊疊樂是平衡類的桌遊,自己覺得這款桌遊不錯的地方:一是木製的,手感溫潤;二是色彩繽紛,具有視覺上的刺激。 疊疊樂可訓練手眼協調,且抽取積木時需具判斷力及專注力,同時考驗手部穩定度,是很好、很棒的桌遊。 然而因前機構住民大多坐輪椅,再加上機構長桌問題,住民很難...
Thumbnail
心情有如蹺蹺板 上上下下 自此正與負的較量開始 考試 段考 負的一方 率先拿起大石頭 放置於一側 拔得頭籌   正的也不甘示弱 千里迢迢的獎狀 來增加士氣 不過力臂短了些 微微落後   老師的訓誡 不被理解的無奈 沉重的重量 使得負與正的差距 再次拉
Thumbnail
心情有如蹺蹺板 上上下下 自此正與負的較量開始 考試 段考 負的一方 率先拿起大石頭 放置於一側 拔得頭籌   正的也不甘示弱 千里迢迢的獎狀 來增加士氣 不過力臂短了些 微微落後   老師的訓誡 不被理解的無奈 沉重的重量 使得負與正的差距 再次拉
Thumbnail
今天我們玩了規則比較正式的「飛盤爭奪賽」,正式規則的場地比較大,要跑很遠…
Thumbnail
今天我們玩了規則比較正式的「飛盤爭奪賽」,正式規則的場地比較大,要跑很遠…
Thumbnail
今天是第一次打這麼大的場地,打起來真的很累,因為要一直跑來跑去,但同時也更刺激更好玩了! 規則有很大的差異,和之前玩的規則不一樣,但我比較喜歡這次的規則,因為這樣把別人的盤打到地板上的話就可以交換進攻的人,而且也更需要技巧,所以就不會無腦的丟。 也因為有一對一的規則,所以就很需要默契和阻擋的技巧
Thumbnail
今天是第一次打這麼大的場地,打起來真的很累,因為要一直跑來跑去,但同時也更刺激更好玩了! 規則有很大的差異,和之前玩的規則不一樣,但我比較喜歡這次的規則,因為這樣把別人的盤打到地板上的話就可以交換進攻的人,而且也更需要技巧,所以就不會無腦的丟。 也因為有一對一的規則,所以就很需要默契和阻擋的技巧
Thumbnail
高爾夫是眾多運動裡需要不斷去精進和更新,而很多球友面對高爾夫如此複雜的動作、球桿和策略,很多都直接掛點,算了。而我自己也在這個過程遇到不少問題和挑戰,所以我分享自己經驗,如果有幫助就撿起來用。首先,我必須說目前高爾夫都是複雜化的結果,球桿要14支、動作也變態複雜,打球也有策略,不是盲打就可以過關。
Thumbnail
高爾夫是眾多運動裡需要不斷去精進和更新,而很多球友面對高爾夫如此複雜的動作、球桿和策略,很多都直接掛點,算了。而我自己也在這個過程遇到不少問題和挑戰,所以我分享自己經驗,如果有幫助就撿起來用。首先,我必須說目前高爾夫都是複雜化的結果,球桿要14支、動作也變態複雜,打球也有策略,不是盲打就可以過關。
Thumbnail
切滾球: 飛少滾多 12法則: 飛滾比 7號桿>1:5(7+5=12) 9號桿>1:3(9+3=12) P桿> 1:2 54°Wedge>1:1 越長桿桿面角度越小,越穩定 掌握桿把,左手低右肩高,肘貼胸肋, 桿身垂直地面(桿頭跟部離地),桿身握短。 像推桿一樣對準方向控制大小
Thumbnail
切滾球: 飛少滾多 12法則: 飛滾比 7號桿>1:5(7+5=12) 9號桿>1:3(9+3=12) P桿> 1:2 54°Wedge>1:1 越長桿桿面角度越小,越穩定 掌握桿把,左手低右肩高,肘貼胸肋, 桿身垂直地面(桿頭跟部離地),桿身握短。 像推桿一樣對準方向控制大小
Thumbnail
我很早前在我的文章就有說到,現在的球桿就走一個簽王特色:易打/高容錯!而容錯在現在每年新球桿裡就是固定先發。距離雖然也是DNA,但始終焦點還是高容錯上。高容錯的另一個面向就是易打,因為球桿如果做得太難使用,會讓球友或新兵卡關,不玩了。如果你有15年前以上的球桿,你打看看,就可以知道那些桿子說白了,就
Thumbnail
我很早前在我的文章就有說到,現在的球桿就走一個簽王特色:易打/高容錯!而容錯在現在每年新球桿裡就是固定先發。距離雖然也是DNA,但始終焦點還是高容錯上。高容錯的另一個面向就是易打,因為球桿如果做得太難使用,會讓球友或新兵卡關,不玩了。如果你有15年前以上的球桿,你打看看,就可以知道那些桿子說白了,就
Thumbnail
建立幾個變數如下,最上面兩個變數值為清單值 接下來分別設定球1位置到左上角落、設定球2位置到右上角落、設定球3位置到左下角落、設定球4位置到右下角落 當螢幕初始化的時候,設定玩家球的X、Y座標和大小,並將玩家球的初始顏色,設定成(變數_顏色清單)中.....
Thumbnail
建立幾個變數如下,最上面兩個變數值為清單值 接下來分別設定球1位置到左上角落、設定球2位置到右上角落、設定球3位置到左下角落、設定球4位置到右下角落 當螢幕初始化的時候,設定玩家球的X、Y座標和大小,並將玩家球的初始顏色,設定成(變數_顏色清單)中.....
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News