1
00:00:00,000 --> 00:00:03,140
Bem-vindo de volta, meus colegas desenvolvedores de jogos. 

2
00:00:03,135 --> 00:00:05,075
Neste vídeo, quando executarmos o jogo,

3
00:00:05,070 --> 00:00:07,040
você verá que temos muitos erros. 

4
00:00:07,035 --> 00:00:08,285
Nós não consertamos todos eles,

5
00:00:08,280 --> 00:00:09,860
mas consertamos a maioria deles. 

6
00:00:09,855 --> 00:00:12,545
Então eu vou pegar a espingarda,

7
00:00:12,540 --> 00:00:13,700
pegar algumas moedas,

8
00:00:13,695 --> 00:00:15,225
ser atingido pelos picos,

9
00:00:15,225 --> 00:00:16,655
passar pela porta,

10
00:00:16,650 --> 00:00:18,800
passar por este portal. 

11
00:00:18,795 --> 00:00:20,015
E lá vai você. 

12
00:00:20,010 --> 00:00:22,620
Você pode ver que eu estou do outro lado era minha espingarda,

13
00:00:22,620 --> 00:00:24,570
era minha pistola com minha saúde,

14
00:00:24,570 --> 00:00:25,590
mas não é visível

15
00:00:25,590 --> 00:00:27,360
porque não ajustamos essas coisas. 

16
00:00:27,360 --> 00:00:29,400
Mas se formos fazer o jogador rolar para baixo,

17
00:00:29,400 --> 00:00:30,740
você notará que tínhamos 500. 

18
00:00:30,735 --> 00:00:33,555
Nós o cortamos pelos picos e são 490,

19
00:00:33,555 --> 00:00:35,255
mesmo que não tenhamos feito nada. 

20
00:00:35,250 --> 00:00:38,310
Então, não vamos perder mais tempo e vamos começar. 

21
00:00:38,310 --> 00:00:41,070
As coisas que aprendemos neste vídeo são muito importantes,

22
00:00:41,070 --> 00:00:43,190
um pouco complicadas, mas muito importantes. 

23
00:00:43,190 --> 00:00:45,040
Então, vamos ficar pisados. 

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

25
00:00:46,910 --> 00:00:50,540
Então, atualmente, podemos ir de nível para nível. 

26
00:00:50,540 --> 00:00:52,670
Temos opções em que
 escolhemos

27
00:00:52,670 --> 00:00:56,240
um dos níveis aleatórios que temos. 

28
00:00:56,240 --> 00:00:57,620
Obviamente, há algumas

29
00:00:57,620 --> 00:00:58,790
coisas que precisaremos
 ajustar

30
00:00:58,790 --> 00:01:00,080
com a aparência da

31
00:01:00,080 --> 00:01:02,080
porta e
 o desaparecimento e assim por diante. 

32
00:01:02,075 --> 00:01:04,825
Sinto que ainda há um pouco de ajustes,

33
00:01:04,820 --> 00:01:07,510
mas há um problema ainda maior. 

34
00:01:07,505 --> 00:01:10,295
E isso é quando pegamos as moedas,
 a arma,

35
00:01:10,295 --> 00:01:14,035
e somos atingidos por essas motos ou algo assim. 

36
00:01:14,030 --> 00:01:15,100
Deixe-me mostrar a você. 

37
00:01:15,095 --> 00:01:16,645
Quando pegamos a espingarda,

38
00:01:16,640 --> 00:01:17,840
pegamos algum dinheiro,

39
00:01:17,840 --> 00:01:19,910
atingidos pelos picos. 

40
00:01:19,910 --> 00:01:23,530
Lá vamos nós. Assim, podemos ver que nossa vida é de 9500,

41
00:01:23,525 --> 00:01:25,835
vamos para um nível numérico. 

42
00:01:25,835 --> 00:01:29,555
Talvez isso seja, e você pode ver agora,
 enquanto o jogador,

43
00:01:29,555 --> 00:01:32,065
se eu

44
00:01:32,060 --> 00:01:35,780
olhar para o jogador D1, ele está desapegado. 

45
00:01:35,780 --> 00:01:37,490
Ele não está lá. Então você pode ver

46
00:01:37,490 --> 00:01:39,470
que a vida dele está de volta aos 50. 

47
00:01:39,470 --> 00:01:41,710
Se eu tentasse escolher a espingarda,

48
00:01:41,705 --> 00:01:43,525
não
 posso. E lá vai você. 

49
00:01:43,520 --> 00:01:45,590
Você pode ver que as moedas são

50
00:01:45,590 --> 00:01:48,530
0 e isso é algo que vamos querer
 mudar para

51
00:01:48,530 --> 00:01:51,380
garantir que nosso jogador realmente

52
00:01:51,380 --> 00:01:54,380
mantenha tudo com ele enquanto ele passa pelo nível. 

53
00:01:54,380 --> 00:01:56,600
Então, vamos em frente e faça isso. 

54
00:01:56,600 --> 00:01:58,010
Então, vou abrir

55
00:01:58,010 --> 00:02:00,020
meus scripts aqui e
 vou para

56
00:02:00,020 --> 00:02:04,210
o controlador do player, rolar para cima. 

57
00:02:04,205 --> 00:02:07,415
E o que queremos é, obviamente, queremos manter

58
00:02:07,415 --> 00:02:08,995
nossas armas de
 nível para

59
00:02:08,990 --> 00:02:11,570
nível e a saúde do jogador. 

60
00:02:11,570 --> 00:02:13,070
Então, para manter isso,

61
00:02:13,070 --> 00:02:16,430
precisamos ter certeza de que não destruímos o jogador. 

62
00:02:16,430 --> 00:02:18,770
Podemos salvá-lo em algum outro objeto

