﻿1
00:00:04,500 --> 00:00:05,120
‫Ciao e Benvenuto.

2
00:00:05,130 --> 00:00:11,160
‫In questa lezione, progetteremo una pistola in modo tale che quando premiamo il pulsante del mouse

3
00:00:11,160 --> 00:00:14,490
‫o il grilletto, riceviamo un messaggio di registro.

4
00:00:14,490 --> 00:00:19,530
‫E questo messaggio di registro è il primo passo per far scappare molte altre cose dal retro di questa architettura

5
00:00:19,530 --> 00:00:20,310
‫della pistola.

6
00:00:20,310 --> 00:00:22,110
‫Entriamo e vediamo come è fatto.

7
00:00:23,120 --> 00:00:26,700
‫Quindi vogliamo che questa pistola alla fine sia in grado di sparare.

8
00:00:26,720 --> 00:00:28,250
‫E questo è il nocciolo della questione.

9
00:00:28,250 --> 00:00:32,960
‫Perché abbiamo scelto di avere la pistola come fulcro della nostra architettura di tiro?

10
00:00:32,990 --> 00:00:38,750
‫Bene, come ho già accennato un po', vogliamo essere in grado di supportare diversi tipi di metodi

11
00:00:38,750 --> 00:00:39,470
‫di ripresa.

12
00:00:39,490 --> 00:00:42,350
‫Ora, quali sono i tipi di metodi di ripresa che possiamo avere in genere?

13
00:00:42,470 --> 00:00:48,140
‫Questo è il fuoco diretto, che spesso utilizza il ray tracing e la linea di vista diretta per accertare se una vittima

14
00:00:48,140 --> 00:00:49,610
‫è stata colpita o meno.

15
00:00:49,730 --> 00:00:52,550
‫Quindi andrebbe a dire, ok, posso vedere quel nemico.

16
00:00:52,580 --> 00:00:55,580
‫È che la linea di visuale dalla pistola al nemico è chiara.

17
00:00:55,580 --> 00:00:56,340
‫Lo colpisce.

18
00:00:56,360 --> 00:00:57,930
‫Quindi dobbiamo fargli del male.

19
00:00:57,950 --> 00:01:01,340
‫Altrimenti, se ho mancato e non ho colpito il nemico, non fa danno.

20
00:01:01,370 --> 00:01:02,750
‫Questo è un modo molto semplice.

21
00:01:02,750 --> 00:01:05,600
‫In realtà non replica la fisica di un proiettile, ma non ce n'è bisogno.

22
00:01:05,630 --> 00:01:09,920
‫Quindi, per motivi di prestazioni, ora non lo facciamo con un lanciarazzi o qualcosa del genere, è spesso

23
00:01:09,920 --> 00:01:11,000
‫un proiettile molto lento.

24
00:01:11,000 --> 00:01:16,340
‫Vogliamo vedere l'effetto di quel proiettile che si muove nell'aria e il ritardo può essere importante.

25
00:01:16,730 --> 00:01:21,760
‫In tal caso potremmo generare quel proiettile e vedere se il proiettile colpisce in

26
00:01:21,770 --> 00:01:28,950
‫5 secondi, oppure potremmo seguire un percorso diverso con la caduta di proiettili e fucili e fucili da cecchino su lunghe distanze.

27
00:01:29,030 --> 00:01:32,960
‫Quindi tutto questo potrebbe cambiare a seconda dell'implementazione della nostra pistola.

28
00:01:32,960 --> 00:01:36,130
‫Ora implementeremo una pistola durante questa sezione.

29
00:01:36,170 --> 00:01:38,840
‫Sarà un fucile, un tipo di pistola a tiro diretto.

30
00:01:38,840 --> 00:01:45,500
‫Ma per lasciare che l'architettura possa essere estesa, renderemo la pistola responsabile per le

31
00:01:45,530 --> 00:01:46,490
‫riprese.

32
00:01:46,520 --> 00:01:52,010
‫Quindi questo significa che dobbiamo andare avanti e introdurre un'architettura di tiro nella nostra pistola.

33
00:01:52,010 --> 00:01:53,010
‫Quindi abbiamo un colpo di pistola.

34
00:01:53,030 --> 00:02:00,650
‫H Vogliamo creare una funzione pubblica per questo che ci permetterà essenzialmente di premere il grilletto

