1
00:00:00,000 --> 00:00:06,240
Hey, willkommen zurück, Meine Lieblingsspielentwickler in diesem Video,

2
00:00:06,235 --> 00:00:10,125
unsere Waffe ist kein statisches Objekt mehr. 

3
00:00:10,120 --> 00:00:11,740
Wenn man genau hinsieht,

4
00:00:11,740 --> 00:00:13,810
sieht
 man, dass sich

5
00:00:13,810 --> 00:00:15,250
die Waffe nach unten bewegt. 

6
00:00:15,250 --> 00:00:16,600
Wenn wir nach oben schauen,

7
00:00:16,600 --> 00:00:17,970
rastet
 die Waffe ein. 

8
00:00:17,965 --> 00:00:21,225
Offensichtlich gibt es immer noch ein paar Dinge, die
 repariert werden müssen

9
00:00:21,220 --> 00:00:25,740
, weil es ziemlich unangenehm ist, die Waffe so zu halten,

10
00:00:25,735 --> 00:00:27,505
aber darüber keine Sorge. 

11
00:00:27,505 --> 00:00:31,735
Dies ist der erste Schritt, um unsere Waffe richtig zu benennen. 

12
00:00:31,735 --> 00:00:35,635
Verschwenden wir also keine Zeit mehr und lasst uns anfangen. 

13
00:00:35,635 --> 00:00:37,335
Es gibt eine Menge Mathematik darin. 

14
00:00:37,330 --> 00:00:40,070
Also zieh deine Denkkappen an. 

15
00:00:41,770 --> 00:00:46,810
Jetzt, da wir uns bewegen und auf Dinge stoßen,

16
00:00:46,805 --> 00:00:50,135
ist
 es an der Zeit, unsere Waffe zu zielen. 

17
00:00:50,135 --> 00:00:55,495
Um dies zu tun, wollen wir die Waffe um eine bestimmte Position drehen. 

18
00:00:55,490 --> 00:01:01,460
Wir wollen die exakte Waffe nicht wirklich drehen, denn wenn wir hier reinschauen,

19
00:01:01,460 --> 00:01:03,400
wenn wir zur Szene gehen,

20
00:01:03,395 --> 00:01:04,475
können
 Sie jetzt sehen,

21
00:01:04,475 --> 00:01:06,995
wenn wir versuchen, die Waffe so zu drehen, wie sie ist,

22
00:01:06,995 --> 00:01:08,675
sieht
 sie nicht so gut aus. 

23
00:01:08,675 --> 00:01:13,415
Wir brauchen einen Punkt, von dem sich die Waffe dreht. 

24
00:01:13,415 --> 00:01:17,915
Was wir also tun werden, ist, dass wir mit der rechten Maustaste auf den Dome-Spieler klicken. 

25
00:01:17,915 --> 00:01:20,675
Wir erstellen ein leeres Spielobjekt. 

26
00:01:20,675 --> 00:01:26,305
Wir nennen es den Waffenarm. 

27
00:01:26,300 --> 00:01:29,720
Und wir werden es bis zu einem bestimmten Punkt verschieben. 

28
00:01:29,720 --> 00:01:34,940
Und das ist der Punkt, an dem sich die Waffe dreht oder von dem sich die Waffe dreht. 

29
00:01:34,940 --> 00:01:40,570
Also lege ich es fast um die Hand oder den Arm des Spielers. 

30
00:01:40,565 --> 00:01:42,575
Und ich werde die Schrotflinte machen,

31
00:01:42,575 --> 00:01:45,575
ein Kind dieser Waffen sind. 

32
00:01:45,575 --> 00:01:49,495
Wenn wir jetzt den Waffenarm drehen,

33
00:01:49,490 --> 00:01:55,400
werden
 Sie feststellen, dass die Schrotflinte fast hier um den Arm herum bleibt
 und es viel natürlicher aussieht,

34
00:01:55,400 --> 00:02:02,720
wenn wir die Schrotflinte drehen oder die Waffen sind. 

35
00:02:02,720 --> 00:02:05,530
Jetzt ist es Zeit für ein bisschen Kälte. 

