Re: [程式] 遊戲中hit Test的方法

看板GameDesign作者 (我要加入劍道社!)時間14年前 (2010/05/14 10:54), 編輯推噓3(3013)
留言16則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《QQ29 (我愛阿蓉)》之銘言: : 我現在HitTest 是針對每個 物體 自己去判斷有沒有被hit到 你的 hit test 到底是什麼意思 是指說滑鼠點到顯示區域的某塊位置時 要選取該位置的物件嗎? 如果你的目的是這樣 那解法其實非常簡單 就是產生另一塊與顯示區域大小相同的 buffer 在你畫出所有物件的時候 也一起畫在這塊 buffer 上 唯一不同的地方在於,你是把「物件的編號」填入這塊 buffer 而不是物件的顏色 所以當你的滑鼠點在某個 pixel 上時 就去該 buffer 看那個 pixel 的物件編號是多少 就知道你選到了哪個物件 如果你用的是 OpenGL 去 google 找 opengl select buffer 就可以找到相關的 tutorial DirectX 我不熟不過應該也有對應的功能 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.29.108

05/14 15:42, , 1F
其實我是用XNA ~
05/14 15:42, 1F

05/14 15:42, , 2F

05/14 15:43, , 3F
他有提供 ray intersection 判斷點到哪個物體
05/14 15:43, 3F

05/14 15:43, , 4F
但我目前卡住的問題是 如果物體會動態的移動
05/14 15:43, 4F

05/14 15:44, , 5F
我bounding box不會動 如果有遮擋 該怎判斷點到誰
05/14 15:44, 5F

05/14 15:45, , 6F
我OPENGL這有使用過~但是和目前遇到的似乎完全不一樣方法..
05/14 15:45, 6F

05/14 17:09, , 7F
看那個intersection point誰比較近呀
05/14 17:09, 7F

05/15 23:13, , 8F
但是其實我boundingbox都不會動耶
05/15 23:13, 8F

05/15 23:14, , 9F
物體透過矩陣 產生移動 但是unproject後 還是和原來bouding
05/15 23:14, 9F

05/15 23:14, , 10F
box 去做intersection...就是這範例這樣做的
05/15 23:14, 10F

05/15 23:14, , 11F
只是他物體不會動 且他bounding box 原本就有深淺
05/15 23:14, 11F

05/15 23:14, , 12F
直接判斷距離即可 但我物體會隨時在動...不知道怎辦
05/15 23:14, 12F

05/22 23:21, , 13F
BB要自己隨時更新 當初我在做的時候當物體移動BB也會跟著
05/22 23:21, 13F

05/22 23:21, , 14F
自己給值
05/22 23:21, 14F

05/22 23:23, , 15F
印象中沒記錯的話 XNA 的BB是指有MAX和MIN兩點 所以就隨時
05/22 23:23, 15F

05/22 23:23, , 16F
更新他吧~~
05/22 23:23, 16F
文章代碼(AID): #1BxBjTjE (GameDesign)
文章代碼(AID): #1BxBjTjE (GameDesign)