﻿1
00:00:04,450 --> 00:00:05,380
‫Olá e bem-vindo.

2
00:00:05,380 --> 00:00:10,630
‫Nesta palestra, veremos como gerar um flash de focinho para que, quando acertarmos o gatilho,

3
00:00:11,410 --> 00:00:13,200
‫tenhamos um efeito de partícula.

4
00:00:13,540 --> 00:00:16,570
‫Então vamos mergulhar e ver como podemos fazer isso em C++.

5
00:00:18,240 --> 00:00:18,460
‫OK.

6
00:00:18,480 --> 00:00:22,650
‫Então, queremos que alguns efeitos de partículas surjam do cano da nossa arma.

7
00:00:23,100 --> 00:00:25,140
‫Qual será a melhor maneira de fazer isso?

8
00:00:25,170 --> 00:00:29,550
‫Antes de mais nada, damos uma olhada nos efeitos de partículas que temos disponíveis aqui.

9
00:00:29,970 --> 00:00:31,850
‫Peguei os do jogo de tiro.

10
00:00:31,860 --> 00:00:35,310
‫Obviamente, você pode usar quaisquer efeitos de partículas que desejar.

11
00:00:35,730 --> 00:00:37,770
‫Você pode encontrá-los na loja de ativos.

12
00:00:37,800 --> 00:00:40,260
‫Você pode tirá-los de projetos de exemplo como eu tenho.

13
00:00:40,740 --> 00:00:42,070
‫Não entraremos nos efeitos.

14
00:00:42,090 --> 00:00:48,060
‫Então, pacotes de ativos, atire nos efeitos do jogo e, em seguida, observe os sistemas de partículas, armas, rifle de assalto.

15
00:00:48,420 --> 00:00:53,370
‫E estou procurando pelo cano pelo menos inicialmente, e queremos este fuzil de assalto.

16
00:00:53,650 --> 00:00:59,610
‫MF E você deve ser capaz de ver que levará um pouco de tempo para obter os shaders aqui

17
00:00:59,610 --> 00:01:00,150
‫compilando.

18
00:01:00,150 --> 00:01:03,420
‫Mas é assim que essencialmente o flash do focinho se parece.

19
00:01:03,660 --> 00:01:04,800
‫Parece um flash de focinho.

20
00:01:04,800 --> 00:01:11,430
‫Então é isso que vamos usar e vamos tentar gerar isso em C++ quando tivermos o gatilho

21
00:01:11,430 --> 00:01:12,220
‫acionado.

22
00:01:12,240 --> 00:01:15,270
‫Então vamos para a nossa arma.

23
00:01:15,690 --> 00:01:20,250
‫Vou para a etapa da arma e, em vez disso, definir esta mensagem de log de ter sido baleado.

24
00:01:20,280 --> 00:01:21,570
‫Não é particularmente útil.

25
00:01:21,870 --> 00:01:24,570
‫Queremos gerar um efeito de partículas.

26
00:01:25,320 --> 00:01:28,860
‫E para fazer isso, vamos usar uma função da estática do jogo.

27
00:01:28,860 --> 00:01:33,210
‫Scott H Então vamos para a estática da jogabilidade, inicie o H e dê uma olhada aqui.

28
00:01:33,210 --> 00:01:38,910
‫Queremos gerar um emissor chamando-o de spawn e emissor.

29
00:01:39,240 --> 00:01:45,600
‫E você verá se dermos uma olhada nisso que o que está recebendo é um objeto de contexto mundial.

30
00:01:46,020 --> 00:01:51,990
‫Está pegando um sistema de partículas, que é o modelo emissor, como eles chamam, a localização, rotação, escala,

31
00:01:51,990 --> 00:01:54,090
‫blá, blá, blá, blá, blá.

32
00:01:54,510 --> 00:02:04,710
‫Ou, alternativamente, acho que você pode anexá-lo para que possamos fazer um emissor de spawn anexado, e isso tentará anexá-lo a um

33
00:02:04,710 --> 00:02:11,130
‫componente para que possamos ver que isso leva um componente de cena ao qual

34
00:02:11,160 --> 00:02:11,760
‫anexar.

35
00:02:12,030 --> 00:02:16,650
‫Agora, neste caso, acho que era isso que queríamos, depende do efeito da partícula em questão.

36
00:02:17,130 --> 00:02:23,040
‫Mas alguns efeitos de partículas continuarão gerando partículas por um período de tempo.

37
00:02:23,040 --> 00:02:26,610
‫Então você quer que essas partículas continuem saindo do cano da arma.

38
00:02:27,150 --> 00:02:30,630
‫À medida que a arma se move, eles podem estar criando alguma fumaça, algumas coisas assim.

39
00:02:30,630 --> 00:02:35,250
‫Se você mover sua arma enquanto estiver atirando, você quer que o efeito de partículas se mova com ela.