36
00:02:05,525 --> 00:02:07,105
Aber bevor wir das tun,

37
00:02:07,100 --> 00:02:10,330
wie werden wir diesen Arm eigentlich drehen? 

38
00:02:10,325 --> 00:02:14,065
Es wird davon abhängen, wo unser Mund ist. 

39
00:02:14,060 --> 00:02:16,130
Sagen wir also, wir sind hier oben. 

40
00:02:16,130 --> 00:02:19,190
Wir wollen, dass die Schusspistole auf die Maus zeigt. 

41
00:02:19,190 --> 00:02:21,770
Wie werden wir das berechnen? 

42
00:02:21,770 --> 00:02:29,210
Nun, wir brauchen ein paar Punkte und lassen Sie es mich mit Mathe erklären, ja Mathe. 

43
00:02:29,210 --> 00:02:31,130
Also lasst uns anfangen. 

44
00:02:31,130 --> 00:02:34,900
Als erstes brauchen wir die Spielerposition auf dem Bildschirm. 

45
00:02:34,895 --> 00:02:37,345
Nun, ich benutze den Begriff Spielerposition,

46
00:02:37,340 --> 00:02:42,500
aber es ist eigentlich der Punkt, an dem wir die Schrotflinte drehen. 

47
00:02:42,500 --> 00:02:44,600
Aber jetzt lasst es uns einfach einfach halten. 

48
00:02:44,600 --> 00:02:46,690
Nennen Sie dies die Spielerposition

49
00:02:46,685 --> 00:02:49,585
und wir haben die Mausposition auf dem Bildschirm. 

50
00:02:49,580 --> 00:02:55,360
Was wir also wollen, ist, dass wir den Vektor auf diese beiden Punkte beziehen wollen. 

51
00:02:55,355 --> 00:02:59,345
Dies ist die Richtung, die weg ist, wird zeigen. 

52
00:02:59,345 --> 00:03:06,055
Aber wie werden wir eigentlich den Winkel berechnen, in den die Waffe zeigen soll? 

53
00:03:06,050 --> 00:03:11,390
Nun, wir kennen die Ausstellung und wir kennen die y-Position. 

54
00:03:11,390 --> 00:03:13,580
Nun, ich meinte X und Y.

55
00:03:13,580 --> 00:03:18,830
Was wir
 also tun können, ist, dass wir etwas verwenden können, das als Arc Tangente bezeichnet wird. 

56
00:03:18,830 --> 00:03:22,670
Und das ist etwas für uns in Mathematik verfügbar. 

57
00:03:22,670 --> 00:03:26,170
F von Unit ist Bibliothek. 

58
00:03:26,165 --> 00:03:29,555
Damit können wir also den Arctan berechnen. 

59
00:03:29,555 --> 00:03:33,595
Und wenn Sie nicht wissen, was Arctan ist oder Sie nicht einmal wissen, was Dan
 Tangente ist

60
00:03:33,590 --> 00:03:38,210
, glaube ich, dass es die Vorderseite ist,

61
00:03:38,210 --> 00:03:41,960
die das Y geteilt durch V x ist.

62
00:03:41,960 --> 00:03:43,370
Und wenn wir das tun,

63
00:03:43,370 --> 00:03:45,050
bekommen
 wir eine bestimmte Zahl,

64
00:03:45,050 --> 00:03:46,450
welches ist die Tangente. 

65
00:03:46,445 --> 00:03:48,355
Um den Winkel zu erhalten,

66
00:03:48,350 --> 00:03:50,930
verwenden
 wir etwas, das als Bogentangente bezeichnet wird,

67
00:03:50,930 --> 00:03:52,960
was eine Art Umkehrung ist. 

68
00:03:52,955 --> 00:03:57,035
Aber alles, was Sie wissen müssen, ist, dass wir den Höhenunterschied bekommen,

69
00:03:57,035 --> 00:04:00,475
wir bekommen den Unterschied in der Entfernung. 

70
00:04:00,470 --> 00:04:05,950
Und damit berechnen wir den Winkel, auf den Argon hinweisen sollte. 

71
00:04:05,945 --> 00:04:08,825
Dies ist grundlegende elementare Mathematik. 

