Re: [問題]音速小子的行為模式
※ 引述《etrexetrex (ETREX)》之銘言:
: 現在演算法知道了
: 但是有一個很大的問題就是如何判斷撞擊的角度是多少?
: 在FLASH裡面有個 MC.HitTest(X,Y) 的函數
如果要真的做一點有樣子的模擬, hitTest 最好不要用...
: 請問用什麼方法才可以有效的計算出撞擊時的角度(地面凹凸不平時)
其實這在我給的那個遊戲「N」網頁上就有說明
http://www.harveycartel.org/metanet/tutorials/tutorialA.html
看一下上面講的 Separating Axis Theorem (SAT)
如果不嫌棄英文的話 應該不會難懂 上面用到的也只有國高中的向量.
對於移動物體來說, 重要的是他的位移、速度、加速度在 x y 方向上的分量
對於碰撞時的處理, 是看碰撞點的 切線單位向量 與 法線單位向量 如何
把移動物體上相關的向量對 切線單位向量 與 法線單位向量 做投影
然後在這兩個方向上做相關的處理動作
只是說你今天地面凹凸不平要精緻到何種程度
也是決定實作方法的一個重要關鍵
是要像前面那個囧Game那樣, 連字元符號的邊緣都要能抓出來嗎?
當然那就非常難了, 那個囧Game的判定問題很多
因為碰撞圖型的外型太過複雜 所以那個囧Game只能做到
抓出大概的外型 而且在判定上的錯誤就會多
但我想光是做到那種程度已經相當不錯了
另外就是像 N, N 這個遊戲就比較類似傳統的 Platformer
地形不外乎固定大小的圓、弧、斜面、方塊等湊起來的
由於在碰撞元件上做過相當程度的化簡
所以系統較容易設計 效率上也能選擇針對特定地形設計碰撞函數
來達到效率上的提升 而且在碰撞判定上可以做到相當高的準確度
所以我認為先選定想做到的效果
再選擇適當的手法 approach 會比較好
個人意見 僅供參考 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.72.57.78
※ 編輯: linjack 來自: 203.72.57.78 (06/05 01:39)
※ 編輯: linjack 來自: 203.72.57.78 (06/05 01:48)
→
06/05 01:48, , 1F
06/05 01:48, 1F
推
06/05 18:20, , 2F
06/05 18:20, 2F
→
06/05 18:21, , 3F
06/05 18:21, 3F
→
06/05 18:22, , 4F
06/05 18:22, 4F
→
06/05 18:23, , 5F
06/05 18:23, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 14 之 14 篇):
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章
16
32
10
14