煙は、いくつかのパー
Class.Smoke.Enabled がオフにな
Smoke パーティクルは、BasePart の中心からのみ発生し、その親になります。Smoke オブジェクトを Attachment に親化することで、パーティクルの開始位置をカスタマイズできます。
コードサンプル
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)
概要
プロパティ
煙のパーティクルの色を決める。
煙の粒子が放出されるかどうかを決定します。
不透明な煙の粒子のレンダリング方法を決めます。
煙の粒子の速度を決める。
最新の煙パーティクルのサイズを決定します。
パーティクルエフェクトの速度を制御する値の間で 0-1 です。
プロパティ
Color
色 プロパティは、Smoke オブジェクト (既存のプレーティと未来のプレーティの両方) のすべてのパーティクルの色を決定します。ParticleEmitter.Color と同様
コードサンプル
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
有効 プロパティ、 much like ParticleEmitter.Enabled 、は、煙の粒子が放出されるかどうかを決定します。すべての粒子は、経過時間が切れると続けてレンダリングされます。このプロパテ
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)
コードサンプル
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
不透明度は、煙のパーティクルの不透明度を決定します。これは、[0、1]の範囲にある必要があります。このプロパティは、パーツの Class.BasePart.Transparency または ParticleEmitter の BasePart.Transparency と比較して、ParticleEmitter.Transparency で完全に
Roblox が使用するテクスチャは、Smoke パーティクルの一部を透明にするため、このプロパティを 1 に設定すると、レンダリングされた煙の透明性が引き続き表示されます。
コードサンプル
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 は、ParticleEmitter.Speed および Fire.Heat と同様に動作します:BasePartを決定します。1>マイナス値は、粒子が親の4> Class.BasePart4> の下に向き
霧を作成するために Smoke 効果を使用するときは、このプロパティを 0 に設定します。大きな煙の効果の場合、サイレント (2-8)を作成します。煙突と煙突スタックの場合、より高い値が適しています。
コードサンプル
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
Class.Smoke のサイズプロパティは、Smoke.Color とは異なり、既存のパーティクルのサイズを変
コードサンプル
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)