﻿1
00:00:04,500 --> 00:00:05,120
‫Olá e bem-vindo.

2
00:00:05,130 --> 00:00:11,160
‫Nesta palestra, vamos arquitetar uma arma de tal forma que, quando apertarmos o botão do mouse

3
00:00:11,160 --> 00:00:14,490
‫ou o gatilho, receberemos uma mensagem de log.

4
00:00:14,490 --> 00:00:19,530
‫E esta mensagem de log é o primeiro passo para fazer com que muitas outras coisas funcionem na parte de trás dessa

5
00:00:19,530 --> 00:00:20,310
‫arquitetura de arma.

6
00:00:20,310 --> 00:00:22,110
‫Vamos mergulhar e ver como é feito.

7
00:00:23,120 --> 00:00:26,700
‫Então, queremos que essa arma seja capaz de atirar.

8
00:00:26,720 --> 00:00:28,250
‫E esse é o cerne disso.

9
00:00:28,250 --> 00:00:32,960
‫Por que estamos escolhendo ter a arma como o núcleo de nossa arquitetura de tiro?

10
00:00:32,990 --> 00:00:38,750
‫Bem, como já mencionei um pouco, queremos ser capazes de suportar diferentes tipos de métodos de

11
00:00:38,750 --> 00:00:39,470
‫filmagem.

12
00:00:39,490 --> 00:00:42,350
‫Agora, quais são os tipos de métodos de filmagem que normalmente podemos ter?

13
00:00:42,470 --> 00:00:48,140
‫Isso é fogo direto, que geralmente usa traçado de raios e linha direta de visão para verificar se uma vítima

14
00:00:48,140 --> 00:00:49,610
‫foi atingida ou não.

15
00:00:49,730 --> 00:00:52,550
‫Então ele iria e diria, ok, eu posso ver aquele inimigo.

16
00:00:52,580 --> 00:00:55,580
‫É que a linha de visão da arma para o inimigo é clara.

17
00:00:55,580 --> 00:00:56,340
‫Isso o atinge.

18
00:00:56,360 --> 00:00:57,930
‫Então temos que fazer-lhe mal.

19
00:00:57,950 --> 00:01:01,340
‫Caso contrário, se eu errei e não acertei o inimigo, não causa dano.

20
00:01:01,370 --> 00:01:02,750
‫Essa é uma maneira muito fácil.

21
00:01:02,750 --> 00:01:05,600
‫Ele realmente não replica a física de uma bala, mas não há necessidade.

22
00:01:05,630 --> 00:01:09,920
‫Então, por razões de desempenho, não temos um lançador de foguetes ou algo assim, geralmente é

23
00:01:09,920 --> 00:01:11,000
‫um projétil muito lento.

24
00:01:11,000 --> 00:01:16,340
‫Queremos ver o efeito desse projétil se movendo no ar e o atraso de tempo pode ser importante.

25
00:01:16,730 --> 00:01:21,760
‫Nesse caso, podemos gerar esse projétil e ver se o projétil atinge em 5

26
00:01:21,770 --> 00:01:28,950
‫segundos, ou podemos seguir uma rota diferente com lançamento de balas e rifles e rifles de precisão em longas distâncias.

27
00:01:29,030 --> 00:01:32,960
‫Então tudo isso pode mudar dependendo da implementação da nossa arma.

28
00:01:32,960 --> 00:01:36,130
‫Agora vamos implementar uma arma durante esta seção.

29
00:01:36,170 --> 00:01:38,840
‫Vai ser um rifle, um tipo de arma de tiro direto.

30
00:01:38,840 --> 00:01:45,500
‫Mas para deixar essa arquitetura aberta para você estender, vamos tornar a arma responsável

31
00:01:45,530 --> 00:01:46,490
‫pelo tiro.

32
00:01:46,520 --> 00:01:52,010
‫Então isso significa que temos que ir em frente e introduzir alguma arquitetura de tiro em nossa arma.

33
00:01:52,010 --> 00:01:53,010
‫Então temos um tiro.