63
00:02:18,770 --> 00:02:21,530
ou em algum lugar do projeto. 

64
00:02:21,530 --> 00:02:23,600
Mas, obviamente, existe,

65
00:02:23,600 --> 00:02:25,180
o problema era carregar

66
00:02:25,175 --> 00:02:27,725
uma nova cena que redefine tudo. 

67
00:02:27,725 --> 00:02:31,205
Então, o que vou fazer aqui vou criar

68
00:02:31,205 --> 00:02:35,335
um controlador de player estático público. 

69
00:02:35,330 --> 00:02:38,060
E será a instância. 

70
00:02:38,060 --> 00:02:40,510
E, no caso, vou
 criar

71
00:02:40,505 --> 00:02:42,595
um privado ou saber o que,

72
00:02:42,590 --> 00:02:44,920
vamos apenas escrever acordado. 

73
00:02:44,915 --> 00:02:46,855
E aqui vou dizer que
 a

74
00:02:46,850 --> 00:02:50,620
instância é igual a isso. 

75
00:02:50,615 --> 00:02:55,175
E então aqui eu não vou destruir em carga. 

76
00:02:55,175 --> 00:02:57,725
E será isso. 

77
00:02:57,725 --> 00:03:01,105
Então, se eu salvar isso e passar o mouse sobre não destruir a carga,

78
00:03:01,100 --> 00:03:02,630
você pode ver isso para não destruir

79
00:03:02,630 --> 00:03:05,440
o objeto alvo ao carregar uma nova cena. 

80
00:03:05,435 --> 00:03:07,445
E isso é exatamente o que queremos. 

81
00:03:07,445 --> 00:03:09,025
Então, o que acontecerá agora? 

82
00:03:09,020 --> 00:03:12,590
O objeto ou o jogador e nosso caso,

83
00:03:12,590 --> 00:03:14,360
vamos manter tudo o que ele

84
00:03:14,360 --> 00:03:16,310
tinha com ele de cena em cena. 

85
00:03:16,310 --> 00:03:17,530
Não será destruído,

86
00:03:17,525 --> 00:03:19,505
não será reinstanciado. 

87
00:03:19,505 --> 00:03:21,655
Mas há o problema de que

88
00:03:21,650 --> 00:03:23,770
o início não será chamado de Gap. 

89
00:03:23,765 --> 00:03:26,135
Portanto, não vamos configurar a câmera principal. 

90
00:03:26,135 --> 00:03:27,865
Manteremos o animador do jogador,

91
00:03:27,860 --> 00:03:29,660
mas a câmera principal mudará. 

92
00:03:29,660 --> 00:03:31,730
E você verá que isso produzirá muitos

93
00:03:31,730 --> 00:03:34,630
erros que resolveremos à medida que seguirmos em frente. 

94
00:03:34,625 --> 00:03:36,445
Mas, por enquanto, entenda o não

95
00:03:36,440 --> 00:03:39,260
destrua a carga e o que ela faz. 

96
00:03:39,260 --> 00:03:41,650
Agora, vou voltar aqui. 

97
00:03:41,645 --> 00:03:44,435
E se você olhar para o,

98
00:03:44,435 --> 00:03:45,655
onde está, a sala,

99
00:03:45,650 --> 00:03:48,230
o portal, eu mudei o portal um,

100
00:03:48,230 --> 00:03:50,950
que é este, para ir para o nível quatro. 

101
00:03:50,945 --> 00:03:53,015
Para que possamos ir para o covarde. 

102
00:03:53,015 --> 00:03:58,105
E deixe-me ir às cenas porque eu estava

103
00:03:58,100 --> 00:03:59,860
tentando algo e
 desliguei

104
00:03:59,855 --> 00:04:03,175
o jogador de cúpula aqui. Então lá vamos nós. 

105
00:04:03,170 --> 00:04:04,420
Isso o excita. 

106
00:04:04,415 --> 00:04:05,825
Vamos salvar isso. 

107
00:04:05,825 --> 00:04:14,585
Vamos voltar a esperar que isso seja carregado a qualquer dia agora,

108
00:04:14,585 --> 00:04:17,275
salve-o de volta para onde estamos servindo. 

109
00:04:17,270 --> 00:04:19,490
O crânio é onde temos a de Kelly. 

110
00:04:19,490 --> 00:04:20,890
Sim, éramos um esqueleto. 

111
00:04:20,890 --> 00:04:22,030
Então, salve isso. 

112
00:04:22,025 --> 00:04:24,875
E você notará na hierarquia agora,

113
00:04:24,875 --> 00:04:28,865
e unidade, a nova atualização, desculpe, é terrível. 

114
00:04:28,865 --> 00:04:31,615
Então, na hierarquia, você notará que nós temos o não

115
00:04:31,610 --> 00:04:35,090
destruí-lo e ele tem o jogo da desgraça ou abaixo dele. 

116
00:04:35,090 --> 00:04:37,150
Então eu vou pegar a espingarda,

117
00:04:37,145 --> 00:04:40,235
tornar-me os Bitcoins serem atingidos pelos picos,
 abrir a porta, passar

118
00:04:40,235 --> 00:04:43,205
para o nível 4. 

119
00:04:43,205 --> 00:04:44,915
E lá vamos nós. 

120
00:04:44,915 --> 00:04:46,735
E você pode ver que agora estou aqui,

121
00:04:46,730 --> 00:04:48,100
mas o problema é

122
00:04:48,095 --> 00:04:51,325
você pode ver um jogador para baixo e eu coloco em camadas aqui. 

123
00:04:51,320 --> 00:04:53,350
Então, agora temos dois jogadores. 

124
00:04:53,345 --> 00:04:56,245
Um deles tem uma espingarda, o outro não. 

