발사 는 여러 가지 미리 만들어진 입자 방출 클래스 중 하나입니다.다른 입자 방출 개체와 마찬가지로, 화염은 부모에게 전달될 때 BasePart 및 Attachment 그리고 Enabled 동안 입자를 방출합니다.이 개체는 여분의 시간이 없을 때 빠른 시각적 효과를 만드는 데 유용합니다; 더 자세한 작업을 위해서는 대신 ParticleEmitter를 사용하는 것이 좋습니다.
화염 입자는 부모인 BasePart 의 중심에서 방출되어 그들에게 부모가 됩니다.입자는 상향(+Y) 방향으로 방출되지만, 하향(−Y) 방향으로 방출하기 위해 음의 Fire.Heat를 사용할 수 있습니다.부모로 Attachment 를 사용하면 방출 위치/방향이 Attachment.CFrame 또는 관련 속성을 변경하여 수정될 수 있습니다.
When Enabled 가 끄기있으면 기존 입자는 만료될 때까지 계속 렌더링됩니다.그러나 화염의 가 설정되어 있으면 모든 기존 입자가 즉시 와 유사한 행동을 하여 사라집니다.동일한 효과를 얻기 위해 Parent를 nil로 설정하고 정확한 원래 개체로 되돌릴 수 있습니다.즉각적인 사라짐을 원하지 않는 경우, Fire의 부모를 멀리 있는 위치로 이동하고 나서 Destroy 몇 초 후에 Fire를 사용하여 Debris:AddItem() 합니다.이렇게 하면 기존 입자의 만료 시간이 주어집니다.
화염 개체는 보유빛을 방출하지 않습니다.불타는 개체 주위에 연결된 환경을 만들기 위해, 주황색 PointLight 와 함께 추가하여 보세요. 연결된 환경을 만들기 위해 오렌지 Color 를 추가하세요.이렇게 하면 불이 더 현실적으로 보이도록 도울 수 있습니다.
화염 개체는 두 개의 발신기로 구성됩니다.둘 다 화염의 Size, Heat, Color 및 SecondaryColor에 의해 다양한 방식으로 영향을 받습니다.더 작은 보조 발신기에서 방출되는 입자는 주 발신기에서 방출되는 것보다 수명이 훨씬 길고(그리고 더 멀리 상승합니다) 주 발신기에서 방출되는 것보다 훨씬 멀리 상승합니다.오른쪽 비디오에서 고유한 색상을 가진 두 개의 발신기를 볼 수 있습니다.
실제 화염과는 달리, Fire 개체 는 자체적으로 퍼지지 않습니다 .게임에서 이 행동을 알게 되면, 그것은 Script 때문에 발생하고 있습니다.
코드 샘플
This code sample adds Fire to all BasePart in the Workspace named "Torch".
for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end
요약
속성
주요(외부) 화염 입자의 색상을 결정합니다.
화염 입자가 방출되는지 여부를 결정합니다.
입자가 방출되는 속도를 결정합니다.
보조(내부) 화염 입자의 색상을 결정합니다.
화염 입자의 크기를 결정합니다.
입자 효과의 속도를 제어하는 값은 0-1 사이입니다.
속성
Color
색상 속성은 더 큰 입자를 방출하는 Fire 개체의 색상을 결정합니다.본질적으로 화염의 외부 부분의 색입니다.
일반적으로 냉기 화염은 화재의 외부에 있습니다.따라서 외부 영역이 빨간색이나 주황색-노란색인 경우 화염이 더 현실적으로 보입니다.전체적으로 밝은 불은 매우 현실적으로 보이지 않으므로 이 속성을 노란색으로 설정하지 마십시오.Try adding a PointLight 와 함께 PointLight.Color 를 형제로 Fire 에 추가하세요.이렇게 하면 주변 환경에 빛이 제공되고 화염 입자와 더 밀접하게 느껴지게 됩니다.
코드 샘플
This code sample adds Fire to all BasePart in the Workspace named "Torch".
for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end
Enabled
Enabled 속성, 마치 ParticleEmitter.Enabled와 같이, 화염 입자가 방출되는지 여부를 결정합니다.이미 방출된 모든 입자는 수명이 만료될 때까지 계속 렌더링됩니다.이 속성은 나중에 필요할 때까지 미리 만든 화염 효과를 제거하는 데 유용합니다.화염 입자는 개체의 가 설정되면 파괴되므로, 이 속성은 기존 입자가 화염 개체를 완전히 파괴하기 전에 만료할 수 있는 기회를 제공하는 데 유용합니다.아래 함수를 참조하십시오.
local Debris = game:GetService("Debris")
local part = script.Parent
function douseFlames(fire)
fire.Enabled = false -- No more new particles
Debris:AddItem(fire, 2) -- Remove the object after a delay (after existing particles have expired)
end
douseFlames(part.Fire)
코드 샘플
This code sample allows a player to click the parent BasePart to toggle a fire effect.
local part = script.Parent
local clickDetector = Instance.new("ClickDetector")
clickDetector.Parent = part
local fire = Instance.new("Fire")
fire.Parent = part
local light = Instance.new("PointLight")
light.Parent = part
local function onClick()
fire.Enabled = not fire.Enabled
light.Enabled = fire.Enabled
end
clickDetector.MouseClick:Connect(onClick)
Heat
열 속성은 입자가 얼마나 빨리 Fire 개체에서 방출되는지 결정합니다.범위는 [-25, 25]로 제한됩니다.양의 값은 부모 BasePart 또는 Attachment의 상단 (+Y) 방향에 있습니다.또한 내부 입자의 ParticleEmitter.Acceleration에도 영향을 줍니다.아래에서는 더 높은 열이 화염 입자의 속도/가속에 미치는 영향(왼쪽은 열 = 9, 오른쪽은 열 = 18)을 볼 수 있습니다.
코드 샘플
This code sample adds Fire to all BasePart in the Workspace named "Torch".
for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end
LocalTransparencyModifier
SecondaryColor
보조 색상 속성은 Fire 개체에서 방출되는 더 작은 입자의 색을 결정합니다.본질적으로 화염의 내부 부분의 색입니다.아래에서 화염의 보조 색상이 흰색으로 설정되어 더 큰 외부 입자와 구별되는 파란색으로 설정된 입자를 확인할 수 있습니다. Fire.Color 설정.내부 입자는 1의 ParticleEmitter.LightEmission 을 사용하므로 더 어두운 색상은 대신 입자가 투명하게 나타나게 하고(따라서 검은색은 내부 입자 렌더링을 완전히 중단합니다).
코드 샘플
This code sample adds Fire to all BasePart in the Workspace named "Torch".
for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end
Size
이 속성은 화염 입자의 크기를 결정합니다.범위는 2에서 30이어야 합니다.ParticleEmitter.Size 와는 달리, 화염의 실제 크기는 스터드의 동일한 크기와 1:1로 일치하지 않으며, 약간 더 작습니다.
환경을 더 일관되게 만들려면 PointLight 형제를 Fire 개체에 추가하십시오.이 속성에 비례하여 PointLight.Brightness 및 PointLight.Range 을 설정하여 더 큰 화염이 더 많은 빛을 생성합니다.
코드 샘플
This code sample adds Fire to all BasePart in the Workspace named "Torch".
for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end