Re: [閒聊] 月迅新技能「奇襲」的驗證影片
看板MH (魔物獵人)作者FSAC00840116 (NightGoD)時間1年前 (2022/08/13 13:07)推噓51(51推 0噓 19→)留言70則, 51人參與討論串2/2 (看更多)
物體原點(Object Origin)用來表示一個物體在三維空間(3D Space)中的位置,以此
原點向外三個方向延伸的XYZ軸(XYZ Axis)一般用來表示物體的前後、左右、上下。
每個遊戲引擎對軸線的命名不一,例如:上在Unity裡是Y軸,在Unreal則是Z軸。
原點和XYZ軸構成物體的矩陣(Matrix),可以表示物體在空間中的位置(Translation)、
方向(Rotation)、和大小(Scale),示意圖:
https://i.imgur.com/UGxSORK.jpg
理論上物體原點可以在任何位置,但實踐上通常會在質量中心的垂直線上,
不僅符合直覺,也有利於物理引擎的運算,至於為什麼要放在腳邊,因為只要把原點
放在地板上,就能很自然地「站」在地上,很方便吧。
試想一下,今天遊戲設計師跑來跟工程師解釋這個新技能,並要求實做出來,你覺得
工程師會把全部的魔物模型拿出來一一定義後背的位置,還是直接拿每隻魔物都有的
原點? 所以我大膽推測,以上面圖為例:
只要獵人的原點在魔物原點的YZ平面後,就算觸發效果,通俗地講就是站在
Y軸線後面啦。
在討論如何計算前,先來看看一題遊戲業界面試時的經典問題:
「如何計算出玩家是否在AI敵人的視野範圍內?」
這裡我們把問題簡化成2D,並加上實際數字來方便解說,如下圖:
https://i.imgur.com/527amgi.png
a是AI,A是AI面對的方向向量,b是玩家。
1. 由AI至玩家的向量 ab = [5,1]
2. 與AI方向向量內積: A.ab = 1x5 + 4x1 = 9
3. 內積公式 A.B = |A||B|cosθ,θ是向量的夾角,假設AI視野180度,那麼夾角θ
就需要小於90度,而我們又知道cosθ在90度以內為正,所以只要判斷向量內積是正
數負數,就能知道玩家是否在敵人視野內了。
4. 例如如果玩家站在b2位置,計算內積值為-3負數,就代表玩家不在AI視野內。
這樣便能猜測「奇襲」是如何判定了,把2D變3D,前面變後方,國中數學,簡單吧。
其實這篇也不是在教如何辨別魔物後方,畢竟我們不是開發者,無法知道魔物原點位置,
而且用原點來計算其實也只是我的理論而已,一個「遊戲理論」啦!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 76.102.178.80 (美國)
※ 文章網址: https://www.ptt.cc/bbs/MH/M.1660367268.A.DDA.html
推
08/13 13:12,
1年前
, 1F
08/13 13:12, 1F
推
08/13 13:14,
1年前
, 2F
08/13 13:14, 2F
推
08/13 13:35,
1年前
, 3F
08/13 13:35, 3F
推
08/13 13:35,
1年前
, 4F
08/13 13:35, 4F
推
08/13 13:38,
1年前
, 5F
08/13 13:38, 5F
推
08/13 13:45,
1年前
, 6F
08/13 13:45, 6F
推
08/13 13:50,
1年前
, 7F
08/13 13:50, 7F
推
08/13 14:04,
1年前
, 8F
08/13 14:04, 8F
推
08/13 14:07,
1年前
, 9F
08/13 14:07, 9F
推
08/13 14:09,
1年前
, 10F
08/13 14:09, 10F
推
08/13 14:11,
1年前
, 11F
08/13 14:11, 11F
→
08/13 14:11,
1年前
, 12F
08/13 14:11, 12F
推
08/13 14:12,
1年前
, 13F
08/13 14:12, 13F
→
08/13 14:17,
1年前
, 14F
08/13 14:17, 14F
推
08/13 14:25,
1年前
, 15F
08/13 14:25, 15F
推
08/13 14:29,
1年前
, 16F
08/13 14:29, 16F
推
08/13 14:53,
1年前
, 17F
08/13 14:53, 17F
推
08/13 14:54,
1年前
, 18F
08/13 14:54, 18F
推
08/13 14:59,
1年前
, 19F
08/13 14:59, 19F
推
08/13 15:00,
1年前
, 20F
08/13 15:00, 20F
推
08/13 15:02,
1年前
, 21F
08/13 15:02, 21F
→
08/13 15:02,
1年前
, 22F
08/13 15:02, 22F
理論相當簡單,不管魔物多長多猛,也不管獵人武器多長多勇,純粹的一點一面的計算
重點還是在獵人原點與魔物原點的相對位置,而不是打到的部位
推
08/13 15:02,
1年前
, 23F
08/13 15:02, 23F
推
08/13 15:06,
1年前
, 24F
08/13 15:06, 24F
推
08/13 15:06,
1年前
, 25F
08/13 15:06, 25F
→
08/13 15:11,
1年前
, 26F
08/13 15:11, 26F
推
08/13 15:26,
1年前
, 27F
08/13 15:26, 27F
※ 編輯: FSAC00840116 (76.102.178.80 美國), 08/13/2022 16:03:24
推
08/13 15:57,
1年前
, 28F
08/13 15:57, 28F
推
08/13 16:03,
1年前
, 29F
08/13 16:03, 29F
※ 編輯: FSAC00840116 (76.102.178.80 美國), 08/13/2022 16:18:48
→
08/13 16:17,
1年前
, 30F
08/13 16:17, 30F
推
08/13 16:28,
1年前
, 31F
08/13 16:28, 31F
推
08/13 16:29,
1年前
, 32F
08/13 16:29, 32F
推
08/13 16:29,
1年前
, 33F
08/13 16:29, 33F
→
08/13 16:30,
1年前
, 34F
08/13 16:30, 34F
推
08/13 16:32,
1年前
, 35F
08/13 16:32, 35F
推
08/13 17:20,
1年前
, 36F
08/13 17:20, 36F
推
08/13 17:23,
1年前
, 37F
08/13 17:23, 37F
推
08/13 17:48,
1年前
, 38F
08/13 17:48, 38F
→
08/13 17:48,
1年前
, 39F
08/13 17:48, 39F
→
08/13 17:48,
1年前
, 40F
08/13 17:48, 40F
→
08/13 17:48,
1年前
, 41F
08/13 17:48, 41F
推
08/13 17:48,
1年前
, 42F
08/13 17:48, 42F
推
08/13 18:16,
1年前
, 43F
08/13 18:16, 43F
推
08/13 18:40,
1年前
, 44F
08/13 18:40, 44F
推
08/13 18:46,
1年前
, 45F
08/13 18:46, 45F
→
08/13 18:49,
1年前
, 46F
08/13 18:49, 46F
推
08/13 18:55,
1年前
, 47F
08/13 18:55, 47F
推
08/13 19:05,
1年前
, 48F
08/13 19:05, 48F
推
08/13 19:35,
1年前
, 49F
08/13 19:35, 49F
推
08/13 20:02,
1年前
, 50F
08/13 20:02, 50F
→
08/13 20:02,
1年前
, 51F
08/13 20:02, 51F
推
08/13 20:03,
1年前
, 52F
08/13 20:03, 52F
推
08/13 21:27,
1年前
, 53F
08/13 21:27, 53F
推
08/13 21:59,
1年前
, 54F
08/13 21:59, 54F
→
08/13 21:59,
1年前
, 55F
08/13 21:59, 55F
→
08/13 21:59,
1年前
, 56F
08/13 21:59, 56F
推
08/14 00:54,
1年前
, 57F
08/14 00:54, 57F
推
08/14 01:52,
1年前
, 58F
08/14 01:52, 58F
推
08/14 18:31,
1年前
, 59F
08/14 18:31, 59F
→
08/14 18:35,
1年前
, 60F
08/14 18:35, 60F
推
08/15 00:13,
1年前
, 61F
08/15 00:13, 61F
推
08/15 10:04,
1年前
, 62F
08/15 10:04, 62F
→
08/15 10:04,
1年前
, 63F
08/15 10:04, 63F
→
08/15 10:04,
1年前
, 64F
08/15 10:04, 64F
我認為沒有問題,我想不出任何站在魔物身後(原點後)cos會是正數的情況,你可以舉例?
推
08/15 10:06,
1年前
, 65F
08/15 10:06, 65F
→
08/15 10:06,
1年前
, 66F
08/15 10:06, 66F
你其實沒有改變任何觀點,我的計算一直都是在判斷玩家是否在YZ平面後(就是你說的-x方向)
而計算方法就是文中提到的。如果你覺得可以直接看玩家座標是否在-x上,那麼你就是把
模型空間(model space)和世界空間(world space)混為一談,拿文中2D那張圖舉例,如果
不像我這樣算,是要如何知道玩家是在前面還後面?
推
08/15 10:09,
1年前
, 67F
08/15 10:09, 67F
→
08/15 10:09,
1年前
, 68F
08/15 10:09, 68F
→
08/15 10:30,
1年前
, 69F
08/15 10:30, 69F
推
08/16 16:06,
1年前
, 70F
08/16 16:06, 70F
※ 編輯: FSAC00840116 (199.168.62.6 美國), 08/17/2022 06:06:06
※ 編輯: FSAC00840116 (199.168.62.6 美國), 08/17/2022 06:06:41
討論串 (同標題文章)
MH 近期熱門文章
8
31
31
90
PTT遊戲區 即時熱門文章