125
00:04:56,240 --> 00:05:00,140
E você pode ver que temos uma tonelada de erros e os contras. 

126
00:05:00,140 --> 00:05:02,120
Então, vou abrir o console. 

127
00:05:02,120 --> 00:05:03,970
Vou pausar o jogo. 

128
00:05:03,965 --> 00:05:06,295
E antes de tudo, temos o jogador da condenação. 

129
00:05:06,290 --> 00:05:09,160
E aqui esta é uma depuração que eu estava mostrando. 

130
00:05:09,155 --> 00:05:10,435
Deixe-me excluir isso. 

131
00:05:10,430 --> 00:05:12,440
Você verá o que quero dizer em apenas um pouco. 

132
00:05:12,440 --> 00:05:14,090
Vou excluir isso. 

133
00:05:14,090 --> 00:05:14,600
Em seguida. 

134
00:05:14,600 --> 00:05:16,090
Nós teremos a,

135
00:05:16,085 --> 00:05:17,785
esta seta aqui,

136
00:05:17,780 --> 00:05:21,020
o que está tudo bem, então esses são os problemas. 

137
00:05:21,020 --> 00:05:23,500
Consertaremos isso no vídeo posterior. 

138
00:05:23,495 --> 00:05:25,135
Então, finalmente, temos

139
00:05:25,130 --> 00:05:27,620
o objeto do tipo de câmera foi destruído. 

140
00:05:27,620 --> 00:05:29,840
Você ainda está tentando acessá-lo. 

141
00:05:29,840 --> 00:05:31,310
Então, vou clicar duas vezes

142
00:05:31,310 --> 00:05:33,200
aqui e é a câmera principal,

143
00:05:33,200 --> 00:05:35,530
e é exatamente o que eu te falei. 

144
00:05:35,525 --> 00:05:39,425
Então agora que sabemos que nosso jogador está em transição,

145
00:05:39,425 --> 00:05:41,305
e podemos ver aqui na cena,
 se eu clicar no jogador do condenado,

146
00:05:41,300 --> 00:05:43,130
que é o não destruir, temos que fazer jogador

147
00:05:43,130 --> 00:05:44,690
,

148
00:05:44,690 --> 00:05:46,070
então
 teremos que fazer o jogador,

149
00:05:46,070 --> 00:05:47,570
então teremos que conserte isso. 

150
00:05:47,570 --> 00:05:49,850
Mas um deles ainda tem a espingarda. 

151
00:05:49,850 --> 00:05:51,460
Então, tecnicamente, ele
 poderá

152
00:05:51,455 --> 00:05:53,705
se mover com essa espingarda. 

153
00:05:53,705 --> 00:05:55,795
E eu olho para o tomb player,

154
00:05:55,790 --> 00:05:58,790
role para baixo até sua saúde e você pode ver que o,

155
00:05:58,790 --> 00:06:01,140
sua saúde atual também tem transição. 

156
00:06:01,144 --> 00:06:02,724
Infelizmente, ainda há

157
00:06:02,720 --> 00:06:04,640
o problema dos bitcoins,

158
00:06:04,640 --> 00:06:06,650
mas vamos corrigir isso passo a passo. 

159
00:06:06,649 --> 00:06:08,569
Vamos primeiro começar com

160
00:06:08,570 --> 00:06:11,480
o
 gerenciamento dos padrões de camada dupla. 

161
00:06:11,480 --> 00:06:13,810
Portanto, isso é algo que precisaremos abordar. 

162
00:06:13,805 --> 00:06:16,235
E como vamos ajustar isso? 

163
00:06:16,235 --> 00:06:19,555
Bem, há um truque muito bacana que podemos usar,

164
00:06:19,550 --> 00:06:21,670
que é chamado de padrão singleton. 

165
00:06:21,665 --> 00:06:23,425
Deixe-me mostrar-lhe usando

166
00:06:23,420 --> 00:06:25,940
código o que é isso e então explicaremos. 

167
00:06:25,940 --> 00:06:28,000
Então, antes de tudo, aqui em acordado,

168
00:06:27,995 --> 00:06:30,415
em vez de definir imediatamente a instância,

169
00:06:30,410 --> 00:06:34,670
vou dizer que, se não tivermos uma instância,

170
00:06:34,670 --> 00:06:37,310
então a instância é

171
00:06:37,310 --> 00:06:39,620
amines é se já tivermos uma instância,

172
00:06:39,620 --> 00:06:41,390
portanto, é diferente do nulo,

173
00:06:41,390 --> 00:06:47,980
e a instância é diferente disso. 

174
00:06:47,975 --> 00:06:50,725
Então o que vou fazer é
 destruir

175
00:06:50,720 --> 00:06:55,620
esse objeto do jogo. 

176
00:06:55,870 --> 00:06:59,420
Então, o que estou fazendo exatamente aqui? 

177
00:06:59,420 --> 00:07:02,060
Vou verificar assim que aguardarmos. 

178
00:07:02,060 --> 00:07:05,120
A instância é diferente de nula. 

179
00:07:05,120 --> 00:07:08,230
Então isso significa que se a instância não for nula,

180
00:07:08,225 --> 00:07:10,355
vou destruir o objeto do jogo. 

181
00:07:10,355 --> 00:07:12,535
Mas há outra coisa

182
00:07:12,530 --> 00:07:15,460
se a instância for diferente disso. 

183
00:07:15,455 --> 00:07:17,135
Então, o que estou fazendo aqui,

184
00:07:17,135 --> 00:07:19,045
quando estou iniciando o jogo,

185
00:07:19,040 --> 00:07:22,240
estou verificando se já temos uma instância

186
00:07:22,235 --> 00:07:25,265
ou se a instância é igual a esse objeto de jogo,

