[程式] 在3D空間中如果判斷誰在左邊誰在右邊

看板GameDesign (遊戲設計)作者 (楊伯)時間14年前 (2011/03/19 00:17), 編輯推噓5(5021)
留言26則, 6人參與, 最新討論串1/1
如題,我想在一個3D遊戲中檢查敵人在我左邊還是右邊 ,但是我卻不知道要用什麼做依據來算。 我現在只知道用角色的正面向量跟與敵人的向量求出內積 ,但是確不知道這個內積的值是正的還是負的,因此就不 知道是左邊還是右邊了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.128.56

03/19 00:19, , 1F
定位一個3維 要兩個向量 你缺一個
03/19 00:19, 1F

03/19 00:37, , 2F
如果我的UP是一樣的,這樣子還是缺一個嗎?
03/19 00:37, 2F

03/19 04:58, , 3F
自己正前方的座標一個,自己和對方的座標連線一個
03/19 04:58, 3F

03/19 04:58, , 4F
外積
03/19 04:58, 4F

03/19 05:03, , 5F
結果正負號就是XD
03/19 05:03, 5F

03/19 05:07, , 6F
記得判斷大於180度狀況,不然用超過180度為相反結果也可以
03/19 05:07, 6F

03/19 05:09, , 7F
睡不著QQ
03/19 05:09, 7F

03/19 05:27, , 8F
2D的左右邊也可以,只是要自己補一個維度(為0更好算)去算
03/19 05:27, 8F

03/19 11:32, , 9F
如同樓上的說法, 要求外積不是內積
03/19 11:32, 9F

03/19 14:30, , 10F
感謝,我馬上試試看
03/19 14:30, 10F

03/19 15:32, , 11F
外積的結果不是純量 何來正負?
03/19 15:32, 11F

03/19 15:36, , 12F
先算出右邊的向量 和敵人的相對座標內積就可以了
03/19 15:36, 12F

03/19 15:37, , 13F
右邊可以用前方向量外積up向量
03/19 15:37, 13F

03/19 15:39, , 14F
如果up固定朝上 也可以用前方向量的xz座標直接旋轉
03/19 15:39, 14F

03/19 17:28, , 15F
外積後只有兩個方向,一是向量平面的上方,一是下方
03/19 17:28, 15F

03/19 17:30, , 16F
不過 N 的做法也不錯
03/19 17:30, 16F

03/19 22:18, , 17F
抱歉講錯orz 外積方向才是重點!
03/19 22:18, 17F

03/19 22:18, , 18F
求出來的結果是向量不是純量orz (當掉重修= =)
03/19 22:18, 18F

03/19 22:20, , 19F
可以用,但是只需要該向量的方向(正負號),其他不必= =
03/19 22:20, 19F

03/20 20:16, , 20F
外積應該比較好做吧 知道自己面對的方向和敵人的位置
03/20 20:16, 20F

03/20 20:53, , 21F
最後我用N大的方法,因為外積有三個量,但是我卻不知
03/20 20:53, 21F

03/20 20:54, , 22F
道要怎麼用這三個量分辨左右。
03/20 20:54, 22F

03/20 20:54, , 23F
不過還是很感謝大家熱心的回答!><
03/20 20:54, 23F

03/21 00:53, , 24F
外積和你的"上方"的方向比較結果,方向相同和相異即代表
03/21 00:53, 24F

03/21 00:54, , 25F
左右,可是要注意座標系統。事實上n大的方法比較快
03/21 00:54, 25F

03/21 00:55, , 26F
又學到了一課XD
03/21 00:55, 26F
文章代碼(AID): #1DWuMN_7 (GameDesign)
文章代碼(AID): #1DWuMN_7 (GameDesign)