72
00:04:08,825 --> 00:04:10,975
Ich bin mir nicht sicher, ob du damit vertraut bist. 

73
00:04:10,970 --> 00:04:13,960
Wenn du tiefer darauf eintauchen willst, sei mein Gast,

74
00:04:13,955 --> 00:04:17,275
ich glaube, das wird genug Erklärung sein. 

75
00:04:17,270 --> 00:04:22,030
Übersetzen wir diese mathematischen Gleichungen also in mathematische Codes. 

76
00:04:22,025 --> 00:04:26,695
Also gehe ich zurück und unser Skript hier im Player-Controller. 

77
00:04:26,690 --> 00:04:32,540
Und das erste, was wir brauchen, ist die beiden Referenzen für die Kamera und für die Waffen. 

78
00:04:32,540 --> 00:04:36,550
Also erstelle ich zunächst ein serialisiertes Feld,

79
00:04:36,545 --> 00:04:38,755
das eine Transformation sein wird. 

80
00:04:38,750 --> 00:04:44,540
Und es wird darstellen, dass die Waffen großartig sind. 

81
00:04:44,540 --> 00:04:49,130
Die zweite Variable, die wir als private Kamera erstellen werden,

82
00:04:49,130 --> 00:04:51,910
und sie wird die Hauptkamera sein. 

83
00:04:51,905 --> 00:04:55,735
Und das Coole daran ist, dass wir sofort nach
 Stuart gehen und sagen können

84
00:04:55,730 --> 00:05:00,670
, dass die Hauptkamera der Kamera gleich ist. 

85
00:05:00,665 --> 00:05:02,495
Punkt Haupt. 

86
00:05:02,495 --> 00:05:04,735
Und mit dieser Kamera, dieser Hauptkamera,

87
00:05:04,730 --> 00:05:09,610
können
 wir sofort einen Verweis auf die Hauptkamera bekommen, die wir haben. 

88
00:05:09,605 --> 00:05:11,155
Und hier, großartig. 

89
00:05:11,150 --> 00:05:15,550
Jetzt müssen wir wissen, wo unser Mund auf der Welt ist. 

90
00:05:15,545 --> 00:05:17,995
Also werden wir nach unten und hier scrollen,

91
00:05:17,990 --> 00:05:21,970
und ich werde diese Kommentare nur entfernen, weil wir sie nicht mehr brauchen. 

92
00:05:21,965 --> 00:05:23,875
Wenn Sie der Meinung sind, dass Sie sie brauchen,

93
00:05:23,870 --> 00:05:29,240
behalten Sie sie als Erinnerung daran, wie wir unseren Code geändert und durchlaufen haben. 

94
00:05:29,240 --> 00:05:32,780
Jetzt bekomme ich die Position der Maus. 

95
00:05:32,780 --> 00:05:36,100
Ich benutze einen Vektor drei. 

96
00:05:36,095 --> 00:05:41,545
Und es wird die Mausposition genannt. 

97
00:05:41,540 --> 00:05:48,080
Und es wird gleich der Position der Eingabe-Punkt-Maus sein. 

98
00:05:48,080 --> 00:05:52,340
Und Sie können jetzt sehen, dass uns die Visual Studio Community sofort

99
00:05:52,340 --> 00:05:56,810
die aktuelle Mausposition in Pixelkoordinaten
 gibt. 

100
00:05:56,810 --> 00:05:58,670
So toll, das brauchen wir. 

101
00:05:58,670 --> 00:06:00,970
Und offensichtlich weiß ich dieses Zeug schon. 

102
00:06:00,965 --> 00:06:03,215
Wenn Sie dies recherchieren möchten,

103
00:06:03,215 --> 00:06:05,915
müssten
 Sie zu Google gehen,

104
00:06:05,915 --> 00:06:07,595
um die meiste Position zu erreichen. 

105
00:06:07,595 --> 00:06:10,915
Sie haben die Dokumentationen für Einheit bekommen. 

106
00:06:10,910 --> 00:06:14,410
Sie hätten diese Eingabe-Punkt-Mausposition gefunden. 

107
00:06:14,405 --> 00:06:15,635
Du hättest es benutzt. 