187
00:07:25,265 --> 00:07:27,665
vou destruir esse objeto do jogo. 

188
00:07:27,665 --> 00:07:29,795
E isso garantirá que nós, em
 primeiro lugar,

189
00:07:29,795 --> 00:07:31,145
não criamos

190
00:07:31,145 --> 00:07:33,475
uma segunda instância desse objeto de jogo. 

191
00:07:33,470 --> 00:07:34,790
E em segundo lugar,

192
00:07:34,790 --> 00:07:38,330
não
 duplicamos o objeto que já está aqui. 

193
00:07:38,330 --> 00:07:40,310
Então, se formos a uma nova cena

194
00:07:40,310 --> 00:07:42,790
e descobrirmos que temos em um objeto de jogo,

195
00:07:42,785 --> 00:07:44,725
ele será destruído imediatamente. 

196
00:07:44,720 --> 00:07:48,290
Mas caso contrário, no caso de não termos uma instância,

197
00:07:48,290 --> 00:07:50,210
então estamos iniciando o jogo de novo,

198
00:07:50,210 --> 00:07:52,310
ou quando iniciamos uma nova cena e não
 há

199
00:07:52,310 --> 00:07:54,850
nenhuma instância que seja igual a isso,

200
00:07:54,845 --> 00:08:00,185
então eu vou dizer que essa instância é igual a isso. 

201
00:08:00,185 --> 00:08:02,635
Isso apenas criará uma nova instância. 

202
00:08:02,630 --> 00:08:04,970
E isso garantirá que não temos

203
00:08:04,970 --> 00:08:09,130
duas instâncias ou que já haja uma disponível. 

204
00:08:09,125 --> 00:08:10,855
Então, vou salvar isso e
 vou

205
00:08:10,850 --> 00:08:12,830
demonstrar como isso
 funcionará

206
00:08:12,830 --> 00:08:16,720
e se apertará porque teremos muitos erros. 

207
00:08:16,715 --> 00:08:18,325
E eu estava testando isso para
 garantir

208
00:08:18,320 --> 00:08:21,230
que eu possa gerenciar tudo corretamente. 

209
00:08:21,230 --> 00:08:22,520
Então eu pego as moedas,

210
00:08:22,520 --> 00:08:24,370
sou atingido por 90,

211
00:08:24,365 --> 00:08:28,255
abro a porta, e vou bater no portal,

212
00:08:28,250 --> 00:08:30,580
afastar dele. E lá vamos nós. 

213
00:08:30,575 --> 00:08:32,015
Então você pode ver agora,

214
00:08:32,015 --> 00:08:33,545
eu não tenho um jogador de equipe. 

215
00:08:33,545 --> 00:08:36,275
O segundo jogador foi destruído. 

216
00:08:36,275 --> 00:08:39,175
Isso porque ele verificou e está acordado. 

217
00:08:39,170 --> 00:08:40,460
Existe uma instância? 

218
00:08:40,460 --> 00:08:42,920
A instância é diferente da nula? 

219
00:08:42,920 --> 00:08:44,690
Sim, foi. 

220
00:08:44,690 --> 00:08:47,650
E a instância é igual a isso? 

221
00:08:47,645 --> 00:08:51,565
Sim, foi. Então, vamos ir em frente e destruir. 

222
00:08:51,560 --> 00:08:54,070
Então, de volta aqui você verá que temos

223
00:08:54,065 --> 00:08:56,795
apenas 12 empregadores que tem uma espingarda. 

224
00:08:56,795 --> 00:08:57,775
Ele pode atirar. 

225
00:08:57,770 --> 00:09:00,980
Ele não pode apontar e não pode mudar sua arma,

226
00:09:00,980 --> 00:09:02,780
mas ele tem a espingarda. 

227
00:09:02,780 --> 00:09:04,690
Ele está animando,

228
00:09:04,685 --> 00:09:07,325
tudo está funcionando e você notará que

229
00:09:07,325 --> 00:09:09,565
ele está na mesma posição em que

230
00:09:09,560 --> 00:09:11,870
estava na cena anterior. 

231
00:09:11,870 --> 00:09:13,550
E isso é porque ele vai realmente

232
00:09:13,550 --> 00:09:15,580
manter isso com ele enquanto ele se move. 

233
00:09:15,575 --> 00:09:17,975
Então você notará que quando entrei no portal,

234
00:09:17,975 --> 00:09:19,765
eu me afastei porque não
 queria

235
00:09:19,760 --> 00:09:21,940
ficar naquele portal. 

236
00:09:21,935 --> 00:09:23,515
Então, com essa informação,

237
00:09:23,510 --> 00:09:26,560
afinal, vamos ver quais erros temos aqui. 

238
00:09:26,555 --> 00:09:29,425
Então vou fazer uma pausa porque há muita coisa. 

239
00:09:29,420 --> 00:09:34,330
Então, antes de tudo, você verá o problema com a câmera,

240
00:09:34,325 --> 00:09:36,215
que vamos corrigir em um pouco. 

241
00:09:36,215 --> 00:09:37,885
Você verá que temos um problema

242
00:09:37,880 --> 00:09:39,320
com os inimigos covardes. 

243
00:09:39,320 --> 00:09:42,740
Eles estão tentando encontrar o objeto que é o jogador,

244
00:09:42,740 --> 00:09:44,330
mas simplesmente não conseguem. 

245
00:09:44,330 --> 00:09:46,400
Não só isso, está nos dizendo que

246
00:09:46,400 --> 00:09:48,590
a transformação do objeto foi destruída,

247
00:09:48,590 --> 00:09:50,720
mas você ainda está tentando acessá-la. 

248
00:09:50,720 --> 00:09:52,250
O que eles querem dizer com isso? 

