Lógica y expresiones de uso común en el desarrollo de juegos
Nodos lógicos (posición, dirección, datos de estado, etc.) Subnodos de animación (espera, caminata, ataque, habilidades, animación de muerte, reproducción)
La posición, el estado y otros datos del personaje se guardan en nodos lógicos. Debajo del nodo lógico, hay un nodo secundario responsable de reproducir la animación y la "actuación" del personaje.
¿Existe aquí un grupo de intercambio y aprendizaje sobre desarrollo de juegos? Podemos aprender y comunicarnos juntos.
Ejemplo 2: representación de suma lógica en sincronización de fotogramas
La sincronización de fotogramas es un método de sincronización muy popular actualmente. Por ejemplo, Honor of Kings utiliza sincronización de cuadros. La separación de la lógica y la expresión de sincronización de cuadros significa que el cliente recibe los eventos de cuadros enviados por el servidor y controla el cálculo de datos de todo el juego en función de este evento de cuadros. Este cálculo de datos se denomina cuadro lógico.
En la sincronización de cuadros, todos los cálculos de datos y las iteraciones del proceso del juego se controlan y calculan en función de cuadros lógicos. La velocidad de fotogramas de los fotogramas lógicos es generalmente de 15 a 20 fps.
La animación local debe ser fluida y basarse en 60 FPS, de modo que podamos decidir lógicamente qué animación reproducir y reproducir la animación localmente en función de la velocidad de fotogramas del cliente.
La sincronización y el cálculo de datos se realizan dentro del marco lógico (15~20 FPS), y el desplazamiento de la reproducción de la animación local se mueve dentro del marco de presentación local (60 FPS).
Ejemplo 3: modo ECS:
El modo ECS es una separación típica de datos y representación. Nuestra entidad se compone de componentes de datos uno tras otro, utilizando System.
Los datos en la iteración, la capa de presentación son independientes como un ComponentData separado.
Ejemplo 4: hilo principal del motor del juego e hilo de renderizado
El hilo principal del juego es responsable de iterar la lógica del juego y el hilo de renderizado es responsable de enviar los datos. para ser dibujado en la GPU para dibujar después de la iteración. El hilo lógico está separado del hilo de representación.