35
00:02:00,650 --> 00:02:02,690
‫della pistola dal tiratore.

36
00:02:02,690 --> 00:02:03,000
‫Corretta.

37
00:02:03,020 --> 00:02:05,220
‫Quindi da qualsiasi luogo stiamo vincolando l'input.

38
00:02:05,240 --> 00:02:12,360
‫Nel caso del nemico, ad esempio, premeremo quel grilletto dall'aria.

39
00:02:13,010 --> 00:02:15,550
‫Quindi andiamo avanti e creiamo un vuoto.

40
00:02:15,560 --> 00:02:20,960
‫Non è necessario che disponga di un metodo di attivazione del tipo di ritorno e non è necessario che prenda nulla.

41
00:02:20,970 --> 00:02:24,500
‫Tutto quello che dobbiamo sapere è che vogliamo premere il grilletto in questo frame.

42
00:02:24,800 --> 00:02:27,170
‫Quindi averlo è sufficiente.

43
00:02:27,290 --> 00:02:33,740
‫Ora andrò avanti e creerò la rotazione con il control shift P e creerò l'implementazione.

44
00:02:34,730 --> 00:02:40,160
‫E poi qui dentro, tutto quello che farò è inserire un registro YUI

45
00:02:40,160 --> 00:02:48,550
‫e farò solo un avvertimento per distinguermi e cambiare il messaggio in Sei stato colpito in quel modo ed è fantastico .

46
00:02:48,560 --> 00:02:52,880
‫Quindi questo è ciò che chiameremo nel nostro personaggio, DOT CBP.

47
00:02:54,020 --> 00:02:57,440
‫Quindi questa sarà una sfida per te, è un po' più vincolante di input?

48
00:02:57,440 --> 00:02:58,730
‫Abbiamo eseguito molti collegamenti di input qui.

49
00:02:58,730 --> 00:03:01,670
‫Hai molti esempi di associazione di input.

50
00:03:01,910 --> 00:03:02,960
‫Vai avanti e fallo.

51
00:03:02,960 --> 00:03:08,480
‫Per collegare un'azione di ripresa, dovrai creare una nuova azione nelle impostazioni del progetto per le

52
00:03:08,510 --> 00:03:09,020
‫riprese.

53
00:03:09,380 --> 00:03:16,850
‫Associalo alla tua chiave, al tuo grilletto destro, a qualunque cosa tu voglia associarlo, quindi vincolalo nel metodo del componente di input

54
00:03:17,210 --> 00:03:20,120
‫del giocatore di configurazione del personaggio per farlo.

55
00:03:20,480 --> 00:03:26,240
‫E poi dopo aver vincolato il personaggio, dovresti essere in grado di chiamare il grilletto

56
00:03:26,240 --> 00:03:30,290
‫da con nella funzione che hai creato sul personaggio.

57
00:03:30,290 --> 00:03:36,320
‫Ricorda di inserire una funzione nel personaggio per impostare la rilegatura, piuttosto che provare a legare

58
00:03:36,320 --> 00:03:38,300
‫direttamente a quella pistola.

59
00:03:38,300 --> 00:03:40,250
‫Legarsi direttamente alla pistola non funzionerà.

60
00:03:40,250 --> 00:03:42,710
‫Devi inserire un piccolo intermediario di funzione lì.

61
00:03:43,460 --> 00:03:48,860
‫Quindi metti in pausa il video e ti darò un piccolo suggerimento o un piccolo inizio se

62
00:03:48,860 --> 00:03:52,910
‫stai lottando con l'ultima parte della sfida di creare la funzione intermedia.

63
00:03:53,690 --> 00:03:55,220
‫Ok, ecco che arriva il suggerimento.

64
00:03:55,220 --> 00:03:56,630
‫Se non vuoi i suggerimenti, fermati ora.

65
00:03:56,930 --> 00:04:03,740
‫Ma il suggerimento sarà che faremo qualcosa del genere, ovvero avere una nuova funzione

66
00:04:03,740 --> 00:04:08,930
‫privata chiamata void, sparare e creare l'implementazione in C++.

67
00:04:09,200 --> 00:04:14,600
‫E sarà qui che chiameremo il metodo delle armi.