249
00:09:52,250 --> 00:09:55,090
Bem, assim que eles vieram a este mundo,

250
00:09:55,085 --> 00:09:58,845
eles viram o pequeno jogador da condenação que estava aqui inicialmente. 

251
00:09:58,849 --> 00:10:01,039
E então, quando a cena começou,

252
00:10:01,040 --> 00:10:04,220
ele foi destruído e eles ainda estavam tentando acessar. 

253
00:10:04,220 --> 00:10:05,930
E se clicarmos duas vezes aqui,

254
00:10:05,930 --> 00:10:08,690
você notará que está bem aqui na perseguição do jogador. 

255
00:10:08,690 --> 00:10:11,380
Então, todo o problema é com o jogador Chase. 

256
00:10:11,375 --> 00:10:13,625
Obviamente, estaremos consertando isso também,

257
00:10:13,625 --> 00:10:15,155
a câmera será corrigida. 

258
00:10:15,155 --> 00:10:17,965
E, finalmente, esse problema também está aqui e

259
00:10:17,960 --> 00:10:21,110
o objeto do jogo do jogador ativo e hierarquia. 

260
00:10:21,110 --> 00:10:24,170
Então, tudo isso será corrigido e só um pouco. 

261
00:10:24,170 --> 00:10:26,210
Então, vou despausar isso e vamos

262
00:10:26,210 --> 00:10:28,630
lidar com os problemas um de cada vez. 

263
00:10:28,625 --> 00:10:33,065
Então pare com isso, abra isso, o jogo comece. 

264
00:10:33,065 --> 00:10:35,035
Então abra os scripts. 

265
00:10:35,030 --> 00:10:36,200
E o que faremos? 

266
00:10:36,200 --> 00:10:38,030
Primeiro de tudo, primeiro acho que vamos

267
00:10:38,030 --> 00:10:40,000
lidar com o problema da câmera principal. 

268
00:10:39,995 --> 00:10:46,195
Então, se formos ao controlador do jogador, onde usamos a

269
00:10:46,190 --> 00:10:47,990
câmera
 principal. Vamos clicar duas vezes

270
00:10:47,990 --> 00:10:49,760
na Câmera Principal e rolar para baixo,

271
00:10:49,760 --> 00:10:51,730
ver onde a usamos. 

272
00:10:51,725 --> 00:10:52,955
Nós o usamos. 

273
00:10:52,955 --> 00:10:55,445
Lá vamos nós, apontando a arma. 

274
00:10:55,445 --> 00:10:58,555
Então, aqui estou simplesmente momento para verificar se

275
00:10:58,550 --> 00:11:02,650
a câmera principal é igual a nula. 

276
00:11:02,645 --> 00:11:04,405
Isso significa que não temos uma câmera. 

277
00:11:04,400 --> 00:11:07,190
Vou dizer que a câmera principal é

278
00:11:07,190 --> 00:11:10,450
igual ao ponto principal da câmera. 

279
00:11:10,445 --> 00:11:12,295
E isso só acontecerá quando
 verificarmos que

280
00:11:12,290 --> 00:11:14,330
a câmera é nula. 

281
00:11:14,330 --> 00:11:15,920
Isso significa que não temos uma referência. 

282
00:11:15,920 --> 00:11:18,020
Se for, definiremos a câmera principal. 

283
00:11:18,020 --> 00:11:20,800
Mais uma vez. Caso contrário, continuaremos

284
00:11:20,795 --> 00:11:23,995
regularmente, regularmente com o apontando uma arma no máximo. 

285
00:11:23,990 --> 00:11:25,910
Então, de volta ao nosso jogo será executado. 

286
00:11:25,910 --> 00:11:29,600
O jogo vai ocupar este, abrindo. Mais alguma coisa? 

287
00:11:29,600 --> 00:11:31,580
Vamos passar por isso. 

288
00:11:31,580 --> 00:11:33,590
E do outro lado,

289
00:11:33,590 --> 00:11:35,230
veremos na cena. 

290
00:11:35,225 --> 00:11:38,155
Lá vamos nós. Você pode ver que eu sou capaz de apontar isso,

291
00:11:38,150 --> 00:11:39,740
mas obviamente há,

292
00:11:39,740 --> 00:11:41,650
a câmera no mundo do jogo

293
00:11:41,645 --> 00:11:43,325
não está focando no jogador. 

294
00:11:43,325 --> 00:11:44,785
E isso é algo que
 obviamente precisaremos

295
00:11:44,780 --> 00:11:46,910
flexionar. 

296
00:11:46,910 --> 00:11:48,670
Então, vamos começar a consertar. 

297
00:11:48,665 --> 00:11:51,175
Vou entrar nos meus roteiros. 

298
00:11:51,170 --> 00:11:54,500
E aqui, enquanto estivermos, vamos chamar isso,

299
00:11:54,500 --> 00:11:57,140
Onde devemos chamar isso? 

300
00:11:57,140 --> 00:12:00,380
Vamos ver, onde colocamos a câmera de forma? 

301
00:12:00,380 --> 00:12:02,170
Podemos saber? 

302
00:12:02,165 --> 00:12:04,525
Não sabemos o quê? 

303
00:12:04,520 --> 00:12:05,540
Vamos apenas entrar
 nos

304
00:12:05,540 --> 00:12:09,360
scripts e colocá-lo dentro dos gerentes. 

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

306
00:12:13,760 --> 00:12:15,050
Não há gerentes. 

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

308
00:12:15,410 --> 00:12:17,720
Então gerentes, por algum motivo, nossas câmeras. 

309
00:12:17,720 --> 00:12:19,580
Lá vamos nós. Então, e as câmeras,