108
00:06:15,635 --> 00:06:17,245
Dies ist nur eine Abkürzung. 

109
00:06:17,240 --> 00:06:20,420
Lasst uns weitermachen. Das nächste, was wir brauchen, ist der Bildschirmpunkt. 

110
00:06:20,420 --> 00:06:27,830
Also Bildschirmpunkt, und es wird gleich der Hauptkamera,
 der

111
00:06:27,830 --> 00:06:33,560
Weltkamera, von Welt zu Bildschirm sein. 

112
00:06:33,560 --> 00:06:36,350
Und Sie können die Definition sehen und hier ist

113
00:06:36,350 --> 00:06:40,820
die Transformationsposition vom Weltraum und zum Bildschirmraum. 

114
00:06:40,820 --> 00:06:43,190
Da sind wir los. Das brauchen wir. 

115
00:06:43,190 --> 00:06:48,560
Transformiere lokale Skala, ich meine lokale Position. 

116
00:06:48,560 --> 00:06:52,490
Und das wird uns die lokale Position der Transformation geben,

117
00:06:52,490 --> 00:06:55,130
die gerade der Spieler ist. 

118
00:06:55,130 --> 00:06:58,750
Und jetzt ist es an der Zeit, den Winkel zu berechnen. 

119
00:06:58,745 --> 00:07:01,205
Lasst uns zuerst das alles aufheben. 

120
00:07:01,205 --> 00:07:06,315
Lass uns weitermachen und den Arm für den Spieler zuweisen. 

121
00:07:06,315 --> 00:07:09,145
Also ziehe ich jetzt den Waffenarm. 

122
00:07:09,145 --> 00:07:10,495
Das werden wir retten. 

123
00:07:10,495 --> 00:07:14,925
Und jetzt besteht der nächste Schritt darin, den Winkel tatsächlich zu berechnen. 

124
00:07:14,920 --> 00:07:17,520
Also
 zeige ich dir das zuerst noch einmal,

125
00:07:17,515 --> 00:07:22,485
damit du zurückgehen und es dir ansehen kannst, wenn nötig. 

126
00:07:22,480 --> 00:07:25,440
Und dann stelle ich dir eine Herausforderung aus. 

127
00:07:25,435 --> 00:07:29,415
Und Ihre Herausforderung wird darin bestehen, den Winkel zu berechnen. 

128
00:07:29,410 --> 00:07:33,030
Das erste, was Sie tun, ist, dass Sie

129
00:07:33,025 --> 00:07:38,635
die x-Position der Maus von der Bildschirmpunktposition des X.

130
00:07:38,635 --> 00:07:42,715
Offensichtlich müssen Sie dasselbe für das y tun.

131
00:07:42,715 --> 00:07:44,535
Und dann müssen Sie
 den mathematischen F-Punkt berechnen

132
00:07:44,530 --> 00:07:51,020
Arkustangens, um dies in der Unity-Dokumentation zu finden. 

133
00:07:51,020 --> 00:07:53,650
Machen Sie weiter, pausieren Sie das Video sofort. 

134
00:07:53,645 --> 00:07:54,905
Geh und gib dein Bestes. 

135
00:07:54,905 --> 00:07:55,655
Probiere es aus. 

136
00:07:55,655 --> 00:07:58,955
Du wirst nichts verlieren, indem du dein Bestes gibst. 

137
00:07:58,955 --> 00:08:03,385
Pausiere das Video jetzt und mach die Herausforderung. 

138
00:08:03,380 --> 00:08:05,810
Hey, willkommen zurück. 

139
00:08:05,810 --> 00:08:07,250
Wie Sie sehen können,

140
00:08:07,250 --> 00:08:09,110
habe
 ich gerade Mathe,
 Arc Tangente

141
00:08:09,110 --> 00:08:11,600
in Unity nachgeschlagen. 

142
00:08:11,600 --> 00:08:13,660
Jetzt bin ich genau hier. 

143
00:08:13,655 --> 00:08:17,695
Was mache ich? Nun, ich muss sehen, wie das funktioniert. 

144
00:08:17,690 --> 00:08:19,890
Was macht? Es gibt einen Schwimmer zurück. 

