﻿1
00:00:04,320 --> 00:00:05,160
‫Ciao e Benvenuto.

2
00:00:05,160 --> 00:00:10,110
‫In questa lezione, avremo una visuale del nostro giocatore dal nemico in modo da

3
00:00:10,110 --> 00:00:17,040
‫essere in grado, come giocatore, di nasconderci dietro gli ostacoli e non avere che i seguaci nemici non ce l'abbiano.

4
00:00:17,040 --> 00:00:22,530
‫Continua a mirare a noi finché non saltiamo fuori e siamo visibili a loro.

5
00:00:22,530 --> 00:00:25,680
‫Quindi puoi vedere qui che mi sono nascosto dietro un angolo e lui non riesce a trovarmi.

6
00:00:25,920 --> 00:00:29,130
‫Immergiamoci e vediamo come questo può essere fatto usando strumenti irreali.

7
00:00:30,500 --> 00:00:36,890
‫Quindi non è l'ideale che questo nemico che attualmente posso seguire come dietro le quinte, non importa quanto lontano andiamo, non

8
00:00:37,400 --> 00:00:40,640
‫importa quanto ci nascondiamo dietro i pilastri, ci troverà comunque.

9
00:00:40,640 --> 00:00:43,220
‫Arriverà ancora e continuerà a mirare a noi.

10
00:00:43,490 --> 00:00:47,930
‫Vogliamo correggerlo e lo faremo controllando la linea di vista dal nemico al

11
00:00:47,930 --> 00:00:48,590
‫giocatore.

12
00:00:48,650 --> 00:00:54,740
‫Ora, come molte cose qui in Unreal, c'è già una funzione per questo nel punto del controller

13
00:00:55,130 --> 00:00:57,020
‫alleato chiamata linea di vista.

14
00:00:57,350 --> 00:01:01,220
‫E se vai a cercarlo, scoprirai che c'è una funzione che restituisce un booleano.

15
00:01:01,550 --> 00:01:06,350
‫Quindi ci dice se abbiamo o meno la linea di vista e quindi ci vuole

16
00:01:06,350 --> 00:01:12,740
‫l'attore a cui dovremmo provare a controllare la linea di vista, e tiene automaticamente conto di cose come la posizione

17
00:01:12,740 --> 00:01:14,570
‫dell'occhio del pedone in questione.

18
00:01:14,990 --> 00:01:20,240
‫Tutta questa roba è già codificata in Unreal è molto interessante, quindi dovrebbe essere abbastanza semplice.

19
00:01:20,240 --> 00:01:27,170
‫Se andiamo al nostro controller aereo dot CP, quello che fondamentalmente vogliamo fare è cambiare le cose nella tecnologia in

20
00:01:27,950 --> 00:01:32,300
‫modo che prima di tutto facciamo una linea di vista se.

21
00:01:33,390 --> 00:01:42,720
‫Quindi quello che vogliamo fare, se abbiamo la linea di vista, è che vogliamo spostarci e vogliamo mettere a fuoco.

22
00:01:43,410 --> 00:01:48,930
‫Tuttavia, se non lo facciamo nell'altro, quello che vogliamo fare è una chiara focalizzazione.

23
00:01:48,930 --> 00:01:57,390
‫Ricorda, abbiamo già visto quella funzione e vogliamo fare il movimento di arresto, in pratica.

24
00:01:58,650 --> 00:02:01,200
‫E questa è un'altra funzione che esiste che non abbiamo ancora visto.

25
00:02:01,740 --> 00:02:08,160
‫Quindi quello che ho intenzione di fare qui è che posso sfidarti a implementare tutto questo da solo se ti senti

26
00:02:08,160 --> 00:02:08,730
‫sicuro.

27
00:02:09,210 --> 00:02:14,940
‫Altrimenti, questo è il pezzo più complesso che non abbiamo mai visto prima perché gli altri due, abbiamo già fatto

28
00:02:14,940 --> 00:02:18,450
‫il passaggio all'attore, abbiamo già focalizzato il nostro obiettivo, l'abbiamo già fatto.

29
00:02:18,450 --> 00:02:23,700
‫E c'è solo questo, se la linea di vista, che abbiamo appena visto, è piuttosto semplice, potresti

30
00:02:23,700 --> 00:02:24,270
‫implementarla.

31
00:02:24,510 --> 00:02:25,590
‫Ma che ne dici di quest'altro?

32
00:02:25,590 --> 00:02:29,010
‫Proviamo ad implementare la clausola just the else.

33
00:02:29,010 --> 00:02:34,770
‫Non verrà compilato perché ovviamente è necessaria una F prima e altro, ma andiamo e scriviamo semplicemente la

34
00:02:34,770 --> 00:02:35,580
‫clausola else.

35
00:02:36,270 --> 00:02:42,030
‫Quindi la prima cosa che chiarisce l'attenzione, in pratica stiamo dicendo di smettere di cercare di rintracciare il giocatore perché non puoi