310
00:12:19,580 --> 00:12:22,520
vou criar um controle de câmera
 ou um

311
00:12:22,520 --> 00:12:26,540
controlador de campo de câmera. 

312
00:12:26,540 --> 00:12:29,930
Pressione Enter, aguarde que ele seja compilado. 

313
00:12:29,930 --> 00:12:32,120
Clique duas vezes aqui e

314
00:12:32,120 --> 00:12:33,940
vou fazer algumas coisas. 

315
00:12:33,935 --> 00:12:36,715
Então, o quê? Estou sempre fazendo algumas coisas. 

316
00:12:36,710 --> 00:12:39,010
Então, quais são as coisas que vamos fazer? 

317
00:12:39,005 --> 00:12:41,375
Primeiro de tudo, o que queremos fazer aqui é

318
00:12:41,375 --> 00:12:44,035
sempre encontrar o alvo do jogador automaticamente. 

319
00:12:44,030 --> 00:12:46,970
Então, anteriormente, o que costumávamos fazer é se entrássemos

320
00:12:46,970 --> 00:12:50,380
na câmera bem aqui e para o acampamento virtual,

321
00:12:50,375 --> 00:12:52,205
dissemos o jogador seguinte. 

322
00:12:52,205 --> 00:12:54,935
E o problema é quando vamos para um novo mundo,

323
00:12:54,935 --> 00:12:56,695
deixe-me mostrar-lhe em detalhes,

324
00:12:56,695 --> 00:12:58,075
deveria ter mostrado antes. 

325
00:12:58,070 --> 00:12:59,450
Então, se eu, por exemplo,

326
00:12:59,450 --> 00:13:00,650
aqui tenho o jogador,

327
00:13:00,650 --> 00:13:02,690
clico nele, ele está na hierarquia. 

328
00:13:02,690 --> 00:13:04,100
Abri a porta,

329
00:13:04,100 --> 00:13:06,410
ligo para outro nível. 

330
00:13:06,410 --> 00:13:09,830
Você notará agora mesmo se eu abrir as câmeras novamente,

331
00:13:09,830 --> 00:13:12,440
que são exatamente a mesma câmera virtual,

332
00:13:12,440 --> 00:13:14,390
você pode ver que o seguinte está faltando,

333
00:13:14,390 --> 00:13:15,590
então não há jogador. 

334
00:13:15,590 --> 00:13:18,470
Por quê? Porque já definimos o jogador antes,

335
00:13:18,470 --> 00:13:20,290
mas agora ele foi destruído. 

336
00:13:20,285 --> 00:13:23,485
Ele está desaparecido, então precisamos encontrá-los de novo. 

337
00:13:23,480 --> 00:13:26,720
Então aqui eu vou abrir isso e vou

338
00:13:26,720 --> 00:13:30,190
criar uma variável que é o jogador a perseguir,
 que obviamente vai ser,

339
00:13:30,185 --> 00:13:32,125
vamos ver,

340
00:13:32,120 --> 00:13:36,880
a transformação ou nenhum atlas apenas fazer dele a

341
00:13:36,875 --> 00:13:42,425
camada de controlador de camada para olhar. 

342
00:13:42,425 --> 00:13:46,235
E ele vai ser igual para encontrar um objeto do tipo. 

343
00:13:46,235 --> 00:13:48,175
O jogador, oh, não,

344
00:13:48,170 --> 00:13:49,910
não, não, não aqui. 

345
00:13:49,910 --> 00:13:52,010
Custos para baixo e começam. 

346
00:13:52,010 --> 00:13:54,500
Vamos dizer que a camada a ser
 observada

347
00:13:54,500 --> 00:13:57,760
é igual a encontrar objetos do tipo,

348
00:13:57,755 --> 00:14:00,695
e será o controlador do jogador. 

349
00:14:00,695 --> 00:14:02,305
Agora temos uma referência ao

350
00:14:02,300 --> 00:14:03,860
controlador
 do player que

351
00:14:03,860 --> 00:14:06,160
também cria uma câmera virtual. 

352
00:14:06,155 --> 00:14:08,755
Então, então máquina de cinema,

353
00:14:08,750 --> 00:14:11,590
câmera
 virtual também herdar precisamos
 dobrar

354
00:14:11,585 --> 00:14:15,005
e C usando cin, uma máquina. 

355
00:14:15,005 --> 00:14:16,585
Lá vamos nós, salve isso. 

356
00:14:16,580 --> 00:14:18,920
Então máquina de
 cinema,

357
00:14:18,920 --> 00:14:24,820
câmera virtual de máquina de cinema, obrigado. 

358
00:14:24,815 --> 00:14:28,565
Vai ser o verbo. 

359
00:14:30,540 --> 00:14:33,090
Câmera virtual. 

360
00:14:33,085 --> 00:14:36,345
E vamos colocá-lo aqui assim que começarmos. 

361
00:14:36,340 --> 00:14:40,080
Então, será igual obter componente. 

362
00:14:40,075 --> 00:14:42,115
E onde estamos engenheiros? 

363
00:14:42,115 --> 00:14:44,775
Onde vamos anexar o controlador da câmera? 

364
00:14:44,770 --> 00:14:47,610
Podemos querer anexá-lo na palestra. 

365
00:14:47,605 --> 00:14:49,335
Vamos anexar às câmeras virtuais

366
00:14:49,330 --> 00:14:50,350
que possamos
 acessar imediatamente

367
00:14:50,350 --> 00:14:53,880
a mesma câmera virtual de máquina aqui. 

368
00:14:53,875 --> 00:14:57,235
Então, obtenha o componente. 

369
00:14:57,235 --> 00:15:05,215
E vai ser a câmera virtual da máquina de cinema. 

