연기는 여러 입자 방
Class.Smoke.Enabled가 끄면 이
연기 입자는 연기가 부모인 BasePart 의 중심에서만 발생합니다. 연기 개체를 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
활성화된 속성, 마치 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
Opacity는 연기 입자의 불투명도를 결정합니다. 범위 [0, 1] 이어야 합니다. 이 속성은 부품의 Class.BasePart.Transparency 또는 입자 에뮬레이터의 BasePart.Transparency : 값 0 이 완전히 보이지 않습니다. 1 이 완전히 보이
Roblox에서 사용하는 텍스처는 부분적으로 투명하므로 이 속성을 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 의 하단에서 방향(-25
안개를 생성하기 위해 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)