36
00:02:42,030 --> 00:02:43,040
‫vedere il giocatore.

37
00:02:43,060 --> 00:02:47,550
‫Non dovresti dare l'impressione di sapere dove si trova il giocatore, anche se l'occhio ovviamente può,

38
00:02:47,550 --> 00:02:50,820
‫perché può accedere alla posizione del giocatore e così via.

39
00:02:51,090 --> 00:02:55,950
‫Ma bisogna dare l'illusione che l'unico sappia quanto può vedere.

40
00:02:56,490 --> 00:02:59,520
‫Quindi quello che faremo è chiamare a focalizzare chiaramente.

41
00:02:59,520 --> 00:03:05,460
‫E se andiamo al punto H e diamo un'occhiata alla messa a fuoco nitida, puoi vedere che prende

42
00:03:05,460 --> 00:03:07,350
‫la priorità che dobbiamo chiarire.

43
00:03:07,350 --> 00:03:13,440
‫Ora, un promemoria che queste priorità sono fondamentalmente diversi livelli di messa a fuoco.

44
00:03:13,710 --> 00:03:20,580
‫Quindi in genere i movimenti predefiniti e il gameplay del gameplay sono la cosa con la massima priorità.

45
00:03:20,910 --> 00:03:24,240
‫E ciò che impostiamo di default è la priorità di gioco.

46
00:03:24,240 --> 00:03:29,520
‫Quindi quello che vogliamo fare è chiarire la priorità del gameplay, il che significa che se

47
00:03:29,520 --> 00:03:37,020
‫ci siamo concentrati in base al movimento, ad esempio, se il nostro occhio vuole tornare al suo punto di Dio, allora quel focus

48
00:03:37,020 --> 00:03:40,830
‫non sarà cancellato e sarà tornando al suo punto guida.

49
00:03:41,490 --> 00:03:43,410
‫Quindi è così che funziona la messa a fuoco.

50
00:03:43,410 --> 00:03:45,600
‫È così che funziona il sistema di priorità lì.

51
00:03:45,600 --> 00:03:49,560
‫Quindi quello che vogliamo solo fare è copiare questa è una priorità focalizzata.

52
00:03:49,650 --> 00:03:51,180
‫Quanto tempo, quanto tempo di gioco.

53
00:03:51,600 --> 00:03:55,200
‫E questa è la priorità che vogliamo chiarire su questa linea qui.

54
00:03:55,590 --> 00:03:57,960
‫E poi l'altra cosa è fermare il movimento.

55
00:03:57,960 --> 00:04:02,850
‫Quindi vogliamo andare oltre la linea, controllare di nuovo la destra e dare un'occhiata al movimento di arresto.

56
00:04:03,270 --> 00:04:09,450
‫E qui, abbastanza sicuro, c'è una semplice funzione senza argomenti chiamata stop movimento, che ci permette

57
00:04:09,450 --> 00:04:11,430
‫di fare proprio questo.

58
00:04:12,000 --> 00:04:12,540
‫Quindi ecco qua.

59
00:04:12,840 --> 00:04:15,780
‫Questa è fondamentalmente la dichiarazione else scritta.

60
00:04:16,080 --> 00:04:23,070
‫Quindi ora ricorda solo che rimane una sfida per te implementare la parte if con la linea di vista if e spostarti e

61
00:04:23,070 --> 00:04:24,960
‫impostare la messa a fuoco.

62
00:04:25,290 --> 00:04:27,720
‫E in pratica vuoi rimuovere questo codice qui.

63
00:04:27,720 --> 00:04:32,940
‫Lo commenterò e risolverò dove vuoi che sia.

64
00:04:32,940 --> 00:04:33,810
‫Quindi metti in pausa il video.

65
00:04:33,810 --> 00:04:34,890
‫Nessuna sfida, scorri qui.

66
00:04:35,250 --> 00:04:37,920
‫Basta andare e implementare queste tre linee per te stesso.

67
00:04:39,120 --> 00:04:39,660
‫Bene.

68
00:04:39,660 --> 00:04:40,200
‫Ben tornato.

69
00:04:40,230 --> 00:04:48,240
‫Quindi iniziamo con il nostro se è così se apriamo la linea di vista due.

70
00:04:48,720 --> 00:04:54,330
‫E poi vogliamo dare una visuale all'attore, che è la pedina del giocatore a cui vogliamo avere accesso.

71
00:04:54,330 --> 00:05:00,840
‫Quindi togliamo solo il commento dal fatto che gioca una pedina qui e ha un po' rovinato una rientranza.

72
00:05:00,840 --> 00:05:01,860
‫Risolviamolo.

73
00:05:02,550 --> 00:05:10,830
‫E poi vogliamo che le nostre parentesi siano parentesi graffe qui e vogliamo passare all'attore quando in realtà possiamo semplicemente

74
00:05:10,830 --> 00:05:14,190
‫copiare e decommentare e passare all'attore qui.

75
00:05:15,260 --> 00:05:18,370
‫E vogliamo decommentarlo.

