作者yan04870449 (杨伯)
看板GameDesign
标题[程式] 在3D空间中如果判断谁在左边谁在右边
时间Sat Mar 19 00:17:24 2011
如题,我想在一个3D游戏中检查敌人在我左边还是右边
,但是我却不知道要用什麽做依据来算。
我现在只知道用角色的正面向量跟与敌人的向量求出内积
,但是确不知道这个内积的值是正的还是负的,因此就不
知道是左边还是右边了。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.128.56
1F:推 NDark:定位一个3维 要两个向量 你缺一个 03/19 00:19
2F:→ yan04870449:如果我的UP是一样的,这样子还是缺一个吗? 03/19 00:37
3F:→ FSVDFS:自己正前方的座标一个,自己和对方的座标连线一个 03/19 04:58
4F:→ FSVDFS:外积 03/19 04:58
5F:→ FSVDFS:结果正负号就是XD 03/19 05:03
6F:→ FSVDFS:记得判断大於180度状况,不然用超过180度为相反结果也可以 03/19 05:07
7F:→ FSVDFS:睡不着QQ 03/19 05:09
8F:→ FSVDFS:2D的左右边也可以,只是要自己补一个维度(为0更好算)去算 03/19 05:27
9F:推 Ebergies:如同楼上的说法, 要求外积不是内积 03/19 11:32
10F:→ yan04870449:感谢,我马上试试看 03/19 14:30
11F:推 nepho:外积的结果不是纯量 何来正负? 03/19 15:32
12F:→ nepho:先算出右边的向量 和敌人的相对座标内积就可以了 03/19 15:36
13F:→ nepho:右边可以用前方向量外积up向量 03/19 15:37
14F:→ nepho:如果up固定朝上 也可以用前方向量的xz座标直接旋转 03/19 15:39
15F:推 Ebergies:外积後只有两个方向,一是向量平面的上方,一是下方 03/19 17:28
16F:→ Ebergies:不过 N 的做法也不错 03/19 17:30
17F:推 FSVDFS:抱歉讲错orz 外积方向才是重点! 03/19 22:18
18F:→ FSVDFS:求出来的结果是向量不是纯量orz (当掉重修= =) 03/19 22:18
19F:→ FSVDFS:可以用,但是只需要该向量的方向(正负号),其他不必= = 03/19 22:20
20F:→ teexit:外积应该比较好做吧 知道自己面对的方向和敌人的位置 03/20 20:16
21F:→ yan04870449:最後我用N大的方法,因为外积有三个量,但是我却不知 03/20 20:53
22F:→ yan04870449:道要怎麽用这三个量分辨左右。 03/20 20:54
23F:→ yan04870449:不过还是很感谢大家热心的回答!>< 03/20 20:54
24F:→ FSVDFS:外积和你的"上方"的方向比较结果,方向相同和相异即代表 03/21 00:53
25F:→ FSVDFS:左右,可是要注意座标系统。事实上n大的方法比较快 03/21 00:54
26F:→ FSVDFS:又学到了一课XD 03/21 00:55