Catégories
Jeu vidéo ROBLOX ROBLOX-NIVEAU01

Rétrécir avec un effet de particules

A partir du tuto : Rétrécir puis restaurer la taille du joueur

Apprendre à utiliser ParticleEmitter pour ajouter des effets visuels spectaculaires à ton jeu Roblox. Dans ce tutoriel, on va se concentrer uniquement sur l’ajout et la personnalisation des particules pour rendre le jeu plus beau et immersif.

Pourquoi utiliser des particules ?

Les particules sont des petits effets visuels (comme des étincelles, de la fumée, des paillettes, etc.) qui peuvent :

  • Rendre ton jeu plus réaliste (ex: étincelles quand un joueur touche un objet magique).
  • Ajouter du feedback visuel (ex: montrer qu’une action a bien eu lieu).
  • Créer une ambiance (ex: un effet de poussière, de feu, ou de magie).

Dans ce script, on utilise un ParticleEmitter pour afficher un effet quand un joueur touche la ScalePart.

Ajouter un ParticleEmitter à ta ScalePart

Pour que le script fonctionne, tu dois ajouter un ParticleEmitter à ta ScalePart dans Roblox Studio.

Comment faire ?

  1. Ouvre Roblox Studio et ton jeu.
  2. Sélectionne ta ScalePart dans l’arborescence (Workspace > ScaleFolder > ScalePart).
  3. Ajoute un ParticleEmitter :
    • Clic droit sur ScalePartInsert ObjectParticleEmitter.
    • Un nouvel objet ParticleEmitter apparaît sous ScalePart.
  4. Personnalise les particules :
    • Sélectionne le ParticleEmitter dans l’arborescence.
    • Dans les propriétés (à droite), tu peux modifier : Propriété Description Exemple de valeur Enabled Active/désactive l’effet. false (on l’active via le script) Texture L’apparence des particules (image). rbxassetid://242840127 (étincelles) Color La couleur des particules. Color3.fromRGB(255, 215, 0) (or) Size La taille des particules. NumberSequence.new(0.5) Lifetime Durée de vie des particules (en secondes). NumberRange.new(1, 2) Speed Vitesse des particules. NumberRange.new(5, 10) EmissionDirection Direction dans laquelle les particules sont émises. Enum.NormalId.Top (vers le haut) Rate Nombre de particules émises par seconde. 10

Exemple de configuration pour des étincelles magiques :

PropriétéValeurEffet
Texturerbxassetid://242840127Étincelles brillantes.
ColorColor3.fromRGB(255, 215, 0)Couleur or.
SizeNumberSequence.new({NumberSequenceKeypoint.new(0, 0.2), NumberSequenceKeypoint.new(1, 0.5)})Particules qui grandissent.
LifetimeNumberRange.new(1, 1.5)Les particules disparaissent après 1 à 1.5 seconde.
SpeedNumberRange.new(3, 8)Vitesse aléatoire pour un effet naturel.
EmissionDirectionEnum.NormalId.TopLes particules montent.
Rate2020 particules par seconde.

Comprendre le code lié aux particules

Voici la partie du script qui gère les particules (le reste du script est expliqué dans les tutoriels précédents) :

-- Dans la fonction part.Touched:Connect, après avoir modifié la taille du joueur :
local particle = part:FindFirstChildOfClass("ParticleEmitter")  -- Cherche un ParticleEmitter dans la partie

-- Appliquer la taille cible au personnage
humanoid.BodyHeightScale.Value = targetScale
humanoid.BodyWidthScale.Value = targetScale
humanoid.BodyDepthScale.Value = targetScale
humanoid.HeadScale.Value = targetScale

-- ACTIVER LES PARTICULES quand le joueur touche la partie
if particle then part.ParticleEmitter.Enabled = true end

-- Désactiver les particules après le cooldown
task.delay(COOLDOWN, function()
    cooldowns[player] = nil
    if particle then part.ParticleEmitter.Enabled = false end  -- Désactive les particules
end)

Explications :

  1. part:FindFirstChildOfClass("ParticleEmitter")
    • Cherche un objet de type ParticleEmitter dans la ScalePart.
    • Si un ParticleEmitter existe, il est stocké dans la variable particle.
  2. part.ParticleEmitter.Enabled = true
    • Active l’effet de particules quand un joueur touche la ScalePart.
    • Les particules apparaissent immédiatement et restent visibles tant que Enabled est à true.
  3. part.ParticleEmitter.Enabled = false
    • Désactive l’effet de particules après le COOLDOWN (1 seconde dans ce script).
    • Cela évite que les particules restent actives en permanence.

