Smoke
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Le fumage est l'un des plusieurs émette
Lorsque Smoke.Enabled est désactiv
Les particules de fumée ne sont émises que du centre de BasePart à partir duquel elles sont parentées. La parentalité d'un objet de fumée à un Attachment permet la personnalisation de la position de démarrage des parties.
Échantillons de code
local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
Résumé
Propriétés
Détermine la couleur des particules de fumée.
Détermine si les particules de fumée émettent.
Détermine la façon dont les particules de fumée opaques rendu.
Détermine la vitesse des particules de fumée.
Détermine la taille des particules de fumée nouvellement émises.
Valeur entre 0-1 qui contrôle la vitesse de l'effet de particule.
Propriétés
Color
La propriété couleur détermine la couleur de toutes les particules émises par un objet Smoke (toutes les particules existantes et futures). Elle se comporte de manière similaire à ParticleEmitter.Color, sauf que c'est une couleur blanche avec une certain
Échantillons de code
local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
Enabled
La propriété Activée, tout comme ParticleEmitter.Enabled, détermine si les particules de fumée sont émises. Toutes les particules déjà émises continueront à s'afficher jusqu'à ce que leur durée de vie expire. Cette propriété est utile pour garder les effets de fumée prédéfinis jusqu'à ce qu'ils so
local Debris = game:GetService("Debris")
local part = script.Parent
function stopSmoke(smoke)
smoke.Enabled = false -- No more new particles
Debris:AddItem(smoke, 10) -- Remove the object after a delay (after existing particles have expired)
end
stopSmoke(part.Smoke)
Échantillons de code
local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
LocalTransparencyModifier
Opacity
L'opacité détermine l'opacité des particules de fumée. Il doit être dans la tranche [0, 1]. Cette propriété fonctionne inversément en comparaison avec la valeur BasePart.Transparency ou ParticleEmitter's ParticleEmitter.Transparency : une valeur de 0 est complètement invisible, 1 est complètement visible.
La texture que Roblox utilise pour les Smoke particules est partiellement transparente, donc le définir à 1 produit toujours de la transparence dans le fumage rendu.
Échantillons de code
local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
RiseVelocity
RiseVelocity se comporte de manière similaire à ParticleEmitter.Speed et Fire.Heat : il détermine la vitesse à laquelle les particules de fumée se déplacent pendant leur vie. Il doit être dans la tranche [-25, 25]. Les valeurs négatives entraîneront l'émission des particules dans la direction inférieure (-Y) de la parent BasePart.
Lors de l'utilisation d'un effet Smoke pour créer du brouillard, définissez cette propriété sur 0. Pour les effets de fumée de grande taille, faites la progression subtile (2 à 8). Pour les cheminées et les fumées, des valeurs plus élevées sont appropriées.
Échantillons de code
local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
Size
La propriété Taille de Smoke détermine la taille des particules de fumée nouvellement émises. Contrairement à Smoke.Color, cette propriété
Échantillons de code
local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
TimeScale
Une valeur entre 0-1 contrôle la vitesse de l'effet de particule. À 1, il s'exécute à la vitesse normale, à 0,5, il s'exécute à la moitié de la vitesse et à 0, il gèle le temps.