Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Sistemas de partículas (3D)

Esta sección del tutorial cubre los sistemas de partículas acelerados por GPU (3D). La mayoría de los temas discutidos aquí también se aplican a las partículas por CPU.

Introducción

Puedes usar sistemas de partículas para simular efectos físicos complejos como fuego, chispas, humo, efectos mágicos y muchos más. Son muy adecuados para crear comportamientos dinámicos y orgánicos, y para añadir «vida» a tus escenas.

The idea is that a particle is emitted at a fixed interval and with a fixed lifetime. During its lifetime, every particle will have the same base behavior. What makes each particle different from the others and creates the organic look is the randomness that you can add to most of its parameters and behaviors.

Cada sistema de partículas que creas en Godot consta de dos partes principales: partículas y emisores.

Partículas

Una partícula es la parte visible de un sistema de partículas. Es lo que se ve en la pantalla cuando un sistema de partículas está activo: las diminutas motas de polvo, las llamas de un incendio, los orbes brillantes de un efecto mágico. Se puede tener entre un par de cientos y decenas de miles de partículas en un solo sistema. Se puede aleatorizar el tamaño de una partícula, su velocidad y dirección de movimiento, y cambiar su color a lo largo de su vida. Cuando se piensa en un incendio, se puede pensar en todas las pequeñas brasas que salen volando de él como partículas individuales.

Emisores

Un emisor es lo que crea las partículas. Los emisores no suelen ser visibles, pero pueden tener una forma. Esa forma controla dónde y cómo se generan las partículas; por ejemplo, si deben llenar una habitación como el polvo o salir disparadas desde un único punto como una fuente. Volviendo al ejemplo del fuego, un emisor sería el calor en el centro del incendio que crea las brasas y las llamas.

Vista previa de los nodos

Una lista de nodos relacionados a partículas 3D

Todos los nodos de partículas 3D disponibles en Godot

Hay dos tipos de sistemas de partículas 3D en Godot: GPUParticles3D, que se procesan en la GPU, y CPUParticles3D, que se procesan en la CPU.

Los sistemas de partículas por CPU son menos flexibles que su contraparte de GPU, pero funcionan en una gama más amplia de hardware y ofrecen un mejor soporte para dispositivos antiguos y teléfonos móviles. Debido a que se procesan en la CPU, no son tan eficientes como los sistemas de partículas por GPU y no pueden renderizar tantas partículas individuales. Además, actualmente no cuentan con todas las opciones de control que tienen las partículas por GPU.

Los sistemas de partículas por GPU se ejecutan, precisamente, en la GPU y pueden renderizar cientos de miles de partículas en hardware moderno. Puedes escribir shaders de partículas personalizados para ellos, lo que los hace muy flexibles. También puedes hacer que interactúen con el entorno utilizando nodos atractores y de colisión.

Hay tres nodos atractores de partículas: GPUParticlesAttractorBox3D, GPUParticlesAttractorSphere3D y GPUParticlesAttractorVectorField3D. Un nodo atractor aplica una fuerza a todas las partículas a su alcance y las atrae o las aleja basándose en la dirección de dicha fuerza.

Hay varios nodos de colisión de partículas. GPUParticlesCollisionBox3D y GPUParticlesCollisionSphere3D son los más simples. Puedes usarlos para crear formas básicas como cajas, un piso o una pared con las que colisionen las partículas. Los otros dos nodos proporcionan un comportamiento de colisión más complejo. GPUParticlesCollisionSDF3D es útil cuando quieres que las escenas interiores colisionen con partículas sin tener que crear todos los colisionadores de cajas y esferas individuales a mano. Si quieres que las partículas colisionen con escenas exteriores grandes, usarías el nodo GPUParticlesCollisionHeightField3D. Crea un mapa de alturas de tu mundo y los objetos que contiene y lo usa para colisiones de partículas a gran escala.

Uso básico

Temas avanzados