370
00:15:05,215 --> 00:15:08,835
Lá vamos nós. E o que vamos fazer aqui? 

371
00:15:08,830 --> 00:15:12,390
Bem, vamos definir a câmera virtual para cima para
 cima

372
00:15:12,385 --> 00:15:14,755
para ser igual à camada para

373
00:15:14,750 --> 00:15:18,520
olhar para a transformação de pontos. 

374
00:15:18,515 --> 00:15:20,495
Então, isso será no início,

375
00:15:20,495 --> 00:15:23,635
mas uma atualização, precisaremos criar um loop while. 

376
00:15:23,630 --> 00:15:26,030
Então, já cobrimos enquanto loops. 

377
00:15:26,030 --> 00:15:29,330
E vai estar verificando se o jogador

378
00:15:29,330 --> 00:15:32,600
olhar enquanto ele é igual a nulo. 

379
00:15:32,600 --> 00:15:35,110
Isso significa que ainda não encontramos um jogador. 

380
00:15:35,105 --> 00:15:39,055
Vamos continuar procurando o jogador para olhar. 

381
00:15:39,050 --> 00:15:41,740
Continue encontrando o controlador do jogador

382
00:15:41,735 --> 00:15:43,615
até finalmente encontrá-lo. 

383
00:15:43,610 --> 00:15:44,810
Uma vez que os encontrarmos,

384
00:15:44,810 --> 00:15:48,490
se tivermos uma câmera virtual. 

385
00:15:48,485 --> 00:15:52,355
Portanto, este é apenas um passo extra para evitar erros. 

386
00:15:52,355 --> 00:15:55,815
A câmera virtual não segue. 

387
00:15:55,815 --> 00:15:58,935
Será igual ao jogador. 

388
00:15:58,930 --> 00:16:02,640
Vamos salvar isso. E vamos olhar novamente o que fizemos. 

389
00:16:02,635 --> 00:16:03,975
Então, primeiro de tudo, criamos

390
00:16:03,970 --> 00:16:06,190
o controlador do player,
 que será,

391
00:16:06,190 --> 00:16:07,540
que é uma variável que vamos

392
00:16:07,540 --> 00:16:09,250
olhar para os jogadores para olhar,

393
00:16:09,250 --> 00:16:10,300
que é uma variável
 do

394
00:16:10,300 --> 00:16:12,910
controlador do player, uma câmera virtual. 

395
00:16:12,910 --> 00:16:14,560
Estes são todos privados. 

396
00:16:14,560 --> 00:16:15,690
Podemos nomear o privado. 

397
00:16:15,685 --> 00:16:17,385
Só não tive tempo. 

398
00:16:17,380 --> 00:16:19,260
Quer saber, vamos nos certificar

399
00:16:19,255 --> 00:16:22,005
que não temos confusões aqui. 

400
00:16:22,000 --> 00:16:23,380
Tão privado, privado porque
 não precisaremos

401
00:16:23,380 --> 00:16:24,940
deles no inspetor. 

402
00:16:24,940 --> 00:16:26,110
Podemos definir M se quisermos. 

403
00:16:26,110 --> 00:16:28,060
Não precisamos. Em seguida, comece. 

404
00:16:28,055 --> 00:16:30,405
Vamos encontrar o controlador do jogador. 

405
00:16:30,400 --> 00:16:31,470
Isso é apenas por precaução. 

406
00:16:31,465 --> 00:16:33,795
Começamos e temos o jogador na cena,

407
00:16:33,790 --> 00:16:35,310
depois encontramos a câmera,

408
00:16:35,305 --> 00:16:38,525
depois configuramos a câmera de seguimento para ser o jogador a olhar. 

409
00:16:38,520 --> 00:16:41,090
Tenha apenas um jogador em qualquer cena,

410
00:16:41,090 --> 00:16:44,660
porque já nos certificamos disso aqui. 

411
00:16:44,660 --> 00:16:46,510
E o padrão Singleton. 

412
00:16:46,505 --> 00:16:47,305
Lá vamos nós. 

413
00:16:47,300 --> 00:16:50,050
Isso é chamado de padrão singleton, tendo em mente,

414
00:16:50,045 --> 00:16:51,655
sempre que você contar a alguém,

415
00:16:51,650 --> 00:16:53,470
eles pensarão que você é muito inteligente. 

416
00:16:53,465 --> 00:16:55,285
Confie em mim, mesmo sendo

417
00:16:55,280 --> 00:16:57,680
singleton significa um único objeto. 

418
00:16:57,680 --> 00:17:00,920
Então, no caso de eles perguntarem o que é um padrão singleton? 

419
00:17:00,920 --> 00:17:03,020
De qualquer forma, o ponto da câmera virtual segue,

420
00:17:03,020 --> 00:17:05,570
seguimos o único jogador que encontramos e

421
00:17:05,570 --> 00:17:08,540
em
 seguida, uma atualização caso isso seja para,

422
00:17:08,540 --> 00:17:11,540
digamos que o jogador que não

423
00:17:11,540 --> 00:17:15,110
destruído geralmente carrega antes de todos os outros objetos. 

424
00:17:15,110 --> 00:17:17,690
Então, no caso de começarmos o jogo,

425
00:17:17,690 --> 00:17:20,870
não
 encontramos o jogador imediatamente que ele está desaparecido. 

426
00:17:20,870 --> 00:17:22,730
Não podemos resolvê-lo da seguinte forma. 

427
00:17:22,730 --> 00:17:25,640
Siga, em seguida, uma atualização que continuaremos em loop

428
00:17:25,640 --> 00:17:27,140
até descobrirmos que o jogador verificaria

429
00:17:27,140 --> 00:17:28,880
se temos uma câmera virtual. 