68
00:04:14,600 --> 00:04:18,290
‫Quindi le pistole premono il grilletto, noi faremo la pistola.

69
00:04:19,370 --> 00:04:24,890
‫E poi premi il grilletto dall'interno del tiro.

70
00:04:24,890 --> 00:04:26,180
‫E questo è ciò che devi legare.

71
00:04:27,290 --> 00:04:34,190
‫Ok, quindi estrae di nuovo il video, se è lì che vuoi portare le cose e poi andiamo e prepariamo

72
00:04:34,190 --> 00:04:34,900
‫le azioni.

73
00:04:34,910 --> 00:04:35,240
‫Bene.

74
00:04:35,240 --> 00:04:37,990
‫Quindi andremo alle impostazioni del nostro progetto.

75
00:04:38,000 --> 00:04:44,900
‫Quindi le impostazioni, le impostazioni del progetto e vogliamo agganciare questo e andare al nostro input e vogliamo aggiungere una

76
00:04:44,900 --> 00:04:47,240
‫nuova azione e la chiameremo sparare.

77
00:04:48,300 --> 00:05:00,540
‫E poi lo legheremo al pulsante sinistro del mouse e al grilletto destro, non all'asse del grilletto destro.

78
00:05:01,140 --> 00:05:02,010
‫La destra.

79
00:05:02,970 --> 00:05:03,720
‫Basta innescare.

80
00:05:04,200 --> 00:05:06,090
‫Pensavo fosse quello che avevo selezionato, ma non l'avevo fatto.

81
00:05:06,750 --> 00:05:09,420
‫Quindi si lega sia al controller che al mouse.

82
00:05:09,930 --> 00:05:15,150
‫E andrò oltre, legherò l'asse e sparerò a un personaggio CP.

83
00:05:15,330 --> 00:05:17,490
‫Quindi copia questo asse di rilegatura per il salto.

84
00:05:17,880 --> 00:05:18,720
‫Voglio dire, azione.

85
00:05:18,720 --> 00:05:20,880
‫Ovviamente, confonderò sempre quei due.

86
00:05:21,450 --> 00:05:24,810
‫Abbiamo un passaggio di chiamata all'asse delle riprese qui.

87
00:05:24,870 --> 00:05:31,980
‫Il pressato è ciò che vogliamo e invece di legare per saltare, ci legheremo invece a una ripresa del

88
00:05:31,980 --> 00:05:32,520
‫personaggio.

89
00:05:33,550 --> 00:05:34,330
‫Così.

90
00:05:34,570 --> 00:05:36,010
‫E andiamo avanti e costruiamo.

91
00:05:36,790 --> 00:05:37,070
‫Bene.

92
00:05:37,090 --> 00:05:38,740
‫Sembra che ci sia riuscito.

93
00:05:38,890 --> 00:05:40,660
‫Chiudiamolo.

94
00:05:40,780 --> 00:05:42,460
‫E vedi se funziona.

95
00:05:42,580 --> 00:05:48,460
‫Quindi usciamo dal gioco e premiamo di nuovo play e diamo un'occhiata al registro di output.

96
00:05:48,460 --> 00:05:50,320
‫Gioca in modo decisivo.

97
00:05:50,620 --> 00:05:51,120
‫Sì.

98
00:05:51,220 --> 00:05:54,310
‫Quindi, se premo il pulsante del mouse, funziona.

99
00:05:54,640 --> 00:05:58,300
‫Vediamo se succede la stessa cosa se uso il mio grilletto destro.

100
00:05:58,840 --> 00:05:59,130
‫Sì.

101
00:05:59,140 --> 00:05:59,410
‫Giusto.

102
00:05:59,410 --> 00:06:01,510
‫Il grilletto funziona anche per sparare.

103
00:06:01,810 --> 00:06:07,480
‫Quindi ovviamente un messaggio di registro non è il modo migliore per far sapere al tuo giocatore che sta succedendo qualcosa nel

104
00:06:07,480 --> 00:06:07,850
‫gioco.

105
00:06:07,870 --> 00:06:11,860
‫Quindi, nella prossima lezione, esamineremo l'aggiunta di effetti particellari per fare proprio questo.

106
00:06:12,250 --> 00:06:12,940
‫Ci vediamo lì.