40
00:02:35,940 --> 00:02:40,050
‫Então é isso que vamos usar neste emissor de spawn anexado.

41
00:02:40,560 --> 00:02:48,120
‫E como diz aqui, vai receber o template do emissor e os componentes de cena que

42
00:02:48,120 --> 00:02:49,410
‫precisamos anexar.

43
00:02:49,440 --> 00:02:51,480
‫Então, essas são as coisas que mais vamos precisar.

44
00:02:51,810 --> 00:02:56,250
‫Ele também tem esse nome de ponto de anexação que será um soquete.

45
00:02:56,250 --> 00:03:02,460
‫Então isso é realmente muito útil para nós sabermos que podemos anexá-lo diretamente ao cano da nossa arma.

46
00:03:02,460 --> 00:03:06,330
‫Não precisamos de nenhum tipo de compensação, então vamos dar uma olhada nisso.

47
00:03:06,330 --> 00:03:11,460
‫Se eu abrir meu rifle BP, já sabemos que mencionamos que isso é uma malha esquelética.

48
00:03:11,790 --> 00:03:18,270
‫Então eu vou encontrar esse rifle no navegador de conteúdo e abrir a malha do rifle.

49
00:03:19,200 --> 00:03:24,870
‫E o que você verá à esquerda, se você tiver o painel da árvore do esqueleto visível,

50
00:03:24,870 --> 00:03:30,810
‫verá que temos as raízes do rifle, temos o carregador do rifle, que presumivelmente pode ser trocado ou algo

51
00:03:30,810 --> 00:03:33,270
‫assim, mas não estamos particularmente interessados nisso.

52
00:03:33,540 --> 00:03:35,580
‫E depois há este soquete de flash focinho.

53
00:03:35,970 --> 00:03:40,200
‫Então é aí que vamos gerar nosso flash focinho.

54
00:03:40,200 --> 00:03:45,510
‫Se não tiver ou sua malha não tiver isso, você pode adicionar um porque sempre podemos

55
00:03:45,510 --> 00:03:48,720
‫adicionar soquetes da maneira que vimos em aulas anteriores.

56
00:03:49,350 --> 00:03:51,690
‫Então vamos tentar gerar isso.

57
00:03:51,690 --> 00:03:59,520
‫A primeira coisa que vamos precisar é de uma dessas referências de sistema de partículas, e a melhor maneira de

58
00:03:59,520 --> 00:04:07,110
‫fazer isso de novo, a melhor maneira que conheço é criar uma nova propriedade e fazê-la no blueprint.

59
00:04:07,110 --> 00:04:12,360
‫Existem outras maneiras de fazer isso por referências nomeadas, mas eu realmente não gosto de usar referências de nomes.

60
00:04:12,360 --> 00:04:17,430
‫Eles quebram facilmente se você renomear as coisas, muito mais fácil fazê-lo no blueprint, onde tudo isso é tratado

61
00:04:17,430 --> 00:04:17,970
‫para você.

62
00:04:18,360 --> 00:04:20,490
‫Vamos fazer desta uma nova propriedade.

63
00:04:20,640 --> 00:04:29,580
‫Edite os padrões ou, na verdade, isso pode ser editado em qualquer lugar porque se alterássemos isso durante o jogo, o que você pode querer fazer,

64
00:04:29,610 --> 00:04:34,170
‫se estiver tentando ajustar as coisas e dizer, bem, esse fato de partícula parece

65
00:04:34,170 --> 00:04:37,260
‫melhor do que este, então isso realmente funcionaria.

66
00:04:37,260 --> 00:04:40,530
‫Na próxima vez que você atirar, um efeito de partícula diferente será criado.

67
00:04:41,190 --> 00:04:46,680
‫E então o tipo disso precisa ser um novo ponteiro de sistema de partículas,

68
00:04:46,800 --> 00:04:49,680
‫que vamos chamar de flash focinho assim.

69
00:04:50,190 --> 00:04:53,010
‫E é isso que vamos estabelecer em plantas.

70
00:04:53,010 --> 00:05:01,560
‫E vamos voltar ao nosso método pull trigger em C++ e queremos chamá-lo de função de estática do

71
00:05:01,560 --> 00:05:02,370
‫jogo.

72
00:05:03,270 --> 00:05:11,910
‫Então, sua estática de jogo, observe que não é autocompletar aqui porque eu preciso incluir para este VI o mouse sobre essa estática de jogo para

73
00:05:11,910 --> 00:05:15,690
‫que você possa ver que está nas classes de mecanismo.

74
00:05:16,050 --> 00:05:17,550
‫Jogabilidade Kismet estática.

75
00:05:17,610 --> 00:05:24,840
‫Então, tudo o que precisamos fazer é o armazenamento estático de jogabilidade kismet e devemos ter suas estáticas de jogo para

76
00:05:24,840 --> 00:05:25,650
‫completar automaticamente.