34
00:01:53,030 --> 00:02:00,650
‫H Queremos criar uma função pública para isso que nos permita essencialmente puxar o gatilho

35
00:02:00,650 --> 00:02:02,690
‫da arma do atirador.

36
00:02:02,690 --> 00:02:03,000
‫Correto.

37
00:02:03,020 --> 00:02:05,220
‫Então, de onde quer que estejamos vinculando a entrada.

38
00:02:05,240 --> 00:02:12,360
‫No caso do inimigo, por exemplo, vamos puxar o gatilho do ar.

39
00:02:13,010 --> 00:02:15,550
‫Então vamos em frente e criar um vazio.

40
00:02:15,560 --> 00:02:20,960
‫Ele não precisa ter um método de gatilho pull do tipo de retorno e não precisa levar nada.

41
00:02:20,970 --> 00:02:24,500
‫Tudo o que precisamos saber é que queremos puxar o gatilho neste quadro.

42
00:02:24,800 --> 00:02:27,170
‫Então ter isso é suficiente.

43
00:02:27,290 --> 00:02:33,740
‫Agora vou seguir em frente e criar a rotação com control shift P e criar a implementação.

44
00:02:34,730 --> 00:02:40,160
‫E então aqui, tudo o que vou fazer é colocar um log YUI

45
00:02:40,160 --> 00:02:48,550
‫e vou fazer um aviso para se destacar e mudar a mensagem para Você foi baleado assim e isso é ótimo .

46
00:02:48,560 --> 00:02:52,880
‫Então é isso que vamos chamar em nosso personagem, DOT CBP.

47
00:02:54,020 --> 00:02:57,440
‫Então, isso vai ser um desafio para você, é mais alguma ligação de entrada?

48
00:02:57,440 --> 00:02:58,730
‫Fizemos muitas ligações de entrada aqui.

49
00:02:58,730 --> 00:03:01,670
‫Você tem muitos exemplos de ligação de entrada.

50
00:03:01,910 --> 00:03:02,960
‫Vá em frente e faça isso.

51
00:03:02,960 --> 00:03:08,480
‫Para conectar uma ação de filmagem, você terá que criar uma nova ação nas configurações do projeto para

52
00:03:08,510 --> 00:03:09,020
‫filmagem.

53
00:03:09,380 --> 00:03:16,850
‫Vincule isso à sua chave, ao seu gatilho direito, ao que você deseja vincular e, em seguida, vincule-o no método do componente de entrada

54
00:03:17,210 --> 00:03:20,120
‫do jogador de configuração de personagem para fazer isso.

55
00:03:20,480 --> 00:03:26,240
‫E depois de vincular o personagem, você deve poder chamar o gatilho de

56
00:03:26,240 --> 00:03:30,290
‫puxar na função que você criou no personagem.

57
00:03:30,290 --> 00:03:36,320
‫Lembre-se de colocar uma função no personagem para configurar a ligação, em vez de tentar vincular

58
00:03:36,320 --> 00:03:38,300
‫diretamente a essa arma.

59
00:03:38,300 --> 00:03:40,250
‫Ligar diretamente à arma não vai funcionar.

60
00:03:40,250 --> 00:03:42,710
‫Você precisa colocar um pequeno intermediário de função lá.

61
00:03:43,460 --> 00:03:48,860
‫Então, pause o vídeo e eu lhe darei uma pequena dica ou um pequeno começo se você estiver

62
00:03:48,860 --> 00:03:52,910
‫lutando com a última parte do desafio de criar a função intermediária.

63
00:03:53,690 --> 00:03:55,220
‫Ok, então aqui vem a dica.

64
00:03:55,220 --> 00:03:56,630
‫Se você não quiser as dicas, faça uma pausa agora.

65
00:03:56,930 --> 00:04:03,740
‫Mas a dica é que vamos fazer algo assim, que é ter uma nova função

66
00:04:03,740 --> 00:04:08,930
‫privada chamada void, disparar e criar a implementação em C++.

67
00:04:09,200 --> 00:04:14,600
‫E será aqui que chamamos o método próprio das armas.

