回答編集履歴
1
dirをdir・forwardで割ることについて追記
test
CHANGED
@@ -35,3 +35,41 @@
|
|
35
35
|
|
36
36
|
|
37
37
|
![図3](14e9457a850ced859d23982fc4ce776c.gif)
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
#追記
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
コメントで申し上げた`normalizedDir`をnDir、`Camera.main.transform.forward`をforward、2つのベクトルの間の角度をθとすると、これらは下図のような関係になります。
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
![図4](6258ae7eab7ed8a45724045d28f417d1.png)
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
nDirとforwardの内積の値は |nDir||forward|cosθ ですが、nDirもforwardも長さが1なので値はcosθです。
|
54
|
+
|
55
|
+
斜辺と隣辺の角度がθの直角三角形を作ると、cosθは「斜辺に対する隣辺の長さの比」と見ることもできますので、cosθは下図の部分の長さを表しているとも言えるでしょう。
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
![図5](eacb48df1d787a85ee7629880cddf6f3.png)
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
ここでnDirをcosθで割ってみると、向きがnDirと同じで長さが1/cosθのベクトルができます。これを仮にvとすると、vとforwardの内積は |v||forward|cosθ であり、|v|は1/cosθ、|forward|は1なので内積の値は1になるはずです。つまり、forward方向の成分が1のベクトルを作ったと言えるでしょう。
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
![図6](8de3e839882716ebc57a08f4fb2b4084.gif)
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
そしてオブジェクトをv * 3だけ移動させてみます。すると下図のように、forward方向へはちょうど3移動しているのがお分かりいただけるでしょうか?
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
![図7](5f88979b94852e39dd2efc1571a4ac24.gif)
|