Fire

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Lửa là một trong nhiều lớp phát hạt được sẵn sàng.Giống như các đối tượng phát bức xạ khác, một lửa phát ra các hạt khi được gắn vào một và trong khi .Vật thể này hữu ích để tạo ra một hiệu ứng hình ảnh nhanh chóng trong một tích tắc; đối với công việc chi tiết hơn, tốt hơn là nên sử dụng một ParticleEmitter thay thế.

Hạt lửa phát ra từ trung tâm của BasePart đến nơi chúng được cha mẹ.Các hạt phát ra theo hướng trên cùng (+Y); tuy nhiên, một hạt tiêu cực Fire.Heat có thể được sử dụng để phát sóng theo hướng dưới (-Y).Sử dụng một Attachment như là cha thay vì cho phép vị trí/hướng phát sóng được thay đổi bằng cách thay đổi Attachment.CFrame hoặc các thuộc tính liên quan.

Khi Enabled tắt, các hạt còn tồn tại tiếp tục render cho đến khi hết hạn.Tuy nhiên, nếu Fire's Parent được đặt thành nil tất cả các hạt hiện có sẽ biến mất ngay lập tức, tương tự như hành vi của ParticleEmitter:Clear() .Bạn có thể thiết lập Parent để nil và quay lại lại đối tượng ban đầu chính xác để đạt được hiệu ứng tương tự.Nếu không muốn biến mất ngay lập tức, hãy thử di chuyển cha của Lửa sang một vị trí xa xôi, sau đó Destroy Lửa sau vài giây bằng cách sử dụng Debris:AddItem() .Điều này sẽ cho các hạt hiện có thời gian hết hạn.

Các đối tượng lửa không phát ra ánh sáng sở hữu.Để giúp tạo ra một môi trường hòa hợp xung quanh một đối tượng đang cháy, hãy thử thêm một PointLight với một màu cam Color .Điều này có thể giúp ngọn lửa của bạn trông thực tế hơn.

Vật phát lửa bao gồm hai phát xạ viên.Cả hai đều bị ảnh hưởng theo nhiều cách bởi Lửa Size , Heat , ColorSecondaryColor .Các hạt phát ra từ các phát xạ viên thứ cấp nhỏ hơn có tuổi thọ lâu hơn đáng kể (và tăng cao hơn) so với những hạt phát xạ bởi phát xạ viên chính.Trong video bên phải, bạn có thể thấy hai phát xạ với các màu khác biệt.

Không giống như lửa thực tế, đối tượng Lửa không lan rộng trên chính nó .Nếu bạn nhận thấy hành vi này trong trò chơi của mình, nó xảy ra vì một Script .

Mẫu mã

This code sample adds Fire to all BasePart in the Workspace named "Torch".

Lighting Torches

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

Tóm Tắt

Thuộc Tính

  • Đọc Song Song

    Xác định màu của các hạt lửa chính (bên ngoài).

  • Đọc Song Song

    Xác định xem các hạt lửa được phát ra hay không.

  • Không Sao Chép
    Đọc Song Song

    Xác định tốc độ mà các hạt được phát ra.

  • Ẩn
    Không Sao Chép
    Đọc Song Song
  • Đọc Song Song

    Xác định màu của các hạt lửa thứ cấp (bên trong).

  • Không Sao Chép
    Đọc Song Song

    Xác định kích cỡ của các hạt lửa.

  • Đọc Song Song

    Giá trị nằm giữa 0-1 kiểm soát tốc độ của hiệu ứng hạt.

Thuộc Tính

Color

Đọc Song Song

Thuộc tính Màu xác định màu của các hạt lớn hơn được phát ra bởi một đối tượng Fire .Nó về cơ bản là màu của phần bên ngoài của ngọn lửa.

Nói phổ quát, những ngọn lửa mát mẻ nằm bên ngoài của một ngọn lửa.Do đó, lửa trông thực tế hơn nếu các phần bên ngoài có màu đỏ hoặc màu cam-vàng.Một ngọn lửa sáng suốt cả ngày không trông rất thực tế, vì vậy tránh đặt thuộc tính này thành màu vàng.Hãy thử thêm một PointLight với PointLight.Color như một em họ của Fire .Điều này sẽ cung cấp ánh sáng cho môi trường xung quanh và làm cho nó cảm thấy gắn kết hơn với các hạt lửa.