76
00:05:18,380 --> 00:05:19,040
‫Sì, ci siamo.

77
00:05:19,040 --> 00:05:20,550
‫E la messa a fuoco.

78
00:05:20,570 --> 00:05:22,280
‫Possiamo spostare anche quello.

79
00:05:22,580 --> 00:05:26,060
‫Ora, il focus, non importa se lo fai prima o dopo.

80
00:05:26,060 --> 00:05:33,080
‫Passa all'attore, perché mentre il passaggio all'attore fissa un focus, dice che è una priorità inferiore, il focus sul movimento piuttosto che

81
00:05:33,080 --> 00:05:34,580
‫il focus del gameplay.

82
00:05:34,580 --> 00:05:38,660
‫Quindi non importa in quale ordine eseguiamo queste due operazioni.

83
00:05:39,110 --> 00:05:44,360
‫E poi finalmente possiamo rimuovere questo schema di commento in cui stavamo dando al gioco una pedina in Begin Play perché non

84
00:05:44,360 --> 00:05:49,240
‫ne abbiamo più bisogno e ora è tutto in tecnologia in modo da poter rimuovere il gioco di inizio.

85
00:05:49,250 --> 00:05:53,780
‫Lo lascerò in giro nel caso in cui ne avessimo bisogno in seguito solo per risparmiarmi il fastidio di aggiungerlo di

86
00:05:53,780 --> 00:05:54,080
‫nuovo.

87
00:05:54,170 --> 00:05:58,190
‫Andiamo su Unreal e compiliamo e quando ciò è fatto, giochiamo.

88
00:05:58,200 --> 00:06:00,640
‫Quindi vediamo se possiamo nasconderci da questo atto.

89
00:06:00,650 --> 00:06:04,100
‫Cercherò di girare gli angoli ragionevolmente velocemente.

90
00:06:04,700 --> 00:06:08,780
‫Questo è un po' complicato perché possono muoversi più velocemente che puoi, ma se giri un angolo

91
00:06:08,780 --> 00:06:11,540
‫in quel modo, se ne vanno, mi ha perso di vista.

92
00:06:11,540 --> 00:06:13,070
‫Ha smesso di cercare di inseguirmi.

93
00:06:13,430 --> 00:06:16,460
‫Posso solo sbirciare dietro l'angolo e vederlo mentre mi muovo.

94
00:06:16,460 --> 00:06:19,850
‫Non sta cambiando la sua mira perché abbiamo liberato la messa a fuoco.

95
00:06:20,240 --> 00:06:22,070
‫Può sbirciare dietro l'angolo dall'altro lato.

96
00:06:22,550 --> 00:06:24,050
‫Vediamo in giro.

97
00:06:24,050 --> 00:06:25,010
‫Eccoli.

98
00:06:25,010 --> 00:06:27,560
‫Puoi vedere che sta ancora mirando all'ultima posizione in cui mi trovavo.

99
00:06:27,860 --> 00:06:33,980
‫Ma se appaio in vista, allora continua a mirare e si muove all'interno del raggio di accettazione.

100
00:06:34,460 --> 00:06:38,870
‫A proposito, voglio che il raggio di accettazione sia configurabile dal progettista.

101
00:06:38,870 --> 00:06:40,850
‫Quindi spostiamolo in una nuova proprietà.

102
00:06:41,270 --> 00:06:45,110
‫Creerò qui una sezione privata con una nuova proprietà.

103
00:06:46,320 --> 00:06:48,060
‫Che sarà una modifica ovunque.

104
00:06:48,870 --> 00:06:58,530
‫E vogliamo che sia un float chiamato raggio di accettazione e gli diamo il valore predefinito di duecento.

105
00:06:59,190 --> 00:07:04,410
‫E poi questo raggio di accettazione possiamo andare avanti e usarlo nel nostro passaggio ad attore.

106
00:07:04,650 --> 00:07:08,820
‫E se compili, questo ti darà esattamente lo stesso comportamento tranne che

107
00:07:08,820 --> 00:07:11,640
‫ora puoi cambiarlo nel progetto del controller aereo.

108
00:07:12,090 --> 00:07:13,260
‫Quindi è tutto per questa lezione.

109
00:07:13,260 --> 00:07:18,810
‫Abbiamo scoperto quella funzione della linea di vista, che ci consente di verificare se l'aria può o non può

110
00:07:18,810 --> 00:07:19,530
‫vedere qualcosa.

111
00:07:19,800 --> 00:07:25,920
‫E abbiamo implementato questa funzionalità di base per nascondere in modo che l'aria non ci segua quando non può vederci.

112
00:07:26,340 --> 00:07:26,790
‫Prossima lezione.

113
00:07:26,790 --> 00:07:33,030
‫Faremo un salto di qualità da questo programma personalizzato e useremo il comportamento.

114
00:07:33,030 --> 00:07:38,790
‫Tree è uno strumento davvero potente in Unreal per rendere la nostra aria molto più fresca.