430
00:17:28,880 --> 00:17:30,380
Este é apenas um passo extra. 

431
00:17:30,380 --> 00:17:32,150
Eu não acho que vamos precisar disso mesmo,
 nem

432
00:17:32,150 --> 00:17:33,950
mesmo uma vez porque estaremos

433
00:17:33,950 --> 00:17:36,680
anexando o script à câmera virtual,

434
00:17:36,680 --> 00:17:40,510
mas apenas no caso de não haver uma câmera virtual,

435
00:17:40,505 --> 00:17:42,475
verificaremos a condição e depois nós

436
00:17:42,470 --> 00:17:44,590
irá definir o ponto da câmera virtual seguir,

437
00:17:44,585 --> 00:17:46,435
salve-o de volta aqui. 

438
00:17:46,430 --> 00:17:47,620
Vamos em frente. 

439
00:17:47,615 --> 00:17:51,805
E então as câmeras,

440
00:17:51,800 --> 00:17:53,510
vamos ver, agitar e
 agitar

441
00:17:53,510 --> 00:17:57,250
o controlador da câmera através da câmera virtual. 

442
00:17:57,245 --> 00:18:00,705
E por algum motivo posso ver que isso não é um pré-fabricado. 

443
00:18:00,709 --> 00:18:03,049
É isso no pré-fabricado isso. 

444
00:18:03,050 --> 00:18:07,010
Então, quando a Universidade Prefabs,

445
00:18:07,010 --> 00:18:11,510
enquanto as armas você é um pobre para nivelar objetos aqui. 

446
00:18:11,510 --> 00:18:12,290
Não. 

447
00:18:12,290 --> 00:18:14,960
Certo. Então eu posso ver que não prefiro

448
00:18:14,960 --> 00:18:17,750
as câmeras por algum motivo que pensei ter feito. 

449
00:18:17,750 --> 00:18:21,490
Mas, de qualquer forma, isso é apenas prefere os acampamentos e aqui. 

450
00:18:21,485 --> 00:18:23,215
E você pode ver que

451
00:18:23,210 --> 00:18:25,980
a câmera virtual terá o controlador do acampamento. 

452
00:18:25,984 --> 00:18:27,114
Então, salve isso. 

453
00:18:27,110 --> 00:18:28,870
Deixe-me ir para o outro nível. 

454
00:18:28,865 --> 00:18:30,835
Não vou fazer isso em todos os níveis. 

455
00:18:30,830 --> 00:18:33,640
Eu só vou fazer isso com aqueles que estamos testando,

456
00:18:33,635 --> 00:18:36,775
consertei tudo e provavelmente será o mesmo. 

457
00:18:36,770 --> 00:18:39,770
Então, câmeras e aqui eu vou excluí-lo. 

458
00:18:39,770 --> 00:18:43,400
E vou voltar aos prefabs e me
 certificar

459
00:18:43,400 --> 00:18:47,270
de adicionar as câmeras aqui na hierarquia. 

460
00:18:47,270 --> 00:18:48,430
Salve tudo isso. 

461
00:18:48,425 --> 00:18:50,005
Abra isso, ok, parece,

462
00:18:50,000 --> 00:18:53,000
tudo parece ser bom. De volta às cenas. 

463
00:18:53,000 --> 00:18:58,450
De volta ao crânio é salvar isso, executar o jogo. 

464
00:18:58,445 --> 00:19:01,375
Vá para a porta, abra-a,

465
00:19:01,370 --> 00:19:03,050
vá para o próximo nível. 

466
00:19:03,050 --> 00:19:05,650
E devemos ver, lá vamos nós. 

467
00:19:05,645 --> 00:19:07,555
Então, novamente encontramos o jogador e agora

468
00:19:07,550 --> 00:19:10,540
as câmeras estão funcionando perfeitamente bem. 

469
00:19:10,535 --> 00:19:12,655
Ótimo. Então, agora com isso fora do caminho,

470
00:19:12,650 --> 00:19:14,030
se olharmos para trás no console,

471
00:19:14,030 --> 00:19:16,220
ainda
 temos o problema de

472
00:19:16,220 --> 00:19:18,950
o jogador ser perseguido, não ser divertido. 

473
00:19:18,950 --> 00:19:20,660
E como vejo que

474
00:19:20,660 --> 00:19:23,410
esse vídeo já está acontecendo o suficiente,

475
00:19:23,405 --> 00:19:25,765
vou postular aqui e depois continuaremos

476
00:19:25,760 --> 00:19:28,180
no próximo vídeo. 

477
00:19:28,175 --> 00:19:29,385
Então, espero que você tenha gostado. 

478
00:19:29,380 --> 00:19:31,970
Este é um assunto um pouco chato, eu sei,

479
00:19:31,970 --> 00:19:34,790
mas pelo menos você aprendeu o que é um padrão singleton. 

480
00:19:34,790 --> 00:19:36,920
Você entendeu por que a câmera não estava indo. 

481
00:19:36,920 --> 00:19:38,630
Estou tentando explicar o máximo
 possível,

482
00:19:38,630 --> 00:19:40,790
mesmo que seja muito chato. 

483
00:19:40,790 --> 00:19:44,180
Mas eu quero que você entenda como tudo está se sentindo. 

484
00:19:44,180 --> 00:19:45,920
No começo, eu também estava confuso,

485
00:19:45,920 --> 00:19:47,900
mas ao passar por tudo,

486
00:19:47,900 --> 00:19:49,670
entendi as coisas e

487
00:19:49,670 --> 00:19:51,320
queria passá-las para você. 

488
00:19:51,320 --> 00:19:52,940
Então, com isso fora do caminho,

489
00:19:52,940 --> 00:19:56,610
obrigado por assistir e eu te vejo no próximo. 

