El sistema de particulas de Hytale utiliza dos tipos de archivos que trabajan juntos: los sistemas de particulas (.particlesystem) componen una o mas referencias de spawners en un efecto completo, y los spawners de particulas (.particlespawner) definen el comportamiento individual del emisor — tasa de emision, velocidad, tiempo de vida, textura, animacion de color, atractores y colision. Los archivos JSON de sistemas de particulas tambien pueden usar la extension .json para efectos complejos con multiples spawners. El motor los carga en tiempo de ejecucion para producir efectos visuales para interacciones de bloques, impactos de combate, clima, habilidades de NPCs y objetos desplegables.
Ubicacion de archivos
Assets/Server/Particles/
Block/
Block_Top_Glow.particlesystem
Block_Top_Glow_Alpha.particlespawner
Clay/
Block_Break_Clay.particlesystem
Block_Hit_Clay.particlesystem
Crystal/
Stone/
Wood/
Combat/
Deployables/
Healing_Totem/
Totem_Heal_Simple_Test.json
Slowness_Totem/
Drop/
Dust_Sparkles_Fine.particlesystem
Dust_Sparkles_Fine.particlespawner
Explosion/
Item/
Memories/
NPC/
Projectile/
Spell/
Status_Effect/
Weapon/
Weather/
_Example/
Esquema
Sistema de particulas (.particlesystem / .json)
Campo
Tipo
Requerido
Predeterminado
Descripcion
Spawners
SpawnerRef[]
Si
—
Arreglo de referencias a spawners que componen este efecto de particulas.
LifeSpan
number
No
—
Duracion total en segundos antes de que el sistema completo sea destruido. Omitir para efectos de duracion infinita.
CullDistance
number
No
—
Distancia en bloques mas alla de la cual el sistema de particulas no se renderiza.
BoundingRadius
number
No
—
Radio utilizado para el culling de frustum.
IsImportant
boolean
No
false
Cuando es true, el sistema nunca es eliminado por el presupuesto de particulas.
SpawnerRef
Campo
Tipo
Requerido
Predeterminado
Descripcion
SpawnerId
string
Si
—
ID del spawner de particulas a usar. Se resuelve a un archivo .particlespawner por nombre.
PositionOffset
Vector3
No
{0,0,0}
Desplazamiento de posicion desde el origen del sistema. Solo los ejes especificados se sobreescriben.
FixedRotation
boolean
No
true
Cuando es false, las particulas rotan con la entidad emisora.
StartDelay
number
No
0
Segundos a esperar antes de que este spawner comience a emitir.
WaveDelay
MinMax
No
—
Rango de retraso aleatorio entre ondas de emision.
Spawner de particulas (.particlespawner)
Campo
Tipo
Requerido
Predeterminado
Descripcion
RenderMode
string
No
—
Modo de renderizado: "Erosion", "Additive", "AlphaBlend", etc.
EmitOffset
Vector3MinMax
No
—
Rango de desplazamiento aleatorio para la posicion de aparicion de particulas en cada eje.
ParticleRotationInfluence
string
No
—
Como se calcula la rotacion de particulas: "Billboard" (mira a la camara), "Velocity", etc.
LinearFiltering
boolean
No
false
Usar filtrado bilineal de texturas en lugar de vecino mas cercano.
LightInfluence
number
No
1.0
Cuanto afecta la iluminacion de la escena al color de las particulas (0 = sin iluminacion, 1 = completamente iluminado).
MaxConcurrentParticles
number
No
0
Numero maximo de particulas vivas. 0 significa ilimitado.
ParticleLifeSpan
MinMax
No
—
Rango aleatorio para el tiempo de vida individual de particulas en segundos.
ParticleRotateWithSpawner
boolean
No
false
Si las particulas heredan la rotacion del spawner.
SpawnRate
MinMax
No
—
Milisegundos entre emisiones de particulas (aleatorio dentro del rango).
InitialVelocity
VelocityConfig
No
—
Velocidad inicial en coordenadas esfericas.
Attractors
Attractor[]
No
[]
Atractores puntuales que atraen particulas.
Particle
ParticleConfig
Si
—
Textura, keyframes de animacion y estado inicial.
ParticleCollision
object
No
—
Configuracion de colision para particulas que impactan bloques.
VelocityConfig
Campo
Tipo
Requerido
Predeterminado
Descripcion
Yaw
MinMax
No
—
Rango aleatorio de angulo de guiñada en grados.
Pitch
MinMax
No
—
Rango aleatorio de angulo de cabeceo en grados.
Speed
MinMax
No
—
Rango aleatorio de velocidad en bloques por segundo.
Attractor
Campo
Tipo
Requerido
Predeterminado
Descripcion
Position
Vector3
Si
—
Posicion del atractor relativa al spawner.
RadialAxis
Vector3
No
—
Eje para la aceleracion radial.
Radius
number
No
0
Radio de influencia del atractor.
RadialAcceleration
number
No
0
Fuerza radial hacia adentro (negativa) o hacia afuera (positiva).
RadialTangentAcceleration
number
No
0
Fuerza tangencial perpendicular a la direccion radial.