77
00:05:26,070 --> 00:05:31,280
‫E queremos gerar e isso pode ou não funcionar por causa da versão em que estou no irreal.

78
00:05:31,290 --> 00:05:37,970
‫Queremos gerar o emissor anexado e queremos este flash focinho aqui.

79
00:05:39,490 --> 00:05:46,330
‫E queremos anexá-lo a um componente de cena neste caso, queremos anexá-lo à nossa malha de armas e

80
00:05:46,330 --> 00:05:53,470
‫queremos anexá-lo ao soquete apropriado, que novamente, vou deixar você preencher se formos para a arma é o

81
00:05:53,470 --> 00:05:55,410
‫soquete do flash focinho.

82
00:05:55,420 --> 00:06:01,960
‫Vou copiá-lo diretamente de lá e colocar um ponto e vírgula no final da linha para completar.

83
00:06:02,500 --> 00:06:03,850
‫Então isso deve funcionar.

84
00:06:03,880 --> 00:06:07,810
‫Vamos passar e clicar em compilar no motor.

85
00:06:09,080 --> 00:06:15,470
‫E assim que terminar de compilar, podemos ir para o nosso BP Underscore Rifle Abra o editor de blueprint

86
00:06:15,470 --> 00:06:24,530
‫completo Eu prefiro lidar com isso e olhar para o nosso vamos ver se vamos para a raiz de fato o próprio ator ou os padrões da

87
00:06:24,530 --> 00:06:26,990
‫classe vão para o painel de detalhes.

88
00:06:26,990 --> 00:06:32,540
‫Você pode ver que temos essa propriedade de flash de boca, a nova, e precisamos encontrar um efeito de partícula

89
00:06:32,540 --> 00:06:32,990
‫aqui.

90
00:06:32,990 --> 00:06:36,230
‫Vou procurar a palavra-chave focinho.

91
00:06:36,290 --> 00:06:36,980
‫Vamos ver.

92
00:06:37,880 --> 00:06:40,430
‫Talvez o focinho não fosse o que estávamos procurando.

93
00:06:40,430 --> 00:06:42,080
‫É um fuzil de assalto MF.

94
00:06:42,080 --> 00:06:42,860
‫Eu penso que sim.

95
00:06:43,190 --> 00:06:45,350
‫Focinho pisca o que está representando.

96
00:06:45,350 --> 00:06:47,690
‫Então fuzil de assalto.

97
00:06:48,530 --> 00:06:55,760
‫MF Esse é o que queremos compilar e salvá-lo e ir para a nossa caixa de areia e apertar

98
00:06:55,760 --> 00:07:00,350
‫o play e ver se disparar realmente lança nosso flash de boca.

99
00:07:00,350 --> 00:07:03,470
‫E você pode ver que está continuamente filmando no momento.

100
00:07:03,770 --> 00:07:07,490
‫Então, queremos que seja apenas um único flash de focinho.

101
00:07:09,090 --> 00:07:12,110
‫Então acho que vou escolher um flash de focinho diferente.

102
00:07:12,120 --> 00:07:17,870
‫Acho que vou usar o do pacote de ativos Wraith, que aqui temos sniper e primário.

103
00:07:17,880 --> 00:07:22,590
‫Vou escolher a primária só porque não quero criar uma arma de fogo rápido.

104
00:07:22,860 --> 00:07:25,220
‫Essa é uma maneira um pouco diferente de fazer as coisas.

105
00:07:25,230 --> 00:07:30,510
‫Não não massivamente diferente, apenas mais do que uma vez que você está segurando, você inicia o emissor

106
00:07:30,510 --> 00:07:33,240
‫e quando termina com ele, você quer fechá-lo.

107
00:07:33,510 --> 00:07:36,360
‫Nesse caso, você só deseja iniciar esse emissor uma vez.

108
00:07:36,720 --> 00:07:40,740
‫Então vamos fazer LP novamente e ver se lá vamos nós.

109
00:07:40,740 --> 00:07:46,290
‫Agora nós atiramos, temos um único flash do focinho e tudo está ótimo.

110
00:07:46,290 --> 00:07:52,110
‫Parece estar bem preso ao final da arma, assim como eu me movo, onde quer que eu me mova, de

111
00:07:52,110 --> 00:07:55,380
‫qualquer maneira que eu enfrente, o cano pisca na direção certa.

112
00:07:55,410 --> 00:07:55,800
‫Frio.

113
00:07:55,800 --> 00:08:00,300
‫Bem, isso está realmente começando a parecer mais um jogo de tiro com efeitos de partículas.

114
00:08:00,720 --> 00:08:06,930
‫Então, na próxima palestra, vamos olhar para os primeiros passos do ray tracing, que será, na

115
00:08:06,930 --> 00:08:13,110
‫verdade, ir até o dono do nosso personagem para algumas informações que eu verei lá.

