Planeo crear mi propio sistema kill cam para un conjunto de herramientas sandbox. Sin embargo, después de pensar en la mecánica de la cámara de matar, estoy bastante perdido. Estoy tratando de recrear los que se ven comúnmente en los juegos de Call of Duty que muestran, desde el punto de vista del asesino, la escena de la muerte real.
Mis pensamientos:
-No puedo guardar memoria cuando la gente mata a otros porque no sabría cuándo comenzar el 'proceso de grabación'. Hay un camino para que yo pueda determinar con precisión cuándo alguien está "a punto" de matar a alguien.
-Mi única idea real hasta ahora es tener un duplicado completo de todo lo que está cargado a un lado copiando todo el movimiento del mundo original pero con un retraso de 10 segundos. De esa manera, todas las cámaras de matar durarían 10 segundos y la cámara de las personas sería trasladada al segundo mundo de su asesino.
Mis preguntas:
¿Existe ya una forma aceptada de hacer esto? ¿Alguien tiene alguna buena idea para algo como esto? Gracias si puedes!
No tengo idea de cómo se implementa esto normalmente, pero puede hacer que cada viñeta guarde un clip desde el momento en que se dispara, hasta que golpea un objetivo. Si el disparo se realiza solo con un hitcan, puede calcular si se generará o no el video de la cámara de interrupción en el mismo ciclo cuando realice el hitcan.
fuente
Puede guardar la transformación de un objeto cada dos segundos más o menos. Haga esto para todos los objetos dinámicos aplicables. Alterne el guardado de modo que en cada cuadro solo esté guardando un par de matrices. ahorre tan atrás en el tiempo como desee.
Durante la reproducción, en realidad usa estas transformaciones en un motor de renderizado para animar a través de una escena, interpolando entre transformaciones por tiempo para cada fotograma según sea necesario.
No es un duplicado exacto, pero está muy cerca y le permite darle al jugador la opción de controlar la cámara durante la reproducción para que pueda elegir desde dónde ver la escena.
fuente
puedes implementar alguna función de repetición en tu juego. usando la función de repetición, killcam es solo una repetición que se juega desde un tiempo de juego específico y desde el punto de vista de algún jugador. más tarde, puede guardar las repeticiones y dejar que otros revisen los juegos una vez que hayan terminado.
También su idea de ejecutar un mismo juego con entradas de 10 segundos de retraso es un buen enfoque si su juego no consume una gran potencia de cálculo.
fuente
Qué tal esto...
Solo registre cuando existe la posibilidad de matar.
Piénselo desde la perspectiva de un AIM-BOT. Solo apuntará / disparará cuando matar sea una posibilidad. Por lo tanto, solo debe registrar cuando un enemigo está dentro del alcance matable / visible.
fuente
Establezca un radio alrededor del jugador y si otro jugador ingresa al radio, entonces comienza la grabación de pantalla para ambas personas. Luego espera para ver si alguien es asesinado. Si es así, encuentra al asesino y toma su grabación y rebobina la cantidad de tiempo transcurrido desde la muerte más la duración que desea que tenga el video y rebobine y reproduzca para el que fue asesinado. Si no se mata a nadie y nadie más está en el radio alrededor del personaje, elimine o detenga la grabación. Si el asesino se acerca a una mira telescópica, eche un rayo hacia donde apunta y cree otro radio de disparo. Si hay alguien dentro, entonces graba la pantalla de quien está en el radio donde apunta el personaje objetivo y del personaje objetivo. Si alguien muere por el personaje que apunta, entonces te tomas el tiempo transcurrido desde la muerte más la longitud que deseas que tenga la cámara de matar y rebobinas y juegas esto para el que fue asesinado. Si se alejan, detén la grabación. Este es un concepto, así que no lo he probado.
fuente