Tester et personnaliser les particules

  1. Lance le jeu dans Roblox Studio.
  2. Touche la ScalePart :
    • Ton personnage rétrécit ou grandit.
    • Un effet de particules apparaît (si tu as bien configuré le ParticleEmitter).
  3. Expérimente avec les propriétés :
    • Change la texture pour des effets différents (fumée, feu, bulles, etc.).
      • Exemples d’IDs de textures :
        • Fumée : rbxassetid://242840156
        • Feu : rbxassetid://242840140
        • Bulles : rbxassetid://242840119
    • Change la couleur pour correspondre au thème de ton jeu.
    • Ajuste la taille et la vitesse pour un effet plus ou moins intense.

Idées pour aller plus loin avec les particules

Voici quelques idées pour améliorer ton jeu avec des ParticleEmitter :

1. Particules différentes selon l’action

  • Objectif : Utiliser des particules différentes quand le joueur rétrécit ou grandit.
  • Comment faire ?
    • Ajoute deux ParticleEmitter à ta ScalePart :
      • Un pour le rétrécissement (ex: particules bleues).
      • Un pour la restauration (ex: particules vertes).
    • Dans le script, active uniquement le bon ParticleEmitter selon l’action :luaCopierif originalScale then -- Restaurer : activer les particules vertes part.ParticleEmitterGreen.Enabled = true else -- Rétrécir : activer les particules bleues part.ParticleEmitterBlue.Enabled = true end

2. Particules qui suivent le joueur

  • Objectif : Faire apparaître des particules autour du joueur quand il rétrécit.
  • Comment faire ?
    • Ajoute un ParticleEmitter dans le personnage du joueur (ex: dans son HumanoidRootPart).
    • Rajoute cette fonction à ton script
local function addParticle(character)
	print("adding particle")
	local part = character:FindFirstChild("HumanoidRootPart")
	if not part then return end
    print("found part")
	local particle = Instance.new("ParticleEmitter")
	particle.Texture = "rbxassetid://248625108" -- mets ton ID d'image ici
	particle.Lifetime = NumberRange.new(5, 10)
	particle.Rate = 20
	particle.Speed = NumberRange.new(5, 5)
	particle.Color = ColorSequence.new(Color3.new(1, 1, 1))
	particle.Parent = part

	task.delay(COOLDOWN, function()
		particle:Destroy()
	end)

end

3. Particules avec un son

  • Objectif : Ajouter un son quand les particules apparaissent.
  • Comment faire ?
    • Ajoute un objet Sound à ta ScalePart.
    • Joue le son quand les particules sont activées :luaCopierlocal sound = part:FindFirstChildOfClass("Sound") if sound then sound:Play() end

QCM : Vérifie ta compréhension !

  1. À quoi sert un ParticleEmitter dans Roblox ?
    • a) À créer des effets visuels comme des étincelles ou de la fumée.
    • b) À faire bouger une partie.
    • c) À jouer un son.
  1. Que fait part:FindFirstChildOfClass("ParticleEmitter") ?
    • a) Crée un nouveau ParticleEmitter.
    • b) Cherche un ParticleEmitter dans la part.
    • c) Supprime un ParticleEmitter.
  1. Pourquoi désactive-t-on le ParticleEmitter après le cooldown ?
    • a) Pour éviter que les particules restent actives en permanence.
    • b) Pour économiser de la mémoire.
    • c) Pour changer la couleur des particules.
  1. Où peut-on ajouter un ParticleEmitter dans Roblox Studio ?
    • a) Dans une Part ou un Model.
    • b) Dans ServerScriptService.
    • c) Dans Workspace uniquement.
  1. Quelle propriété du ParticleEmitter permet de changer l’apparence des particules ?
    • a) Texture
    • b) Rate
    • c) Lifetime
  1. Que fait part.ParticleEmitter.Enabled = true ?
    • a) Active l’effet de particules.
    • b) Désactive l’effet de particules.
    • c) Change la couleur des particules.

Résumé des concepts clés

ConceptDescriptionExemple dans le script
ParticleEmitterObjet qui génère des effets visuels (particules).part:FindFirstChildOfClass("ParticleEmitter")
EnabledPropriété pour activer/désactiver l’effet.part.ParticleEmitter.Enabled = true
TextureImage utilisée pour les particules.rbxassetid://242840127
ColorCouleur des particules.Color3.fromRGB(255, 215, 0)
LifetimeDurée de vie des particules.NumberRange.new(1, 1.5)
RateNombre de particules émises par seconde.20