Efectos de partículas

Desde cohetes de fuegos artificiales que dejan una estela de humo hasta burbujas que salen de la boca de un pez, las partículas son una excelente manera de agregar efectos especiales al contenido de Minecraft: Bedrock Edition.

Imagen que muestra a Alex sosteniendo una varita que emite una serie de chispas y destellos

Con este tutorial, aprenderás lo siguiente:

  • Cómo crear efectos de partículas personalizados en Minecraft: Bedrock Edition.
  • Cómo crear un nuevo efecto de partículas para usar en tu mapa o complemento.

Requisitos

Se recomienda que completes lo siguiente antes de comenzar este tutorial.

Introducción

Casos de uso de partículas

Las partículas son una herramienta poderosa para aumentar la experiencia visual de un mapa o complemento. Se pueden usar en entidades para efectos ambientales como humo de escape, para ataques como hechizos mágicos y para otras animaciones. Las partículas también se pueden usar para efectos ambientales en mapas como hojas que caen. También puedes usar partículas para colocar gráficos en 2D simples en tu mundo. Además, las partículas suelen tener más rendimiento que las entidades personalizadas porque se simulan por completo en el lado del cliente.

Denominación y ubicación

Bedrock utiliza un formato JSON personalizado para sus efectos de partículas. Los archivos se almacenan en la carpeta particles de tu pack de recursos. Al igual que los modelos y las entidades, su identificador hace referencia a las partículas, por lo que puedes guardar el archivo en cualquier subcarpeta dentro de la carpeta particles sin tener que preocuparte por hacer referencia a ella.

El identificador de partículas se especifica en la parte superior del archivo JSON. Al igual que con las entidades, debe constar de un espacio de nombres y un nombre, por ejemplo compass:colored_smoke.

    "description": {
    "identifier": "compass:colored_smoke",
    },

Unidades

Todos los valores en efectos de partículas utilizan metros (bloques) y segundos como unidades. La velocidad se expresa en metros por segundo (m/s) y la aceleración, en m/s por segundo (m/ s²). Las rotaciones usan grados, tanto para rotaciones como funciones trigonométricas.

Snowstorm

Usaremos Snowstorm para crear los efectos de partículas en esta guía. Snowstorm se puede utilizar como aplicación web o como una extensión de VSCode. Nos permite obtener una vista previa del efecto de partículas en vivo mientras cambiamos los parámetros. La aplicación web puede ser útil para principiantes, pero una vez que estés trabajando en un proyecto con un montón de efectos de partículas, la extensión de VSCode ofrece un flujo de trabajo más rápido.

Interfaz

Cuando abras Snowstorm, verás una sección de vista previa en 3D, una barra lateral, la barra de menú y la barra de expresiones debajo del menú.

Interfaz de Snowstorm

La barra lateral es una lista de todos los diferentes parámetros y configuraciones que componen tu partícula. Muchos de los campos admiten Molang. Esto significa que puedes ingresar números estáticos, pero si deseas tener más control sobre el valor, también puedes usar expresiones matemáticas usando el lenguaje Molang. Desplázate sobre cada campo para ver una descripción de lo que hace.

Si terminas con una expresión de Molang muy compleja, también puedes editarla en la barra de expresiones justo debajo del menú.

Barra de expresiones en Snowstorm

La barra de menú es donde puedes importar y exportar archivos en la aplicación web, cargar ejemplos o consultar referencias.

Debajo de la barra de expresión, puedes ver la pantalla de vista previa. Puedes navegar en el espacio 3D usando el botón izquierdo y derecho del mouse, así como la rueda del mouse, y puedes usar los siguientes botones para iniciar o pausar la vista previa. En la esquina inferior derecha, verás el FPS y el número actual de partículas en la escena.

Cómo importar y exportar

Si estás usando la aplicación web, los archivos deben importarse y exportarse a través del menú Archivo. También puedes cambiar a la pestaña Código en la esquina superior derecha para obtener una vista previa del archivo generado.

Pestaña de código en Snowstorm

Si estás usando texturas personalizadas, deben cargarse individualmente en la sección Texturas de la barra lateral.

Selección de texturas en Snowstorm

Si estás usando la extensión de VSCode, crea un nuevo archivo llamado <name>.particle.json en la carpeta de partículas, y VSCode lo abrirá con el editor Snowstorm automáticamente. También puedes hacer clic en Abrir código en la esquina superior derecha para obtener una vista previa del código generado en una nueva pestaña, e incluso puedes editar el código aquí directamente.

Cómo crear un efecto de partículas

En esta guía, crearemos un efecto de humo de colores paso a paso. Primero, abre Snowstorm y localiza la sección meta en la barra lateral. Escribe el identificador del efecto de partículas; usaremos compass:colored_smoke.

Identificador en Snowstorm

Emisor

Resultado final de la partícula creada

