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 ?
- Ouvre Roblox Studio et ton jeu.
- Sélectionne ta
ScalePartdans l’arborescence (Workspace > ScaleFolder > ScalePart). - Ajoute un
ParticleEmitter:- Clic droit sur
ScalePart→ Insert Object → ParticleEmitter. - Un nouvel objet
ParticleEmitterapparaît sousScalePart.
- Clic droit sur
- Personnalise les particules :
- Sélectionne le
ParticleEmitterdans 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
- Sélectionne le
Exemple de configuration pour des étincelles magiques :
| Propriété | Valeur | Effet |
|---|---|---|
| Texture | rbxassetid://242840127 | Étincelles brillantes. |
| Color | Color3.fromRGB(255, 215, 0) | Couleur or. |
| Size | NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2), NumberSequenceKeypoint.new(1, 0.5)}) | Particules qui grandissent. |
| Lifetime | NumberRange.new(1, 1.5) | Les particules disparaissent après 1 à 1.5 seconde. |
| Speed | NumberRange.new(3, 8) | Vitesse aléatoire pour un effet naturel. |
| EmissionDirection | Enum.NormalId.Top | Les particules montent. |
| Rate | 20 | 20 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 :
part:FindFirstChildOfClass("ParticleEmitter")- Cherche un objet de type
ParticleEmitterdans laScalePart. - Si un
ParticleEmitterexiste, il est stocké dans la variableparticle.
- Cherche un objet de type
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
Enabledest àtrue.
- Active l’effet de particules quand un joueur touche la
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.
- Désactive l’effet de particules après le
Tester et personnaliser les particules
- Lance le jeu dans Roblox Studio.
- Touche la
ScalePart:- Ton personnage rétrécit ou grandit.
- Un effet de particules apparaît (si tu as bien configuré le
ParticleEmitter).
- 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
- Fumée :
- Exemples d’IDs de textures :
- Change la couleur pour correspondre au thème de ton jeu.
- Ajuste la taille et la vitesse pour un effet plus ou moins intense.
- Change la texture pour des effets différents (fumée, feu, bulles, etc.).
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à taScalePart:- Un pour le rétrécissement (ex: particules bleues).
- Un pour la restauration (ex: particules vertes).
- Dans le script, active uniquement le bon
ParticleEmitterselon 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
- Ajoute deux
2. Particules qui suivent le joueur

- Objectif : Faire apparaître des particules autour du joueur quand il rétrécit.
- Comment faire ?
- Ajoute un
ParticleEmitterdans le personnage du joueur (ex: dans sonHumanoidRootPart). - Rajoute cette fonction à ton script
- Ajoute un
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à taScalePart. - Joue le son quand les particules sont activées :luaCopier
local sound = part:FindFirstChildOfClass("Sound") if sound then sound:Play() end
- Ajoute un objet
QCM : Vérifie ta compréhension !
- À quoi sert un
ParticleEmitterdans Roblox ?- a) À créer des effets visuels comme des étincelles ou de la fumée.
- b) À faire bouger une partie.
- c) À jouer un son.
- Que fait
part:FindFirstChildOfClass("ParticleEmitter")?- a) Crée un nouveau
ParticleEmitter. - b) Cherche un
ParticleEmitterdans lapart. - c) Supprime un
ParticleEmitter.
- a) Crée un nouveau
- Pourquoi désactive-t-on le
ParticleEmitteraprè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.
- Où peut-on ajouter un
ParticleEmitterdans Roblox Studio ?- a) Dans une
Partou unModel. - b) Dans
ServerScriptService. - c) Dans
Workspaceuniquement.
- a) Dans une
- Quelle propriété du
ParticleEmitterpermet de changer l’apparence des particules ?- a)
Texture - b)
Rate - c)
Lifetime
- a)
- 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
| Concept | Description | Exemple dans le script |
|---|---|---|
ParticleEmitter | Objet qui génère des effets visuels (particules). | part:FindFirstChildOfClass("ParticleEmitter") |
Enabled | Propriété pour activer/désactiver l’effet. | part.ParticleEmitter.Enabled = true |
Texture | Image utilisée pour les particules. | rbxassetid://242840127 |
Color | Couleur des particules. | Color3.fromRGB(255, 215, 0) |
Lifetime | Durée de vie des particules. | NumberRange.new(1, 1.5) |
Rate | Nombre de particules émises par seconde. | 20 |