68
00:04:14,600 --> 00:04:18,290
‫Então as armas puxam o gatilho, vamos fazer arma.

69
00:04:19,370 --> 00:04:24,890
‫E então puxe o gatilho de dentro da filmagem.

70
00:04:24,890 --> 00:04:26,180
‫E é isso que você precisa vincular.

71
00:04:27,290 --> 00:04:34,190
‫Ok, então puxe o vídeo novamente, se é onde você quer levar as coisas e então vamos configurar as

72
00:04:34,190 --> 00:04:34,900
‫ações.

73
00:04:34,910 --> 00:04:35,240
‫OK.

74
00:04:35,240 --> 00:04:37,990
‫Então, vamos para as configurações do nosso projeto.

75
00:04:38,000 --> 00:04:44,900
‫Então, configurações, configurações do projeto e queremos encaixar isso e ir para nossa entrada e queremos adicionar uma nova

76
00:04:44,900 --> 00:04:47,240
‫ação e vamos chamá-la de filmagem.

77
00:04:48,300 --> 00:05:00,540
‫E então vamos vincular isso ao botão esquerdo do mouse e ao gatilho direito, não ao eixo do gatilho direito.

78
00:05:01,140 --> 00:05:02,010
‫O certo.

79
00:05:02,970 --> 00:05:03,720
‫Basta acionar.

80
00:05:04,200 --> 00:05:06,090
‫Eu pensei que era isso que eu tinha selecionado, mas eu não tinha.

81
00:05:06,750 --> 00:05:09,420
‫Portanto, vincula-se ao controlador e ao mouse.

82
00:05:09,930 --> 00:05:15,150
‫E eu vou ligar o eixo e atirar em um personagem CP.

83
00:05:15,330 --> 00:05:17,490
‫Então copie este eixo de ligação para pular.

84
00:05:17,880 --> 00:05:18,720
‫Quero dizer, ação.

85
00:05:18,720 --> 00:05:20,880
‫Claro, eu sempre vou misturar esses dois.

86
00:05:21,450 --> 00:05:24,810
‫Temos uma mudança de chamada para o eixo de tiro aqui.

87
00:05:24,870 --> 00:05:31,980
‫O pressionado é o que queremos e, em vez de vincular a pular, vamos vincular a um tiro de

88
00:05:31,980 --> 00:05:32,520
‫personagem.

89
00:05:33,550 --> 00:05:34,330
‫Igual a.

90
00:05:34,570 --> 00:05:36,010
‫E vamos em frente e construir.

91
00:05:36,790 --> 00:05:37,070
‫OK.

92
00:05:37,090 --> 00:05:38,740
‫Parece que isso deu certo.

93
00:05:38,890 --> 00:05:40,660
‫Vamos fechar isso.

94
00:05:40,780 --> 00:05:42,460
‫E veja se funciona.

95
00:05:42,580 --> 00:05:48,460
‫Então vamos sair do jogo e clicar em play novamente e dar uma olhada no log de saída.

96
00:05:48,460 --> 00:05:50,320
‫Jogar crucialmente.

97
00:05:50,620 --> 00:05:51,120
‫Sim.

98
00:05:51,220 --> 00:05:54,310
‫Então, se eu apertar o botão do mouse, ele está funcionando.

99
00:05:54,640 --> 00:05:58,300
‫Vamos ver se a mesma coisa acontece se eu usar meu gatilho direito.

100
00:05:58,840 --> 00:05:59,130
‫Sim.

101
00:05:59,140 --> 00:05:59,410
‫Direita.

102
00:05:59,410 --> 00:06:01,510
‫O gatilho também está funcionando para disparar.

103
00:06:01,810 --> 00:06:07,480
‫Então, obviamente, uma mensagem de log não é a melhor maneira de deixar seu jogador saber que algo está acontecendo no

104
00:06:07,480 --> 00:06:07,850
‫jogo.

105
00:06:07,870 --> 00:06:11,860
‫Então, na próxima aula, veremos como adicionar efeitos de partículas para fazer exatamente isso.

106
00:06:12,250 --> 00:06:12,940
‫Eu te vejo lá.