Ahora cambiaremos el emisor. El emisor es la pieza central del efecto de partículas y es responsable de generar partículas. Primero, necesitamos abrir la sección Frecuencia y definir cuántas partículas se generan. Dejaremos la configuración de modo en Constante, lo que significa que el emisor generará partículas constantemente, y estableceremos la frecuencia en 30 y el máximo a 100. Esto significa que el emisor generará 30partículas por segundo durante su vida útil, siempre que no existan más de 100partículas de este emisor en el mundo.

Frecuencia de emisión en Snowstorm

A continuación, definiremos la vida útil del emisor. Queremos reproducir este efecto de partículas solo una vez, pero si necesitas un emisor constante, también puede configurarlo en bucle. También configuraremos el Tiempo activo en 2, lo que significa que el emisor generará partículas durante dos segundos.

Duración de emisión en Snowstorm

De forma predeterminada, las partículas se generarán en un solo punto en el centro del emisor. Esto está bien para nuestro efecto de partículas, por lo que no necesitamos cambiar nada en la sección Forma.

Tamaño de partícula

Ahora pasaremos a la configuración de partículas y configuraremos los parámetros de apariencia. Todas las partículas son un plano en 2D al que se le aplica una textura. En la configuración de tamaño, podemos definir el ancho y la altura de este plano, en el cual cada valor es el radio. Esto significa que establecer el tamaño en 1 por 1 generaría que el tamaño fuera de 2 por 2bloques. Usaremos 0.25 por 0.25 en este ejemplo.

Tamaño de partículas en Snowstorm

Movimiento de partículas y física

El siguiente paso es definir cómo se mueven las partículas. En la sección Movimiento, dejaremos el modo Dirección establecido en Hacia fuera. Para los emisores puntuales, esto siempre significa que las partículas se esparcirán por igual en todas las direcciones.

Movimiento de partículas en Snowstorm

Ahora que la partícula tiene una dirección inicial, cambiemos la velocidad. En la sección Movimiento, configuraremos la Velocidad en math.random(2, 4). Esta es una expresión matemática simple que siempre generará un número decimal aleatorio de 2 a 4. La velocidad solo se calcula una vez cuando se genera la partícula, por lo que ahora, cada una de nuestras partículas tendrá una velocidad de inicio aleatoria.

Aceleración define las fuerzas que actúan sobre la partícula después de que se genera. Por ejemplo, para simular la gravedad en la Tierra, establece el valor medio (ejeY) en -9.8. Para nuestro humo usaremos 0, 3, 0 como la aceleración para conseguir un movimiento ascendente lento.

En este momento, la aceleración hará que nuestra partícula sea exponencialmente más rápida. Para hacerlas más lentas después de un rato y mantenerlas en un espacio, agregaremos resistencia de aire. Puedes pensar en él como aire denso que disminuirá la aceleración suavemente cuando la partícula alcance su velocidad máxima. Configuraremos esto en 2 por ahora.

Para darle un poco más de variación a la resistencia aerodinámica, configuraremos este valor al azar. La expresión de resistencia de aire se evalúa una vez en cada fotograma, por lo que el uso de la función matemática aleatoria no funcionará en este caso porque los valores aleatorios se cancelarían entre sí antes de que te des cuenta. En cambio, usaremos una variable incorporada. A cada partícula y a cada emisor se le asignarán automáticamente 4variables aleatorias que no cambiarán durante su vida útil. Las variables contienen un número aleatorio de 0 a 1. Por lo tanto, para lograr un valor de resistencia de aire aleatorio de 2 a 3, estableceremos el valor en 2 + variable.particle_random_1.

Duración de las partículas

Ahora, definiremos cuánto tiempo existen las partículas en el mundo. Para obtener un efecto de desvanecimiento lento, volveremos a configurar este número al azar. Dado que Edad máxima solo se evalúa una vez cuando la partícula se genera, podemos lograrlo estableciendo su valor en math.random(1, 3).

Duración de partículas en Snowstorm

Textura

Puedes crear tu propia textura de partícula y guardarla en la carpeta de texturas del pack de recursos. Para que sea más sencillo, usaremos el sprite de partículas predeterminado de Minecraft en este ejemplo. Para hacer referencia a esta textura, escribe texturas/partícula/partículas en el campo Ruta de la sección Textura. La textura se cargará automáticamente y se mostrará en el juego, incluso si no está en tu pack de texturas actual, ya que se utilizará de forma predeterminada en la versión original de la textura.

Opciones de animación y textura de partículas en Snowstorm

La textura de partículas que usaremos es la partícula de humo más grande. Como queremos animar la textura para que se mueva gradualmente a tamaños de partículas de humo más pequeñas, establece el Modo UV en Animado.

Todo el mapa de texturas, que incluye texturas para todas las partículas, tiene una resolución de 128 x 128píxeles. La mayoría de las piezas individuales del sprite tienen una dimensión de 8 x 8píxeles. Sin embargo, estos valores aumentan en un factor de 2. Por lo tanto, el Tamaño de textura terminará siendo 16 x 16píxeles, y las opciones restantes se basarán en ese tamaño.