Mẫu mã

This code sample adds Fire to all BasePart in the Workspace named "Torch".

Lighting Torches

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

Đọc Song Song

Tính năng Enabled, giống như ParticleEmitter.Enabled, xác định xem các hạt lửa có được phát ra hay không.Bất kỳ hạt nào đã phát ra sẽ tiếp tục hiển thị cho đến khi thời gian sống của chúng hết hạn.Tính năng này hữu ích để giữ các hiệu ứng lửa được làm trước cho đến khi cần thiết sau này.Vì các hạt lửa bị phá hủy khi đối tượng Fire của Instance.Parent được đặt thành nil , tính năng này hữu ích trong việc cho phép các hạt hiện có có cơ hội hết hạn trước khi tiêu diệt hoàn toàn đối tượng Lửa.Xem chức năng bên dưới.


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)

Mẫu mã

This code sample allows a player to click the parent BasePart to toggle a fire effect.

Toggle 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

Không Sao Chép
Đọc Song Song

Thuộc tính Nhiệt xác định tốc độ phát ra của các hạt từ đối tượng Fire.Nó bị giới hạn trong phạm vi [-25, 25].Các giá trị dương nằm ở hướng trên cùng (+Y) của cha mẹ BasePart hoặc Attachment .Nó cũng ảnh hưởng đến ParticleEmitter.Acceleration của các hạt bên trong.Dưới đây, bạn có thể xem các hiệu ứng của nhiệt cao hơn trên tốc độ/tốc độ của các hạt lửa (bên trái có Nhiệt = 9, bên phải có Nhiệt = 18).

Mẫu mã

This code sample adds Fire to all BasePart in the Workspace named "Torch".

Lighting Torches

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

Ẩn
Không Sao Chép
Đọc Song Song

SecondaryColor

Đọc Song Song

Thuộc tính SecondaryColor xác định màu của các hạt nhỏ hơn được phát ra bởi một đối tượng Fire .Nó về cơ bản là màu của phần bên trong của ngọn lửa.Bên dưới, bạn có thể thấy Màu thứ cấp của ngọn lửa được đặt thành trắng để phân biệt với các hạt lớn hơn, bên ngoài có Fire.Color được đặt thành xanh.Cần lưu ý rằng các hạt bên trong sử dụng 1 ParticleEmitter.LightEmission của 1, vì vậy các màu tối hơn sẽ thay vào đó khiến các hạt trở nên trong suốt (và do đó màu đen sẽ ngừng hiển thị các hạt bên trong hoàn toàn).

Mẫu mã

This code sample adds Fire to all BasePart in the Workspace named "Torch".

Lighting Torches

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

Không Sao Chép
Đọc Song Song

Tính chất này xác định kích cỡ của các hạt lửa.Nó phải nằm trong phạm vi từ 2 đến 30.Không giống như ParticleEmitter.Size, kích thước thực của ngọn lửa sẽ không phù hợp 1:1 với kích thước tương đương trong đinh tán; nó nhỏ hơn một chút.

Để làm cho môi trường của bạn trở nên hòa hợp hơn, hãy thử thêm một PointLight như một em họ vào đối tượng Fire.Đặt PointLight.BrightnessPointLight.Range tỷ lệ với thuộc tính này để các ngọn lửa lớn sản xuất nhiều ánh sáng hơn.

Mẫu mã

This code sample adds Fire to all BasePart in the Workspace named "Torch".

Lighting Torches

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

TimeScale

Đọc Song Song

Một giá trị nằm giữa 0-1 hơn kiểm soát tốc độ của hiệu ứng hạt.Tại 1 nó chạy với tốc độ bình thường, tại 0.5 nó chạy với tốc độ một nửa và tại 0 nó đóng băng thời gian.

Phương Pháp

Sự Kiện