145
00:08:19,894 --> 00:08:23,004
So verwende ich matlab.org Tange. 

146
00:08:23,000 --> 00:08:24,200
Okay, großartig. 

147
00:08:24,200 --> 00:08:25,960
Dann lasst uns wieder hier rein gehen. 

148
00:08:25,955 --> 00:08:29,605
Das erste, was wir tun müssen, ist, dass wir den Unterschied berechnen müssen. 

149
00:08:29,600 --> 00:08:33,760
Ich setze beide in einen Vektor zwei. 

150
00:08:33,755 --> 00:08:36,415
Also verwende ich einen Vektor,
 um

151
00:08:36,410 --> 00:08:39,330
das als Offset zu bezeichnen. 

152
00:08:39,334 --> 00:08:42,484
Es ist also der Offset zwischen den beiden Punkten. 

153
00:08:42,485 --> 00:08:47,825
Es wird gleich einem neuen Vektor zwei sein. 

154
00:08:47,825 --> 00:08:55,145
Und hier drin bekomme ich zuerst die Mausposition Punkt x und subtrahiere davon,

155
00:08:55,145 --> 00:08:58,495
der Bildschirmpunkt lenkt. 

156
00:08:58,490 --> 00:09:03,060
Und ich werde das Gleiche über das Warum machen. 

157
00:09:07,750 --> 00:09:13,870
Jetzt werde ich einen Float erstellen, denn wie wir diese Methode gesehen haben,

158
00:09:13,865 --> 00:09:17,675
die Methode dot arctan einen Float zurück,

159
00:09:17,675 --> 00:09:25,225
wird gleich dem mathematischen F-Punkt-Bogen-Tan oder nein sein, Eta. 

160
00:09:25,220 --> 00:09:27,980
Es heißt „Tan Two“. 

161
00:09:27,980 --> 00:09:36,600
Und ich verwende den Offset-Punkt y dividiert durch den Offset-DRX. 

162
00:09:36,730 --> 00:09:39,620
Großartig, also werde ich das speichern. 

163
00:09:39,620 --> 00:09:46,780
Aber wann immer wir den Waffen die tatsächliche Rotation zuweisen wollen,

164
00:09:46,775 --> 00:09:50,045
können
 wir dies nicht einfach mit einem Schwimmer tun. 

165
00:09:50,045 --> 00:09:54,745
Was wir tun müssen, ist, dass wir eine zusätzliche Methode verwenden müssen
,

166
00:09:54,740 --> 00:10:00,880
bei der es sich um zwei Grad handelt. 

167
00:10:00,875 --> 00:10:04,745
Und Sie können sehen, dass dies Bogenmaß in Grad konstant umwandelt. 

168
00:10:04,745 --> 00:10:07,405
Also müssen wir das tun. 

169
00:10:07,400 --> 00:10:11,720
Und das letzte, was wir tun müssen, ist, dass wir bei
 Punktrotation auf die Waffen zugreifen müssen

170
00:10:11,720 --> 00:10:17,170
und uns jetzt auf eine etwas gruselige Welt vorbereiten müssen. 

171
00:10:17,165 --> 00:10:19,555
Wir werden Quaternionen benutzen. 

172
00:10:19,550 --> 00:10:23,810
Also quaternion dot Bueller. 

173
00:10:23,809 --> 00:10:30,169
Und wir setzen es auf der x-Achse auf 00 ein. 

174
00:10:30,170 --> 00:10:32,870
Wir drehen uns nicht auf der Y-Achse, wir drehen uns nicht. 

175
00:10:32,870 --> 00:10:36,830
Wir drehen uns nur um die Z-Achse unter Verwendung des Winkels. 

176
00:10:36,830 --> 00:10:39,320
Nun, bevor du weglaufst,

177
00:10:39,320 --> 00:10:42,580
was ist Turnitin Dot Hulu? 

178
00:10:42,575 --> 00:10:45,155
Wenn Sie sich das frühere hier anschauen,

179
00:10:45,155 --> 00:10:50,285
können
 Sie sehen, dass es eine Rotation zurückgibt, die Z Grad um die Z-Achse,