El píxel inicial de la partícula de humo más grande es de 56píxeles horizontalmente, y aumenta en un factor de 2 a 112. Dado que las texturas son 16 por 16 en este contexto, dividir 112 entre 16 dará 7, que es el valor del campo Inicio UV. O bien, puedes contar la cantidad de texturas que aparecen antes de la textura con la que deseas comenzar (hay 7texturas que aparecen antes de la partícula de humo más grande). Sin embargo, contar texturas a mano puede resultar más difícil si hay mucho espacio vacío.

Dado que la animación implica convertirse a texturas de humo más pequeñas, el Paso UV se establecerá en -1 por 0. Esto significa que irá a la izquierda por 16píxeles horizontalmente (según el tamaño de la textura) a la textura anterior y no cambiará verticalmente. También estableceremos el Marco máximo en 7. La animación tendrá ocho fotogramas ya que hay 8texturas, y el primero se cuenta como "fotograma 0", por lo que el último fotograma es el fotograma 7.

En este caso, queremos distribuir por igual todos los fotogramas a lo largo de la vida útil de la partícula. Por lo tanto, dejaremos el campo FPS en blanco, el campo Bucle sin marcar, pero marcaremos Estirar para toda la vida. Ahora tenemos una textura animada funcional.

Color

Ahora, queremos aplicar colores al azar a las partículas. La textura base es blanca, que es un excelente punto de partida para teñir partículas.

Color de partículas en Snowstorm

Usaremos una gama de colores diferentes y cada partícula elegirá un valor aleatorio. Primero, abre la sección Color y luz y selecciona el modo Gradiente. Configuremos un arcoíris simple y agradable. Puedes agregar un punto de color usando el ícono +, moverlo y cambiar el color de cada punto.

El rango de color predeterminado está entre 0 y 1. Eso significa que ahora podemos simplemente usar otra de nuestras variables aleatorias integradas para elegir un color aleatorio. Ingresaremos variable.particle_random_2 en el campo Interpolación. Cada partícula se generará en un color aleatorio del gradiente.

El resultado final debería verse similar a esto en Snowstorm:

Resultado final de la partícula creada en Snowstorm

Cómo usar el efecto de partículas en el juego

Hay tres formas principales de reproducir efectos de partículas en el juego:

Comandos

Esta es la forma más sencilla de probar un efecto. Usa el comando /particle para invocar un emisor de partículas al mundo.

Nota

Debido a que los efectos de partículas se producen completamente del lado del cliente y los comandos se ejecutan del lado del servidor, el servidor no es consciente de los efectos de las partículas. Esto significa que no recibirás un mensaje de error si intentas reproducir un efecto de partículas que no existe.

Este es un comando de ejemplo: Las tres tildes al final del comando indican la posición, en este caso la posición exacta donde se ejecutó el comando, por lo tanto, la posición de los pies del jugador o el centro del bloque de comandos que ejecuta el comando.

/particle compass:colored_smoke ~ ~ ~

Animaciones

Las partículas también se pueden reproducir en animaciones de entidades. Este es un proceso de dos pasos. Primero, debes vincular el efecto de partículas en el archivo de entidad del cliente y darle un nombre corto. Luego, puedes usar ese nombre corto en una animación.

Agrega esto a tu archivo de entidad cliente dentro del objeto de descripción:

"particle_effects": {
    "smoke": "compass:colored_smoke"
}

Los fotogramas clave de efectos de partículas se pueden agregar a una animación en Blockbench. Haz clic en el botón Animar efectos encima de la línea de tiempo y agrega un fotograma clave al canal Partícula. Ahora ingresa el nombre corto (como se define en el archivo de la entidad del cliente) en Efecto del panel de fotogramas clave.

También puedes especificar un localizador en el archivo de entidad donde aparecerá el efecto de partículas. También puedes asignar una variable en Script que luego se puede utilizar dentro del efecto de partículas.

Ejemplo:

variable.custom_size = 3.14;

Controles de animación

Los controles de animación también pueden reproducir efectos de partículas. Para hacerlo, primero agrega el efecto de partículas a tu archivo de entidad cliente como se explicó anteriormente. Luego, agrega uno o más efectos de partículas a un estado específico de tu control de animación, como se muestra en este ejemplo:

"particle_effects": [
    {
        "effect": "smoke"
    }
]

¿Cuál es el siguiente paso?

¡Felicitaciones, llegaste al final del artículo! Ya aprendiste cómo crear un efecto de partículas personalizado, cómo configurar el emisor, cambiar la física, cómo usar una textura animada y cómo colorearla.

La creación de efectos de partículas es prueba y el error, la combinación de diferentes configuraciones y el uso de expresiones Molang para potenciar los parámetros. Para obtener más información, te recomendamos que consultes las partículas de ejemplo y observes la configuración para aprender cómo se pueden usar diferentes valores y expresiones para crear efectos. Y, lo más importante, juega con todos los parámetros, diviértete y veremos qué se te ocurre.