GameDesign 板


LINE

※ 引述《wix3000 (癢,好吃)》之銘言: : 當腳色從上坡切換到下坡時,會因為慣性浮空一小段時間 : 只是就個人的遊戲經驗,大部分的橫向卷軸遊戲在高低差表面上移動時都是平貼著地面的 : 不知道這個部分是運用到了什麼機制讓它們能夠平貼著 : 或者說有什麼更好的架構來處理移動功能? 這就要談到平台動作遊戲(platformer)角色移動機制的一道分水嶺 看你是要 "物理模擬(physics-based)" 還是 "緊密操控(tight control)" 物理模擬為主的遊戲 就是用你的做法,設定角色的速度,然後交給物理引擎去模擬 像小小大星球就是這種作法 優點是可以很容易地讓角色跟環境做物理互動,因為角色也是物理模擬的一部份 缺點就像你說的,角色會有 "浮浮的感覺(floaty)" 而抓地困難 大部分平台動作遊戲採用緊密操控的作法 角色不屬於物理引擎模擬的一部份,與環境的互動是用額外的邏輯去處理 本世代遊戲的作法,是用 "射線投射(ray cast)" 將角色"釘"在地上 假設+Y軸為正上方 角色移動的時候,先決定下個frame的XZ位置 然後往-Y方向做ray cast,找出把角色"釘"在地上的正確Y軸位置 如此一來,角色就會緊緊的抓住地面 處理跳躍的時候,也不依靠物理引擎,而是直接對transform的Y分量做修改 當角色在空中落下的時候 每個frame在當時位置和下個frame的預期位置形成的線段,對地面做碰撞偵測 如果線段與地面沒有相交,那就按照預期位置更新角色位置 若有相交,則把角色的位置設定到交點,這樣角色就著地完成了 以上是處理Y分量的方式 處理XZ分量的方法就有很多種,端看環境的碰撞資料格式 也有混搭的作法 角色移動用設定速度和物理模擬的方式更新 但是每個frame也做-Y方向的ray cast,找出抓地點 如果抓地點沒有離角色太遠,就直接設定transform的Y分量,把角色重新"釘"回地上 補充:依照需求,除了ray cast 也可以考慮 "形狀投射(shape cast)",只是比較消耗資源 -- Web http://AllenChou.net Twitter http://twitter.com/TheAllenChou LinkedIn http://linkedin.com/in/MingLunChou --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 172.91.156.131
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1459049686.A.EA5.html ※ 編輯: cjcat2266 (172.91.156.131), 03/27/2016 11:43:35
1F:推 wix3000: 感謝回應,嗯~所以果然沒有簡單設定就能實現的方法嗎 03/27 18:50
2F:→ juicefish: Unity用物理引擎解的話 應該是調整重量或重力 03/28 00:47
3F:→ cjcat2266: 還是有可能會浮空,仍需要額外邏輯把角色確實釘在地上 03/28 08:26
4F:→ cjcat2266: 要做出緊密操控的平台動作遊戲,只靠物理模擬是不夠的 03/28 08:27
5F:→ cjcat2266: 玩家對緊密操控的期望,是其確定性(determinism) 03/28 08:29
6F:→ cjcat2266: 全依賴物理模擬而不用額外邏輯,極有可能破壞這項期望 03/28 08:30
7F:→ cjcat2266: 主打緊密操控,只要有1%機率會浮空,就會讓玩家不爽 03/28 08:31
8F:推 johnny94: 同意,尤其是很吃操作的動作遊戲,更是不能仰賴通用的物 03/28 11:35
9F:→ johnny94: 理引擎 03/28 11:35
10F:推 azureblaze: 不釘地板其實也可以靠n個frame內有碰到地板就算著地 03/28 14:41
11F:→ azureblaze: 這樣可以處理稍微飄起來的狀況,個人試起來感覺還不錯 03/28 14:42
12F:→ azureblaze: 在遊戲界「簡單設定就能實現」的效果通常不是你要的 03/28 14:44
13F:→ azureblaze: 需求變化實在太多了,除非你想要看起來千篇一律 03/28 14:45
14F:推 wannasaynone: 推實用 03/29 10:09
15F:推 sdsg5bpnl: 實用推 03/30 21:11
16F:推 lemmii: push 03/30 22:48







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP