1
00:00:00,000 --> 00:00:03,140
Willkommen zurück, meine Spieleentwickler. 

2
00:00:03,135 --> 00:00:05,075
In diesem Video werden
 Sie sehen, dass wir viele Fehler haben, wenn wir das Spiel ausführen

3
00:00:05,070 --> 00:00:07,040
. 

4
00:00:07,035 --> 00:00:08,285
Wir reparieren nicht alle,

5
00:00:08,280 --> 00:00:09,860
aber wir haben die meisten von ihnen repariert. 

6
00:00:09,855 --> 00:00:12,545
Also werde ich die Schrotflinte
 abholen,

7
00:00:12,540 --> 00:00:13,700
ein paar Münzen aufheben,

8
00:00:13,695 --> 00:00:15,225
von den Stacheln getroffen
 werden,

9
00:00:15,225 --> 00:00:16,655
durch die Tür
 gehen,

10
00:00:16,650 --> 00:00:18,800
durch dieses Portal gehen. 

11
00:00:18,795 --> 00:00:20,015
Und da gehst du. 

12
00:00:20,010 --> 00:00:22,620
Du kannst sehen, dass ich auf der anderen Seite bin meine Schrotflinte,

13
00:00:22,620 --> 00:00:24,570
war meine Pistole mit meiner Gesundheit,

14
00:00:24,570 --> 00:00:25,590
aber sie ist nicht sichtbar

15
00:00:25,590 --> 00:00:27,360
weil wir diese Dinge nicht optimiert haben. 

16
00:00:27,360 --> 00:00:29,400
Aber wenn wir den Spieler nach unten scrollen,

17
00:00:29,400 --> 00:00:30,740
werden
 Sie feststellen, dass wir 500 hatten. 

18
00:00:30,735 --> 00:00:33,555
Wir schneiden es an den Stacheln und es ist 490,

19
00:00:33,555 --> 00:00:35,255
obwohl wir nichts getan haben. 

20
00:00:35,250 --> 00:00:38,310
Verschwenden wir also keine Zeit mehr und lasst uns anfangen. 

21
00:00:38,310 --> 00:00:41,070
Die Dinge, die wir in diesem Video lernen, sind sehr wichtig,

22
00:00:41,070 --> 00:00:43,190
ein bisschen umständlich, aber sehr wichtig. 

23
00:00:43,190 --> 00:00:45,040
Lasst uns also stampfen. 

24
00:00:45,035 --> 00:00:46,915
O k.

25
00:00:46,910 --> 00:00:50,540
Derzeit können wir
 also von Level zu Level wechseln. 

26
00:00:50,540 --> 00:00:52,670
Wir haben Optionen, bei denen wir

27
00:00:52,670 --> 00:00:56,240
eine der Zufallsstufen
 wählen, die wir haben. 

28
00:00:56,240 --> 00:00:57,620
Offensichtlich gibt es ein
 paar

29
00:00:57,620 --> 00:00:58,790
Dinge, die wir mit dem Aussehen der Tür und
 dem Verschwinden und so weiter
 optimieren müssen

30
00:00:58,790 --> 00:01:00,080
mit dem Aussehen der Tür und
 dem Verschwinden und so weiter
 optimieren

31
00:01:00,080 --> 00:01:02,080
. 

32
00:01:02,075 --> 00:01:04,825
Ich habe das Gefühl, dass es immer noch ein bisschen Optimierungen gibt,

33
00:01:04,820 --> 00:01:07,510
aber es gibt ein noch größeres Problem. 

34
00:01:07,505 --> 00:01:10,295
Und das ist, sobald wir die Münzen und
 die Waffe abgeholt haben

35
00:01:10,295 --> 00:01:14,035
und von diesen Fahrrädern oder so getroffen werden. 

36
00:01:14,030 --> 00:01:15,100
Lass mich es dir zeigen. 

37
00:01:15,095 --> 00:01:16,645
Wenn wir die Schrotflinte
 abholen,

38
00:01:16,640 --> 00:01:17,840
holen Sie sich etwas Geld

39
00:01:17,840 --> 00:01:19,910
lassen Sie sich von den Stacheln treffen. 

40
00:01:19,910 --> 00:01:23,530
Da sind wir los. So können wir sehen, dass unser Leben für 9500 ist,

41
00:01:23,525 --> 00:01:25,835
wir gehen auf eine Zahlenebene. 

42
00:01:25,835 --> 00:01:29,555
Vielleicht wird das so sein, und Sie können jetzt sehen,

43
00:01:29,555 --> 00:01:32,065
während der Spieler, wenn ich

44
00:01:32,060 --> 00:01:35,780
D1-Spieler
 ansehe, losgelöst ist. 

45
00:01:35,780 --> 00:01:37,490
Er ist nicht da. Sie können also sehen

46
00:01:37,490 --> 00:01:39,470
, dass sein Leben wieder bei 50 ist. 

47
00:01:39,470 --> 00:01:41,710
Wenn ich versucht habe, die Schrotflinte zu wählen,

48
00:01:41,705 --> 00:01:43,525
kann
 ich das nicht. Und da gehst du. 

49
00:01:43,520 --> 00:01:45,590
Sie können sehen, dass die Münzen
 0 sind

50
00:01:45,590 --> 00:01:48,530
und das ist etwas, das wir
 ändern möchten

51
00:01:48,530 --> 00:01:51,380
, um sicherzustellen, dass unser Spieler tatsächlich

52
00:01:51,380 --> 00:01:54,380
alles bei sich
 behält, während er das Level durchläuft. 

53
00:01:54,380 --> 00:01:56,600
Also lasst uns weitermachen und das einfach machen. 

54
00:01:56,600 --> 00:01:58,010
Also öffne ich

55
00:01:58,010 --> 00:02:00,020
meine Skripte hier und
 gehe zum

56
00:02:00,020 --> 00:02:04,210
Player-Controller und scrolle nach oben. 

57
00:02:04,205 --> 00:02:07,415
Und was wir wollen, ist natürlich, dass wir
 unsere Waffen von Level zu
 Level und die Gesundheit des Spielers halten

58
00:02:07,415 --> 00:02:08,995
unsere Waffen von Level zu
 Level

59
00:02:08,990 --> 00:02:11,570
wollen. 

60
00:02:11,570 --> 00:02:13,070
Um das zu behalten,

61
00:02:13,070 --> 00:02:16,430
müssen
 wir sicherstellen, dass wir den Spieler nicht zerstören. 

62
00:02:16,430 --> 00:02:18,770
Wir können es auf einem anderen Objekt
 oder irgendwo im Projekt speichern

63
00:02:18,770 --> 00:02:21,530
. 

64
00:02:21,530 --> 00:02:23,600
Aber offensichtlich gibt es
 das Problem darin,

65
00:02:23,600 --> 00:02:25,180
eine neue Szene zu laden

66
00:02:25,175 --> 00:02:27,725
, die alles zurücksetzt. 

67
00:02:27,725 --> 00:02:31,205
Was ich also machen werde, ist hier drin, dass ich
 einen öffentlichen statischen Player-Controller erstellen werde

68
00:02:31,205 --> 00:02:35,335
. 

69
00:02:35,330 --> 00:02:38,060
Und es wird die Instanz sein. 

70
00:02:38,060 --> 00:02:40,510
Und in dem Fall werde ich

71
00:02:40,505 --> 00:02:42,595
einen privaten
 erstellen oder wissen was,

72
00:02:42,590 --> 00:02:44,920
schreiben
 wir einfach wach. 

73
00:02:44,915 --> 00:02:46,855
Und hier drin werde ich sagen, dass

74
00:02:46,850 --> 00:02:50,620
die Instanz dem entspricht. 

75
00:02:50,615 --> 00:02:55,175
Und dann werde ich hier drin nicht auf Last zerstören. 

76
00:02:55,175 --> 00:02:57,725
Und es wird das sein. 

77
00:02:57,725 --> 00:03:01,105
Wenn ich das also speichere und den Mauszeiger auf „Nicht zerstöre Last“ fahre,

78
00:03:01,100 --> 00:03:02,630
kannst
 du sehen, dass
 das Zielobjekt beim Laden einer neuen Szene nicht zerstört

79
00:03:02,630 --> 00:03:05,440
wird. 

80
00:03:05,435 --> 00:03:07,445
Und genau das wollen wir. 

81
00:03:07,445 --> 00:03:09,025
Was wird jetzt passieren? 

82
00:03:09,020 --> 00:03:12,590
Das Objekt oder der Spieler und unser Fall,

83
00:03:12,590 --> 00:03:14,360
wir behalten alles, was er

84
00:03:14,360 --> 00:03:16,310
bei sich
 hatte, von Szene zu Szene. 

85
00:03:16,310 --> 00:03:17,530
Es wird nicht zerstört,

86
00:03:17,525 --> 00:03:19,505
es wird nicht wieder instanziiert. 

87
00:03:19,505 --> 00:03:21,655
Aber es gibt das Problem, dass

88
00:03:21,650 --> 00:03:23,770
der Start nicht als Gap bezeichnet wird. 

89
00:03:23,765 --> 00:03:26,135
Also werden wir die Hauptkamera nicht einstellen. 

90
00:03:26,135 --> 00:03:27,865
Wir werden den Spieler-Animator behalten,

91
00:03:27,860 --> 00:03:29,660
aber die Hauptkamera wird sich ändern. 

92
00:03:29,660 --> 00:03:31,730
Und Sie werden sehen, dass dies zu vielen
 Fehlern führen wird

93
00:03:31,730 --> 00:03:34,630
, die wir beheben werden, wenn wir weitermachen. 

94
00:03:34,625 --> 00:03:36,445
Aber im Moment, verstehe die Belastung nicht

95
00:03:36,440 --> 00:03:39,260
zerstören und was sie tut. 

96
00:03:39,260 --> 00:03:41,650
Jetzt gehe ich hier wieder rein. 

97
00:03:41,645 --> 00:03:44,435
Und wenn man sich den Raum anschaut,

98
00:03:44,435 --> 00:03:45,655
wo ist es,
 den Raum

99
00:03:45,650 --> 00:03:48,230
, das Portal, habe ich das Portal geändert,

100
00:03:48,230 --> 00:03:50,950
das ist, um auf Stufe vier zu gelangen. 

101
00:03:50,945 --> 00:03:53,015
Also können wir zu den Feigen gehen. 

102
00:03:53,015 --> 00:03:58,105
Und lass mich einfach zu den Szenen gehen, weil ich etwas
 ausprobiert habe

103
00:03:58,100 --> 00:03:59,860
und den Dome-Spieler hier drin
 ausgeschaltet habe

104
00:03:59,855 --> 00:04:03,175
. Also los geht's. 

105
00:04:03,170 --> 00:04:04,420
Das hat ihn eingeschaltet. 

106
00:04:04,415 --> 00:04:05,825
Lasst uns das aufheben. 

107
00:04:05,825 --> 00:04:14,585
Lasst uns zurückwarten, bis das jetzt jeden Tag geladen wird,

108
00:04:14,585 --> 00:04:17,275
speichern Sie das wieder dort, wo wir dienen. 

109
00:04:17,270 --> 00:04:19,490
Der Schädel ist da, wo wir Kellys haben. 

110
00:04:19,490 --> 00:04:20,890
Ja, wir waren ein Skelett. 

111
00:04:20,890 --> 00:04:22,030
Also spar dir das auf. 

112
00:04:22,025 --> 00:04:24,875
Und Sie werden jetzt in der Hierarchie bemerken,

113
00:04:24,875 --> 00:04:28,865
und Einheit, das neue Update, tut mir leid, es ist schrecklich. 

114
00:04:28,865 --> 00:04:31,615
In der Hierarchie wirst du also feststellen, dass wir es nicht

115
00:04:31,610 --> 00:04:35,090
zerstören und es hat das Untergangsspiel oder darunter. 

116
00:04:35,090 --> 00:04:37,150
Also hebe ich die Schrotflinte auf, werde

117
00:04:37,145 --> 00:04:40,235
die Bitcoins
 werden von den Stacheln getroffen,

118
00:04:40,235 --> 00:04:43,205
öffne die Tür, bewege mich auf Level 4. 

119
00:04:43,205 --> 00:04:44,915
Und da sind wir los. 

120
00:04:44,915 --> 00:04:46,735
Und du kannst sehen, dass ich jetzt hier bin,

121
00:04:46,730 --> 00:04:48,100
aber das Problem ist,

122
00:04:48,095 --> 00:04:51,325
du einen Spieler unten sehen kannst und ich hier oben schichere. 

123
00:04:51,320 --> 00:04:53,350
Jetzt haben wir zwei Spieler. 

124
00:04:53,345 --> 00:04:56,245
Einer von ihnen hat eine Schrotflinte, der andere nicht. 

125
00:04:56,240 --> 00:05:00,140
Und Sie können sehen, dass wir eine Menge Fehler und Nachteile haben. 

126
00:05:00,140 --> 00:05:02,120
Also öffne ich die Konsole. 

127
00:05:02,120 --> 00:05:03,970
Ich unterbreche das Spiel. 

128
00:05:03,965 --> 00:05:06,295
Und zuallererst haben wir den Doom Player. 

129
00:05:06,290 --> 00:05:09,160
Und hier ist das ein Debug, den ich gezeigt habe. 

130
00:05:09,155 --> 00:05:10,435
Lass mich das löschen. 

131
00:05:10,430 --> 00:05:12,440
Du wirst nur ein bisschen sehen, was ich meine. 

132
00:05:12,440 --> 00:05:14,090
Ich lösche das. 

133
00:05:14,090 --> 00:05:14,600
Als Nächstes. 

134
00:05:14,600 --> 00:05:16,090
Wir werden den,
 diesen Pfeil genau hier haben

135
00:05:16,085 --> 00:05:17,785
,

136
00:05:17,780 --> 00:05:21,020
was okay ist, also sind das überhaupt die Probleme. 

137
00:05:21,020 --> 00:05:23,500
Wir reparieren das im späteren Video. 

138
00:05:23,495 --> 00:05:25,135
Dann haben wir endlich

139
00:05:25,130 --> 00:05:27,620
das Objekt vom Typ Kamera zerstört worden. 

140
00:05:27,620 --> 00:05:29,840
Sie versuchen immer noch darauf zuzugreifen. 

141
00:05:29,840 --> 00:05:31,310
Also doppelklicke ich
 hier rein

142
00:05:31,310 --> 00:05:33,200
und es ist die Hauptkamera,

143
00:05:33,200 --> 00:05:35,530
und es ist genau das, worüber ich dir erzählt habe. 

144
00:05:35,525 --> 00:05:39,425
Jetzt, da wir wissen, dass unser Spieler wechselt,

145
00:05:39,425 --> 00:05:41,305
und wir können genau hier in der Szene sehen,

146
00:05:41,300 --> 00:05:43,130
wenn ich auf den Doom Player klicke
,

147
00:05:43,130 --> 00:05:44,690
der nicht zerstören ist,

148
00:05:44,690 --> 00:05:46,070
müssen
 wir Spieler machen,
 also müssen wir es tun

149
00:05:46,070 --> 00:05:47,570
repariere das. 

150
00:05:47,570 --> 00:05:49,850
Aber einer von ihnen hat immer noch die Schrotflinte. 

151
00:05:49,850 --> 00:05:51,460
Technisch gesehen wird er

152
00:05:51,455 --> 00:05:53,705
sich mit dieser Schrotflinte bewegen
 können. 

153
00:05:53,705 --> 00:05:55,795
Und ich schaue auf den Grabspieler,

154
00:05:55,790 --> 00:05:58,790
scrolle nach unten zu seiner Gesundheit und du kannst sehen, dass der,

155
00:05:58,790 --> 00:06:01,140
seine derzeitige Gesundheit auch einen Übergang hat. 

156
00:06:01,144 --> 00:06:02,724
Leider gibt es immer noch

157
00:06:02,720 --> 00:06:04,640
das Problem der Bitcoins,

158
00:06:04,640 --> 00:06:06,650
aber wir werden das Schritt für Schritt beheben. 

159
00:06:06,649 --> 00:06:08,569
Beginnen wir zunächst mit der

160
00:06:08,570 --> 00:06:11,480
Verwaltung der Double-Layer-Standards. 

161
00:06:11,480 --> 00:06:13,810
Das ist also etwas, das wir ansprechen müssen. 

162
00:06:13,805 --> 00:06:16,235
Und wie werden wir das anpassen? 

163
00:06:16,235 --> 00:06:19,555
Nun, es gibt einen sehr raffinierten Trick, den wir verwenden können
,

164
00:06:19,550 --> 00:06:21,670
der als Singleton-Muster bezeichnet wird. 

165
00:06:21,665 --> 00:06:23,425
Lassen Sie mich Ihnen zeigen, wie Sie
 Code verwenden

166
00:06:23,420 --> 00:06:25,940
, was das ist, und dann werden wir es erklären. 

167
00:06:25,940 --> 00:06:28,000
Zunächst einmal, hier auf wach,

168
00:06:27,995 --> 00:06:30,415
anstatt die Instanz sofort zu setzen,

169
00:06:30,410 --> 00:06:34,670
werde
 ich sagen, dass wenn wir keine Instanz haben,

170
00:06:34,670 --> 00:06:37,310
also ist die Instanz

171
00:06:37,310 --> 00:06:39,620
Amine, wenn wir bereits eine Instanz haben,

172
00:06:39,620 --> 00:06:41,390
also ist es anders als null,

173
00:06:41,390 --> 00:06:47,980
und die Instanz ist anders als diese. 

174
00:06:47,975 --> 00:06:50,725
Was ich dann mache, ist, dass ich dieses Spielobjekt
 zerstören werde

175
00:06:50,720 --> 00:06:55,620
. 

176
00:06:55,870 --> 00:06:59,420
Was mache ich genau hier drin? 

177
00:06:59,420 --> 00:07:02,060
Ich werde nachsehen, sobald wir warten. 

178
00:07:02,060 --> 00:07:05,120
Ist die Instanz anders als null. 

179
00:07:05,120 --> 00:07:08,230
Das heißt, wenn die Instanz nicht null ist,

180
00:07:08,225 --> 00:07:10,355
zerstöre
 ich das Spielobjekt. 

181
00:07:10,355 --> 00:07:12,535
Aber es gibt noch eine andere Sache

182
00:07:12,530 --> 00:07:15,460
wenn die Instanz anders ist. 

183
00:07:15,455 --> 00:07:17,135
Also was ich hier mache,

184
00:07:17,135 --> 00:07:19,045
ich das Spiel beginne, überprüfe
 ich,

185
00:07:19,040 --> 00:07:22,240
ob wir entweder bereits eine Instanz haben

186
00:07:22,235 --> 00:07:25,265
oder die Instanz diesem Spielobjekt entspricht,

187
00:07:25,265 --> 00:07:27,665
ich werde dieses Spielobjekt zerstören. 

188
00:07:27,665 --> 00:07:29,795
Und dies wird sicherstellen, dass wir

189
00:07:29,795 --> 00:07:31,145
zunächst keine zweite Instanz dieses Spielobjekts erstellen

190
00:07:31,145 --> 00:07:33,475
. 

191
00:07:33,470 --> 00:07:34,790
Und zweitens duplizieren
 wir das Objekt,

192
00:07:34,790 --> 00:07:38,330
das sich bereits hier befindet, nicht. 

193
00:07:38,330 --> 00:07:40,310
Wenn wir also in eine neue Szene gehen

194
00:07:40,310 --> 00:07:42,790
und feststellen, dass wir ein Spielobjekt haben,

195
00:07:42,785 --> 00:07:44,725
wird
 es sofort zerstört. 

196
00:07:44,720 --> 00:07:48,290
Aber sonst, falls wir keine Instanz haben,

197
00:07:48,290 --> 00:07:50,210
beginnen
 wir das Spiel erneut,

198
00:07:50,210 --> 00:07:52,310
oder wenn wir eine neue Szene starten und es keine Instanz
 gibt

199
00:07:52,310 --> 00:07:54,850
, die diesem entspricht,

200
00:07:54,845 --> 00:08:00,185
dann werde ich diese Instanz als gleich sagen das. 

201
00:08:00,185 --> 00:08:02,635
Dies wird nur eine neue Instanz erstellen. 

202
00:08:02,630 --> 00:08:04,970
Und dies wird sicherstellen, dass wir keine
 zwei Instanzen haben

203
00:08:04,970 --> 00:08:09,130
oder dass bereits eine verfügbar ist. 

204
00:08:09,125 --> 00:08:10,855
Also werde ich das speichern und demonstriere, wie das
 funktioniert und mich

205
00:08:10,850 --> 00:08:12,830
anschnallen wird

206
00:08:12,830 --> 00:08:16,720
, weil wir viele Fehler haben werden. 

207
00:08:16,715 --> 00:08:18,325
Und ich habe das getestet, um
 sicherzustellen,

208
00:08:18,320 --> 00:08:21,230
dass ich alles richtig verwalten kann. 

209
00:08:21,230 --> 00:08:22,520
Also hebe ich die Münzen auf,

210
00:08:22,520 --> 00:08:24,370
ich werde für 90 getroffen,

211
00:08:24,365 --> 00:08:28,255
öffne die Tür, und ich treffe das Portal,
 gehe

212
00:08:28,250 --> 00:08:30,580
davon weg. Und da sind wir los. 

213
00:08:30,575 --> 00:08:32,015
Sie können also jetzt sehen,

214
00:08:32,015 --> 00:08:33,545
dass
 ich keinen Teamplayer habe. 

215
00:08:33,545 --> 00:08:36,275
Der zweite Spieler wurde zerstört. 

216
00:08:36,275 --> 00:08:39,175
Das liegt daran, dass es überprüft hat und es wach ist. 

217
00:08:39,170 --> 00:08:40,460
Gibt es eine Instanz? 

218
00:08:40,460 --> 00:08:42,920
Ist die Instanz anders als null? 

219
00:08:42,920 --> 00:08:44,690
Ja, das war es. 

220
00:08:44,690 --> 00:08:47,650
Und ist die Instanz gleich dem? 

221
00:08:47,645 --> 00:08:51,565
Ja, das war es. Also werden wir weitermachen und zerstören. 

222
00:08:51,560 --> 00:08:54,070
Also hier drin wirst du sehen, dass wir
 nur 12 Arbeitgeber haben

223
00:08:54,065 --> 00:08:56,795
, der eine Schrotflinte hat. 

224
00:08:56,795 --> 00:08:57,775
Er kann schießen. 

225
00:08:57,770 --> 00:09:00,980
Er kann nicht zeigen und er kann seine Waffe nicht ändern,

226
00:09:00,980 --> 00:09:02,780
aber er hat die Schrotflinte. 

227
00:09:02,780 --> 00:09:04,690
Er animiert,

228
00:09:04,685 --> 00:09:07,325
alles funktioniert und Sie werden feststellen, dass

229
00:09:07,325 --> 00:09:09,565
er sich in der gleichen Position

230
00:09:09,560 --> 00:09:11,870
in der vorherigen Szene.
 

231
00:09:11,870 --> 00:09:13,550
Und das liegt daran, dass er das tatsächlich bei sich
 behalten wird

232
00:09:13,550 --> 00:09:15,580
, während er sich bewegt. 

233
00:09:15,575 --> 00:09:17,975
Sie werden also feststellen, dass ich beim Betreten des Portals dann weggezogen bin,

234
00:09:17,975 --> 00:09:19,765
weil ich nicht

235
00:09:19,760 --> 00:09:21,940
in diesem Portal bleiben
 wollte. 

236
00:09:21,935 --> 00:09:23,515
mit diesen Informationen

237
00:09:23,510 --> 00:09:26,560
Lassen Sie uns mit diesen Informationen
 schließlich sehen, welche Fehler wir hier haben. 

238
00:09:26,555 --> 00:09:29,425
Also werde ich innehalten, weil es viel gibt. 

239
00:09:29,420 --> 00:09:34,330
Zuallererst werden Sie das Problem mit der Kamera sehen,

240
00:09:34,325 --> 00:09:36,215
das wir in wenigen Schritten beheben werden. 

241
00:09:36,215 --> 00:09:37,885
Sie werden sehen, dass wir ein Problem

242
00:09:37,880 --> 00:09:39,320
mit den feigen Feinden haben. 

243
00:09:39,320 --> 00:09:42,740
Sie versuchen, das Objekt zu finden, das der Spieler ist,

244
00:09:42,740 --> 00:09:44,330
aber sie können es einfach nicht. 

245
00:09:44,330 --> 00:09:46,400
Nicht nur das, es sagt uns, dass

246
00:09:46,400 --> 00:09:48,590
die Objekttransformation zerstört wurde,

247
00:09:48,590 --> 00:09:50,720
sondern Sie versuchen immer noch, darauf zuzugreifen. 

248
00:09:50,720 --> 00:09:52,250
Was meinen sie damit? 

249
00:09:52,250 --> 00:09:55,090
Nun, sobald sie auf diese Welt kamen,

250
00:09:55,085 --> 00:09:58,845
sahen
 sie den kleinen Untergangsspieler, der anfangs hier war. 

251
00:09:58,849 --> 00:10:01,039
Und als dann die Szene begann,

252
00:10:01,040 --> 00:10:04,220
wurde
 er zerstört und sie versuchten immer noch darauf zuzugreifen. 

253
00:10:04,220 --> 00:10:05,930
Und wenn wir hier hineinklicken,

254
00:10:05,930 --> 00:10:08,690
werden
 Sie feststellen, dass es genau hier auf der Spieler-Verfolgungsjagd ist. 

255
00:10:08,690 --> 00:10:11,380
Das ganze Problem liegt also beim Spieler Chase. 

256
00:10:11,375 --> 00:10:13,625
Offensichtlich werden wir das auch beheben,

257
00:10:13,625 --> 00:10:15,155
die Kamera wird repariert. 

258
00:10:15,155 --> 00:10:17,965
Und schließlich ist dieses eine Problem auch hier und

259
00:10:17,960 --> 00:10:21,110
das Spielerspielobjekt aktiv und Hierarchie. 

260
00:10:21,110 --> 00:10:24,170
All das wird also behoben sein und nur ein bisschen. 

261
00:10:24,170 --> 00:10:26,210
Also werde ich das aufheben und lasst uns

262
00:10:26,210 --> 00:10:28,630
die Probleme nacheinander lösen. 

263
00:10:28,625 --> 00:10:33,065
Also hör auf damit, öffne das, das Spiel beginnt. 

264
00:10:33,065 --> 00:10:35,035
Also öffne die Skripte. 

265
00:10:35,030 --> 00:10:36,200
Und was sollen wir tun? 

266
00:10:36,200 --> 00:10:38,030
Zunächst denke ich zuerst, lasst uns

267
00:10:38,030 --> 00:10:40,000
das Problem der Hauptkamera
 lösen. 

268
00:10:39,995 --> 00:10:46,195
Wenn wir also zum Player-Controller gehen, wo wir die
 Hauptkamera benutzen

269
00:10:46,190 --> 00:10:47,990
. Doppelklicken wir

270
00:10:47,990 --> 00:10:49,760
auf die Hauptkamera und scrollen nach unten,
 um zu sehen,

271
00:10:49,760 --> 00:10:51,730
wo wir sie verwenden. 

272
00:10:51,725 --> 00:10:52,955
Wir benutzen es. 

273
00:10:52,955 --> 00:10:55,445
Los geht's, beim Zeigen der Waffe. 

274
00:10:55,445 --> 00:10:58,555
Also hier drin bin ich einfach mal zu überprüfen, ob

275
00:10:58,550 --> 00:11:02,650
die Hauptkamera gleich null ist. 

276
00:11:02,645 --> 00:11:04,405
Das heißt, wir haben keine Kamera. 

277
00:11:04,400 --> 00:11:07,190
Ich werde sagen, dass die Hauptkamera
 gleich der Kamerapunkt-Hauptkamera ist

278
00:11:07,190 --> 00:11:10,450
. 

279
00:11:10,445 --> 00:11:12,295
Und das wird erst passieren, wenn wir

280
00:11:12,290 --> 00:11:14,330
überprüfen, ob die Kamera null ist. 

281
00:11:14,330 --> 00:11:15,920
Das heißt, wir haben keine Referenz. 

282
00:11:15,920 --> 00:11:18,020
Wenn ja, stellen wir die Hauptkamera ein. 

283
00:11:18,020 --> 00:11:20,800
Schon wieder. Wenn nicht, werden wir einfach

284
00:11:20,795 --> 00:11:23,995
regelmäßig weitermachen, wobei die Waffe höchstens regelmäßig gerichtet wird. 

285
00:11:23,990 --> 00:11:25,910
Also zurück in unserem Spiel wird laufen. 

286
00:11:25,910 --> 00:11:29,600
Das Spiel wird dieses Spiel aufnehmen und öffnen. Sonst noch was? 

287
00:11:29,600 --> 00:11:31,580
Wir werden das durchmachen. 

288
00:11:31,580 --> 00:11:33,590
Und auf der anderen Seite

289
00:11:33,590 --> 00:11:35,230
werden
 wir in der Szene sehen. 

290
00:11:35,225 --> 00:11:38,155
Da sind wir los. Sie können sehen, dass ich darauf hinweisen kann,

291
00:11:38,150 --> 00:11:39,740
aber offensichtlich ist es,

292
00:11:39,740 --> 00:11:41,650
die Kamera in der Spielwelt

293
00:11:41,645 --> 00:11:43,325
nicht auf den Spieler konzentriert. 

294
00:11:43,325 --> 00:11:44,785
Und das ist etwas, das wir

295
00:11:44,780 --> 00:11:46,910
offensichtlich biegen müssen. 

296
00:11:46,910 --> 00:11:48,670
Also lasst uns anfangen zu reparieren. 

297
00:11:48,665 --> 00:11:51,175
Ich gehe in meine Drehbücher. 

298
00:11:51,170 --> 00:11:54,500
Und hier drin werden wir das nennen,

299
00:11:54,500 --> 00:11:57,140
wo sollen wir das nennen? 

300
00:11:57,140 --> 00:12:00,380
Mal sehen, wo haben wir die Shape-Kamera hingestellt? 

301
00:12:00,380 --> 00:12:02,170
Können wir es wissen? 

302
00:12:02,165 --> 00:12:04,525
Wir wissen nicht was? 

303
00:12:04,520 --> 00:12:05,540
Gehen wir einfach in

304
00:12:05,540 --> 00:12:09,360
die Skripte und legen es in die Manager ein. 

305
00:12:10,090 --> 00:12:13,760
Manager, Manager, Manager. 

306
00:12:13,760 --> 00:12:15,050
Es gibt keine Manager. 

307
00:12:15,050 --> 00:12:15,410
Okay. 

308
00:12:15,410 --> 00:12:17,720
Also Manager aus irgendeinem Grund, unsere Kameras. 

309
00:12:17,720 --> 00:12:19,580
Da sind wir los. Also und die Kameras,

310
00:12:19,580 --> 00:12:22,520
ich werde eine Kamerasteuerung
 oder einen Camera Camp Controller erstellen

311
00:12:22,520 --> 00:12:26,540
. 

312
00:12:26,540 --> 00:12:29,930
Drücken Sie Enter und warten Sie, bis es kompiliert ist. 

313
00:12:29,930 --> 00:12:32,120
Doppelklicken Sie hier rein und

314
00:12:32,120 --> 00:12:33,940
ich mache ein paar Dinge. 

315
00:12:33,935 --> 00:12:36,715
Was also? Ich mache immer ein paar Dinge. 

316
00:12:36,710 --> 00:12:39,010
Was sind die Dinge, die wir tun werden? 

317
00:12:39,005 --> 00:12:41,375
Zunächst möchten wir hier
 immer das

318
00:12:41,375 --> 00:12:44,035
Spielerziel automatisch finden. 

319
00:12:44,030 --> 00:12:46,970
Früher haben wir also früher gemacht, wenn wir hier und
 ins virtuelle Camp in die Kamera gingen

320
00:12:46,970 --> 00:12:50,380
,

321
00:12:50,375 --> 00:12:52,205
sagten
 wir der Follow-Spieler. 

322
00:12:52,205 --> 00:12:54,935
Und das Problem ist, wenn wir in eine neue Welt gehen,

323
00:12:54,935 --> 00:12:56,695
lass mich dir ausführlich zeigen,

324
00:12:56,695 --> 00:12:58,075
dir vorher zeigen
 sollen. 

325
00:12:58,070 --> 00:12:59,450
Wenn ich zum Beispiel
 hier den Spieler habe,

326
00:12:59,450 --> 00:13:00,650
hier den Spieler habe

327
00:13:00,650 --> 00:13:02,690
klicke
 ich auf ihn, er ist in der Hierarchie. 

328
00:13:02,690 --> 00:13:04,100
Ich habe die Tür geöffnet,

329
00:13:04,100 --> 00:13:06,410
ich rufe auf eine andere Ebene. 

330
00:13:06,410 --> 00:13:09,830
Sie werden jetzt bemerken, wenn ich die Kameras wieder öffne,

331
00:13:09,830 --> 00:13:12,440
die genau dieselbe virtuelle Kamera sind,

332
00:13:12,440 --> 00:13:14,390
können
 Sie sehen, dass das Follow fehlt,

333
00:13:14,390 --> 00:13:15,590
also gibt es keinen Player. 

334
00:13:15,590 --> 00:13:18,470
Warum? Weil wir den Spieler schon einmal eingestellt haben,

335
00:13:18,470 --> 00:13:20,290
aber jetzt wurde er zerstört. 

336
00:13:20,285 --> 00:13:23,485
Er wird vermisst, also müssen wir sie wieder finden. 

337
00:13:23,480 --> 00:13:26,720
Also hier drin werde ich das öffnen und

338
00:13:26,720 --> 00:13:30,190
eine Variable erstellen, die der Spieler ist, den
 man jagen muss,
 was offensichtlich,

339
00:13:30,185 --> 00:13:32,125
mal sehen, die Transformation oder kein Atlas sein wird, die ihn einfach zur

340
00:13:32,120 --> 00:13:36,880
Layer-Controller-Ebene machen

341
00:13:36,875 --> 00:13:42,425
wird zum Anschauen. 

342
00:13:42,425 --> 00:13:46,235
Und er wird gleich sein, um ein Objekt des Typs zu finden. 

343
00:13:46,235 --> 00:13:48,175
Der Spieler, oh, nein,

344
00:13:48,170 --> 00:13:49,910
nein, nein, nicht hier. 

345
00:13:49,910 --> 00:13:52,010
Kosten sinken und beginnen. 

346
00:13:52,010 --> 00:13:54,500
Wir werden sagen, dass die zu
 betrachtende Ebene

347
00:13:54,500 --> 00:13:57,760
gleich ist, Objekte des Typs zu finden,

348
00:13:57,755 --> 00:14:00,695
und es wird der Spieler-Controller sein. 

349
00:14:00,695 --> 00:14:02,305
Jetzt haben wir einen Verweis auf

350
00:14:02,300 --> 00:14:03,860
den Player-Controller, der

351
00:14:03,860 --> 00:14:06,160
auch eine virtuelle Kamera erstellt. 

352
00:14:06,155 --> 00:14:08,755
Also, also Kinomaschine,

353
00:14:08,750 --> 00:14:11,590
virtuelle Kamera erben, müssen wir

354
00:14:11,585 --> 00:14:15,005
verdoppeln und C mit Cin, einer Maschine. 

355
00:14:15,005 --> 00:14:16,585
Los geht's. Spar das. 

356
00:14:16,580 --> 00:14:18,920
Also Kinomaschine,

357
00:14:18,920 --> 00:14:24,820
virtuelle Kamera der
 Kinomaschine, danke. 

358
00:14:24,815 --> 00:14:28,565
Es wird das Verb sein. 

359
00:14:30,540 --> 00:14:33,090
Virtuelle Kamera. 

360
00:14:33,085 --> 00:14:36,345
Und wir werden es hier einstellen, sobald wir anfangen. 

361
00:14:36,340 --> 00:14:40,080
Es wird also gleich sein, um Komponente zu bekommen. 

362
00:14:40,075 --> 00:14:42,115
Und wo sind wir Ingenieur? 

363
00:14:42,115 --> 00:14:44,775
Wo werden wir den Kamera-Controller anschließen? 

364
00:14:44,770 --> 00:14:47,610
Vielleicht möchten wir es in der Vorlesung anhängen. 

365
00:14:47,605 --> 00:14:49,335
Wir werden uns an die virtuellen Kameras

366
00:14:49,330 --> 00:14:50,350
damit wir hier sofort

367
00:14:50,350 --> 00:14:53,880
auf dieselbe virtuelle Kamera zugreifen können. 

368
00:14:53,875 --> 00:14:57,235
Also hol dir Komponente. 

369
00:14:57,235 --> 00:15:05,215
Und es wird die virtuelle Kamera der Kinomaschine sein. 

370
00:15:05,215 --> 00:15:08,835
Da sind wir los. Und was machen wir hier drin? 

371
00:15:08,830 --> 00:15:12,390
Nun, wir werden die virtuelle Kamera
 oben so einstellen

372
00:15:12,385 --> 00:15:14,755
, dass sie
 der Ebene entspricht, um

373
00:15:14,750 --> 00:15:18,520
die Punkttransformation zu betrachten. 

374
00:15:18,515 --> 00:15:20,495
Das wird also am Anfang sein,

375
00:15:20,495 --> 00:15:23,635
aber ein Update, wir müssen eine While-Schleife erstellen. 

376
00:15:23,630 --> 00:15:26,030
Also haben wir schon While-Loops abgedeckt. 

377
00:15:26,030 --> 00:15:29,330
Und es wird prüfen, ob der Spieler

378
00:15:29,330 --> 00:15:32,600
ansieht, während er gleich Null ist. 

379
00:15:32,600 --> 00:15:35,110
Das heißt, wir haben noch keinen Spieler gefunden. 

380
00:15:35,105 --> 00:15:39,055
Wir werden weiter nach dem Spieler suchen, den wir uns ansehen können. 

381
00:15:39,050 --> 00:15:41,740
Finde den Spieler-Controller weiter

382
00:15:41,735 --> 00:15:43,615
bis wir ihn endlich gefunden haben. 

383
00:15:43,610 --> 00:15:44,810
Sobald wir sie gefunden haben,

384
00:15:44,810 --> 00:15:48,490
wenn wir eine virtuelle Kamera haben. 

385
00:15:48,485 --> 00:15:52,355
Dies ist also nur ein zusätzlicher Schritt, um Fehler zu vermeiden. 

386
00:15:52,355 --> 00:15:55,815
Die virtuelle Kamera folgt nicht. 

387
00:15:55,815 --> 00:15:58,935
Wird dem Spieler gleich sein. 

388
00:15:58,930 --> 00:16:02,640
Das werden wir speichern. Und schauen wir uns noch einmal an, was wir getan haben. 

389
00:16:02,635 --> 00:16:03,975
Also haben wir zuerst
 den Player-Controller erstellt

390
00:16:03,970 --> 00:16:06,190
, der eine Variable ist,

391
00:16:06,190 --> 00:16:07,540
die wir uns
 ansehen werden

392
00:16:07,540 --> 00:16:09,250
,

393
00:16:09,250 --> 00:16:10,300
was eine Variable
 des Player-Controllers ist

394
00:16:10,300 --> 00:16:12,910
, eine virtuelle Kamera. 

395
00:16:12,910 --> 00:16:14,560
Die sind alle privat. 

396
00:16:14,560 --> 00:16:15,690
Wir können den Privaten nennen. 

397
00:16:15,685 --> 00:16:17,385
Ich hatte einfach keine Zeit. 

398
00:16:17,380 --> 00:16:19,260
Weißt du was, lasst uns einfach sicherstellen

399
00:16:19,255 --> 00:16:22,005
, dass wir hier keine Verwirrungen haben. 

400
00:16:22,000 --> 00:16:23,380
So privat, privat, weil wir

401
00:16:23,380 --> 00:16:24,940
sie im Inspektor
 nicht brauchen werden. 

402
00:16:24,940 --> 00:16:26,110
Wir können M setzen, wenn wir wollen. 

403
00:16:26,110 --> 00:16:28,060
Das müssen wir nicht. Dann fange an. 

404
00:16:28,055 --> 00:16:30,405
Wir werden den Spieler-Controller finden. 

405
00:16:30,400 --> 00:16:31,470
Das ist nur für den Fall. 

406
00:16:31,465 --> 00:16:33,795
Wir fangen an und wir haben den Spieler in der Szene,
 dann finden wir die Kamera,

407
00:16:33,790 --> 00:16:35,310
dann stellen wir die

408
00:16:35,305 --> 00:16:38,525
Follow-Cam so ein, dass sie der Spieler ist, den man sich ansehen kann. 

409
00:16:38,520 --> 00:16:41,090
Habe nur einen Spieler in einer Szene,

410
00:16:41,090 --> 00:16:44,660
denn wir haben das schon hier sichergestellt. 

411
00:16:44,660 --> 00:16:46,510
Und das Singleton-Muster. 

412
00:16:46,505 --> 00:16:47,305
Da sind wir los. 

413
00:16:47,300 --> 00:16:50,050
Dies wird als Singleton-Muster bezeichnet, wenn man bedenkt,

414
00:16:50,045 --> 00:16:51,655
Sie
 immer dann denken, dass
 Sie sehr klug sind, wenn Sie es jemandem sagen

415
00:16:51,650 --> 00:16:53,470
. 

416
00:16:53,465 --> 00:16:55,285
Vertrau mir, obwohl es
 Singleton ist

417
00:16:55,280 --> 00:16:57,680
, bedeutet ein einzelnes Objekt. 

418
00:16:57,680 --> 00:17:00,920
Also nur für den Fall, dass sie dich fragen, was ist ein Singleton-Muster? 

419
00:17:00,920 --> 00:17:03,020
Wie auch immer, der virtuelle Kamerapunkt folgt,

420
00:17:03,020 --> 00:17:05,570
wir folgen dem einzigen Player, den wir finden, und

421
00:17:05,570 --> 00:17:08,540
dann ein Update, nur für den Fall, sagen
 wir, der Spieler, der nicht
 zerstört wird

422
00:17:08,540 --> 00:17:11,540
sagen
 wir, der Spieler, der nicht

423
00:17:11,540 --> 00:17:15,110
, wird normalerweise vor allen anderen geladen objekte. 

424
00:17:15,110 --> 00:17:17,690
Nur für den Fall, dass wir das Spiel beginnen,

425
00:17:17,690 --> 00:17:20,870
finden
 wir den Spieler nicht sofort, den er vermisst hat. 

426
00:17:20,870 --> 00:17:22,730
Wir können ihn nicht wie folgt lösen. 

427
00:17:22,730 --> 00:17:25,640
Folgen Sie dann einem Update, das wir weiter durchlaufen werden

428
00:17:25,640 --> 00:17:27,140
bis wir feststellen, dass der Player überprüfen würde

429
00:17:27,140 --> 00:17:28,880
ob wir eine virtuelle Kamera haben. 

430
00:17:28,880 --> 00:17:30,380
Dies ist nur ein zusätzlicher Schritt. 

431
00:17:30,380 --> 00:17:32,150
Ich glaube nicht, dass wir das auch brauchen werden,

432
00:17:32,150 --> 00:17:33,950
nicht einmal, weil wir das Skript an die virtuelle Kamera
 anhängen werden

433
00:17:33,950 --> 00:17:36,680
,

434
00:17:36,680 --> 00:17:40,510
aber nur für den Fall, dass es keine virtuelle Kamera gibt,

435
00:17:40,505 --> 00:17:42,475
werden
 wir den Zustand überprüfen und dann wir

436
00:17:42,470 --> 00:17:44,590
wird den virtuellen Kamerapunkt folgen setzen,

437
00:17:44,585 --> 00:17:46,435
speichern Sie ihn hier wieder. 

438
00:17:46,430 --> 00:17:47,620
Lass uns weitermachen. 

439
00:17:47,615 --> 00:17:51,805
Und so schütteln und
 schütteln die Kameras

440
00:17:51,800 --> 00:17:53,510
schütteln und
 schütteln

441
00:17:53,510 --> 00:17:57,250
den Kamera-Controller durch die virtuelle Kamera.
 

442
00:17:57,245 --> 00:18:00,705
Und aus irgendeinem Grund sehe ich, dass dies kein Prefab ist. 

443
00:18:00,709 --> 00:18:03,049
Ist das auf Prefab das. 

444
00:18:03,050 --> 00:18:07,010
Also wenn die Prefabs University,

445
00:18:07,010 --> 00:18:11,510
während die Waffen Sie schlecht sind, um Objekte hier zu nivellieren. 

446
00:18:11,510 --> 00:18:12,290
Nee. 

447
00:18:12,290 --> 00:18:14,960
Okay. Ich kann also sehen, dass ich

448
00:18:14,960 --> 00:18:17,750
die Kameras aus irgendeinem Grund nicht bevorzugt
 habe, von dem ich dachte. 

449
00:18:17,750 --> 00:18:21,490
Aber wie auch immer, das ist einfach lieber die Lager und hier. 

450
00:18:21,485 --> 00:18:23,215
Und Sie können sehen, dass

451
00:18:23,210 --> 00:18:25,980
die virtuelle Kamera den Camp-Controller haben wird. 

452
00:18:25,984 --> 00:18:27,114
Also spar dir das auf. 

453
00:18:27,110 --> 00:18:28,870
Lass mich auf die andere Ebene gehen. 

454
00:18:28,865 --> 00:18:30,835
Ich werde das nicht auf allen Ebenen machen. 

455
00:18:30,830 --> 00:18:33,640
Ich werde es einfach mit denen machen, die wir testen,

456
00:18:33,635 --> 00:18:36,775
alles
 repariert haben und es wird wahrscheinlich dasselbe sein. 

457
00:18:36,770 --> 00:18:39,770
Also Kameras und hier werde ich es löschen. 

458
00:18:39,770 --> 00:18:43,400
Und ich gehe zurück zu den Prefabs und stelle

459
00:18:43,400 --> 00:18:47,270
sicher, dass ich die Kameras hier in der Hierarchie hinzufüge. 

460
00:18:47,270 --> 00:18:48,430
Spar dir das alles auf. 

461
00:18:48,425 --> 00:18:50,005
Öffne das, okay, scheint

462
00:18:50,000 --> 00:18:53,000
alles gut zu sein. Zurück in den Szenen. 

463
00:18:53,000 --> 00:18:58,450
Zurück im Schädel ist das zu speichern, führe das Spiel aus. 

464
00:18:58,445 --> 00:19:01,375
Geh zur Tür, öffne sie

465
00:19:01,370 --> 00:19:03,050
gehe zum nächsten Level. 

466
00:19:03,050 --> 00:19:05,650
Und wir sollten sehen, da sind wir los. 

467
00:19:05,645 --> 00:19:07,555
Also haben wir den Player wieder gefunden und jetzt

468
00:19:07,550 --> 00:19:10,540
funktionieren
 die Kameras einwandfrei. 

469
00:19:10,535 --> 00:19:12,655
Großartig. 

470
00:19:12,650 --> 00:19:14,030
Wenn wir jetzt in die Konsole zurückblicken, haben
 wir immer noch das Problem,

471
00:19:14,030 --> 00:19:16,220
dass
 der

472
00:19:16,220 --> 00:19:18,950
Spieler gejagt wird und keinen Spaß macht. 

473
00:19:18,950 --> 00:19:20,660
Und weil ich sehe, dass

474
00:19:20,660 --> 00:19:23,410
dieses Video schon lange genug läuft,

475
00:19:23,405 --> 00:19:25,765
werde
 ich genau hier positionieren und dann
 werden wir

476
00:19:25,760 --> 00:19:28,180
im nächsten Video weitermachen. 

477
00:19:28,175 --> 00:19:29,385
Also hoffe ich, dass es dir gefallen hat. 

478
00:19:29,380 --> 00:19:31,970
Das ist ein bisschen langweilig, ich weiß,

479
00:19:31,970 --> 00:19:34,790
aber zumindest hast du gelernt, was ein Singleton-Muster ist. 

480
00:19:34,790 --> 00:19:36,920
Du hast verstanden, warum die Kamera nicht läuft. 

481
00:19:36,920 --> 00:19:38,630
Ich versuche so viel wie
 möglich zu erklären

482
00:19:38,630 --> 00:19:40,790
, obwohl es sehr langweilig ist. 

483
00:19:40,790 --> 00:19:44,180
Aber ich möchte, dass du verstehst, wie sich alles anfühlt. 

484
00:19:44,180 --> 00:19:45,920
Zuerst war ich auch verwirrt,

485
00:19:45,920 --> 00:19:47,900
aber als ich alles durchmachte,

486
00:19:47,900 --> 00:19:49,670
verstand
 ich die Dinge und

487
00:19:49,670 --> 00:19:51,320
wollte sie an dich weitergeben. 

488
00:19:51,320 --> 00:19:52,940
Also, wenn das aus dem Weg ist,

489
00:19:52,940 --> 00:19:56,610
danke fürs Zuschauen und wir sehen uns im nächsten. 

