Me gustaría saber cómo funciona el sistema de animación en Minecraft. Tengo la sensación de que todas las turbas están codificadas en el juego. ¿Notch realmente se sentó allí y creó las matrices para todos los huesos de animación a mano?
Me gusta recrear juegos por diversión, así que me gustaría saber cómo hizo esto. Además, si realmente los codifica ... ¿hay una mejor manera?
animation
geometry
minecraft-modding
Radenon
fuente
fuente
Respuestas:
Como han dicho otros, sí, los modelos y las animaciones están codificadas. Si desea ver cómo se hizo esto, vaya al wiki de Minecraft Coder Pack .
Las clases que querrá ver son: ModelBase, ModelBiped y ModelRenderer.
ModelBiped contiene las siguientes funciones que realizan las animaciones humanoides:
Los movimientos del brazo son simplemente funciones de coseno. El brazo derecho está compensado por PI para hacerlos girar en direcciones opuestas.
Espero que eso responda tu pregunta =)
Si desea obtener más información sobre cómo modificar realmente Minecraft, consulte esta pregunta:
¿Cómo agrego una mafia personalizada a Minecraft?
fuente
Los modelos en Minecraft están codificados. No existe una noción de jerarquía de bloques (solo una lista de bloques). Esto significa que las animaciones se realizan de forma procesal (de una manera muy básica) o valores codificados con interpolación.
Hay algunos editores para modelos de Minecraft como Techne o FMCModeler que permiten importar / exportar código de modelo de Minecraft para modificaciones, pero no admiten animaciones, ya que probablemente se maneja de manera diferente para cada modelo.
Aquí hay una muestra rápida generada con FMCModeler:
Una mejor manera de hacerlo sería construir un modelador completo basado en bloques con algunas nociones de jerarquía de bloques para que pueda animar los modelos con fotogramas clave e interpolación.
Actualmente estoy construyendo una herramienta de construcción de juegos multijugador que hace precisamente eso (entre otras cosas, http://craftstud.io/ ). Ya permite construir modelos complejos con textura estática y hay más en camino.
Aquí hay un modelo complejo construido con CraftStudio. Como puede ver, los bloques están dispuestos en un árbol a la derecha:
Cada bloque se serializa en el disco / a través de la red con los siguientes datos:
Planeo agregar soporte de animación almacenando un mapa con nombres de animación como clave y una lista de fotogramas clave como valor. Cada fotograma clave se asociará con un bloque y un valor para animar. Entre los fotogramas clave, los valores deben interpolarse (ya sea linealmente para la posición o esféricamente para los ángulos, buscar lerp y slerp).
fuente
Los modelos de bloques de Minecraft en realidad no están codificados en el juego a partir de 1.8 y se pueden editar usando paquetes de recursos. El sistema de modelado JSON es bastante fácil de entender y existen modelos en / models / block. Luego puede mirar el código para ver cómo interpreta los modelos JSON.
fuente