創作內容

2 GP

亂七八糟的_遊戲開發誌[4] 跳躍與落下

作者:Daily│2019-02-01 02:54:53│巴幣:4│人氣:1144
上回我們已經完成了移動
現在有一起跟著做得人可能會發現
" 下落速度變得很慢 "

這是為甚麼呢?
因為我們把速度限制了所以包誇RigidBody自行計算的重力都會被影響
我們只要把RigidBody中的UseGravity取消掉
然後自己模擬重力就好了

模擬重力就只要向下AddForce就好
可以把加速度設成 9.8也可以稍微設大一點(這邊看你想給玩家什麼樣的手感)
記得多乘上deltaTime因為重力加速度是以每秒來算的不是每幀
這時候你會發現有點奇怪?

首先落下速度還是很慢
這是因為我們之前設定的限速 之前的限速也影響了Y軸的速度
稍微修改一下之前的代碼
我們可以單獨修改Y軸的重力來修正這個
一樣是利用暫存的方式單獨修改向量
改完之後下落速度就變快了

這邊要注意Y軸是否會加速到超快
(如果把加速度設得很高 或是落下距離超高)
那樣腳色下落沒有限速會容易發生物理引擎過漏 腳色直接穿過地面

在這邊要注意
因為當腳色在地面上時一樣會計算落下
現在要做的是判斷腳色是否在空中
如果在空中才要計算重力!
還記得開篇我們說的接地檢查吧?
這邊就可以用上了!

這邊有一點要注意
如果走到斜坡腳色就會開始彈跳
如果坡度太陡還會有BUG
到後面我們會單獨處理斜坡的問題

接著就是跳躍了
跳躍相對其他移動單純很多
因為我們只要處理跳起來的瞬間 其他交給物理引擎就好
怎麼起跳呢?
直接給一個向上的力就對了AddForce給他加上去

哇連打還可以....無限連跳
如果你的遊戲要這樣設計也是可拉...
但通常二連跳就很多了
這邊可以簡單加一個Bool去判斷可否起跳
也可以用接地判定去判斷可不可以跳
不過我建議用單獨的Bool去判斷比較好
因為起跳瞬間還不會脫離接地判定
所以用另外的Bool去判斷可以延遲reset

關於空中移動
遊戲設計有很多細節都是玩家可能不會注意到的
但是製作人要去考慮這些問題
像是當腳色在空中能不能自由移動?
正常的物理下 人只要跳起來就無法移動了(除非你有助跑或是向前跳)
但在遊戲中跳起來可以移動是稀鬆平常的事 向瑪莉歐之類的
那你在設計遊戲時就要考慮要帶給玩家甚麼樣的操作手感
要鎖定跳躍時的移動呢?還是要特別設計空中移動的規則?
這些以後再向大家介紹吧
這邊直接先跟大家說跳躍中可以自由移動可以帶來更好的操作手感

下一期們來看看讓人又愛又恨的攝影機!
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4279488
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:Unity(遊戲引擎)|遊戲製作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

2喜歡★q090400 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:亂七八糟的_遊戲開發誌_... 後一篇:亂七八糟的_遊戲開發誌[...

追蹤私訊切換新版閱覽

作品資料夾

tyu15826大家
蓋婭薔薇—亞獸之戰已更新,面對911的威脅,貝歐等人開始聚集並團結對抗看更多我要大聲說昨天16:03


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】