Eu pretendo criar meu próprio sistema de kill cam para um conjunto de ferramentas de sandbox. Depois de pensar na mecânica da câmera de matar, no entanto, estou bastante perdido. Estou tentando recriar os comumente vistos em jogos de deveres que mostram, do ponto de vista do assassino, a cena real do assassinato.
Meus pensamentos:
-Eu não consigo ficar na memória quando as pessoas matam outras porque eu não sabia quando começar o 'processo de gravação'. Existe uma maneira de eu determinar com precisão quando alguém está prestes a matar alguém.
-A minha única idéia real até agora é ter uma duplicata completa de tudo carregado para o lado, copiando todo o movimento do mundo original, mas com um atraso de 10 segundos. Dessa forma, todas as câmeras matariam 10 segundos e a câmera das pessoas seria movida para o segundo mundo do assassino.
Minhas perguntas:
Já existe uma maneira aceita de fazer isso? Alguém tem boas idéias para algo assim? Obrigado se puder!
Não faço ideia de como isso normalmente é implementado, mas você pode fazer com que cada marcador salve um clipe desde o momento em que é disparado até quando atinge um alvo. Se a filmagem for feita apenas com um hitcan, você poderá calcular se deseja ou não gerar a filmagem de kill cam no mesmo ciclo ao executar o hitscan.
fonte
Você pode salvar a transformação de um objeto a cada par de segundos. Faça isso para todos os objetos dinâmicos aplicáveis. Escalonar o salvamento, de modo que cada quadro você esteja salvando apenas algumas matrizes. salve o tempo que quiser.
Durante a reprodução, você realmente usa essas transformações em um mecanismo de renderização para animar uma cena, interpolando entre transformações por tempo para cada quadro, conforme necessário.
Não é uma cópia exata, mas muito muito próxima e permite que você dê ao jogador a opção de controle da câmera durante a reprodução, para que ele possa escolher de onde visualizar a cena.
fonte
você pode implementar algum recurso de repetição no seu jogo. Usando a função de repetição, killcam é apenas uma repetição sendo reproduzida a partir de um horário específico do jogo e do ponto de vista de algum jogador. depois, você pode salvar replays e permitir que outras pessoas analisem os jogos depois que terminarem.
Também sua idéia de executar um mesmo jogo com entradas com atraso de 10 segundos é uma boa abordagem se o seu jogo não consumir alto poder computacional.
fonte
Que tal agora...
Registre apenas quando houver a possibilidade de matar.
Pense nisso da perspectiva de um AIM-BOT. Ele só mirará / disparará quando matar for uma possibilidade. Portanto, você só deve registrar quando um inimigo estiver dentro do alcance visível / destrutível.
fonte
Defina um raio ao redor do player e, se outro jogador entrar no raio, ele iniciará a gravação de tela para as duas pessoas. Você então espera para ver se alguém é morto. Nesse caso, você encontra o assassino, pega a gravação e retrocede a quantidade de tempo decorrido desde o assassinato, mais a duração que você deseja que o vídeo seja, retroceda e reproduza-o para quem foi morto. Se ninguém morrer e mais ninguém estiver no raio ao redor do personagem, apague ou pare a gravação. Se o assassino for ampliado em uma mira, faça um raio para onde ele está mirando e crie outro raio de disparo. Se alguém estiver nele, ele registra a tela de quem estiver no raio em que o personagem que está mirando está mirando e do personagem que está mirando. Se alguém morrer de acordo com o objetivo do personagem, você gasta o tempo decorrido desde a matança, mais o comprimento que você deseja que a câmera de matança seja, e você retrocede e joga isso para quem foi morto. Se diminuir o zoom, pare a gravação. Este é um conceito, por isso não tentei.
fonte