ParticleEmitter
*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.
Một ParticleEmitter là một đối tượng đặc biệt emits các hạt 2D tùy chỉnh vào thế giới. Để emits và render hạt, nó phải đượ
Các hạt sẽ tự động phát ra khi emitter là Enabled với một non-zero Rate , hoặc thủ công khi emitter đ
Mặc định, các hạt đối mặt máy ảnh, nhưng Orientation có thể được chỉnh sửa để tôn trọng tốc độ của hạt thay vì nó.
Trong khi đang Class.ParticleEmitter.Lifetime|Lifetime</
Để biết thêm về cách tạo và tùy chỉnh các emitter hạt, xem Particle Emitters.
Mẫu mã
local emitter = Instance.new("ParticleEmitter")
-- Number of particles = Rate * Lifetime
emitter.Rate = 5 -- Particles per second
emitter.Lifetime = NumberRange.new(1, 1) -- How long the particles should be alive (min, max)
emitter.Enabled = true
-- Visual properties
emitter.Texture = "rbxassetid://1266170131" -- A transparent image of a white ring
-- For Color, build a ColorSequence using ColorSequenceKeypoint
local colorKeypoints = {
-- API: ColorSequenceKeypoint.new(time, color)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- At t=0, White
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- At t=.5, Orange
ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0)), -- At t=1, Red
}
emitter.Color = ColorSequence.new(colorKeypoints)
local numberKeypoints = {
-- API: NumberSequenceKeypoint.new(time, size, envelop)
NumberSequenceKeypoint.new(0, 1), -- At t=0, fully transparent
NumberSequenceKeypoint.new(0.1, 0), -- At t=.1, fully opaque
NumberSequenceKeypoint.new(0.5, 0.25), -- At t=.5, mostly opaque
NumberSequenceKeypoint.new(1, 1), -- At t=1, fully transparent
}
emitter.Transparency = NumberSequence.new(numberKeypoints)
emitter.LightEmission = 1 -- When particles overlap, multiply their color to be brighter
emitter.LightInfluence = 0 -- Don't be affected by world lighting
-- Speed properties
emitter.EmissionDirection = Enum.NormalId.Front -- Emit forwards
emitter.Speed = NumberRange.new(0, 0) -- Speed of zero
emitter.Drag = 0 -- Apply no drag to particle motion
emitter.VelocitySpread = NumberRange.new(0, 0)
emitter.VelocityInheritance = 0 -- Don't inherit parent velocity
emitter.Acceleration = Vector3.new(0, 0, 0)
emitter.LockedToPart = false -- Don't lock the particles to the parent
emitter.SpreadAngle = Vector2.new(0, 0) -- No spread angle on either axis
-- Simulation properties
local numberKeypoints2 = {
NumberSequenceKeypoint.new(0, 0), -- At t=0, size of 0
NumberSequenceKeypoint.new(1, 10), -- At t=1, size of 10
}
emitter.Size = NumberSequence.new(numberKeypoints2)
emitter.ZOffset = -1 -- Render slightly behind the actual position
emitter.Rotation = NumberRange.new(0, 360) -- Start at random rotation
emitter.RotSpeed = NumberRange.new(0) -- Do not rotate during simulation
-- Create an attachment so particles emit from the exact same spot (concentric rings)
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 5, 0) -- Move the attachment upwards a little
attachment.Parent = script.Parent
emitter.Parent = attachment
Tóm Tắt
Thuộc Tính
Xác định tốc độ tăng trưởng trên trục toàn cầu của tất cả các hạt nano đang hoạt động, đo bằng studs mỗi giây.
Tăng cường ánh sáng phát ra từ emitter khi ParticleEmitter.LightInfluence là 0.
Xác định màu của tất cả các hạt nano đang hoạt động trong suốt cuộc sống của chúng.
Xác định tỷ lệ mà các hạt sẽ mất một nửa tốc độ của chúng qua sự suy giảm chỉ số.
Xác định khuôn mặt của đối tượng phát ra các hạt bụi.
Xác định apx có phát ra từ emitter không.
Xác định tốc độ hoạt họa bản văn của cuốn sách nhanh hơn trong khung hàng giây.
Nhận xét lỗi để hiển thị nếu Texture là không thích hợp cho một cuốn sách trình bày.
Xác định trang bị của trang bị bản in. Phải là Không, Grid2x2, Grid4x4, hoặc Grid8x8.
Xác định loại hoạt hiệu ứng độngcủa cuốn sách trượt tuyết. Phải là Loop, OneShot, PingPong hoặc Random.
Xác định có phải hoạt họa bắt đầu tại một khung ngẫu nhiên được chọn theo hạt hoặc không bao giờ bắt đầu tại khung zero.
Định một loạt các giới hạn tuổi tác ngẫu nhiên cho các hạt nano mới phát sóng.
Xác định màu sắc của các hạt nano được trộn với các màu sắc đằng sau chúng.
Xác định số lượng hạt bị ảnh hưởng bởi ánh sáng môi trường.
Xác định xem các hạt liệu có di chuyển theo cách cứng rắn với phần đang phát ra từ nó hay không.
Chỉ định cách dịch chuyển hạt.
Xác định số lượng hạt nhân được phát hành mỗi giây.
Xác định tốc độ góc của các hạt được phát, đo bằng độ trong một giây.
Xác định phạm vi quay trong độ cho các hạt mới phát sóng.
Định hình hình dạng của emitter để thành một hộp, một quả cầu, một trụ hoặc một đĩa.
Đặt whether particles emit outward only, inward only, or in both directions.
Tác động đến sự thải hạt của cylinder, disc, sphere và hộp.
Điều chỉnh phát xuất hạt nano thành hạt nano volumetric hoặc bề mặt.
Xác định kích thước thế giới trên mỗi một cuộc sống của các hạt.
Xác định một loạt tốc độ ngẫu nhiên (từ thấp nhất đến tối đa) mà các hạt mới sẽ phát ra, đo bằng studs mỗi giây.
Xác định các góc mà hạt có thể phát ra ngẫu nhiên, đo bằng độ.
Cho phép thay đổi kích thước không đồng nhất của hạt, kiểm soát đường cong trong suốt cuộc đời.
Xác định hình ảnh được hiển thị trên các hạt.
Giá trị giữa 0 và 1 điều khiển tốc độ hiệu ứng hạt nhân.
Xác định độ trong suốt của hạt vào thời gian cuộc sống của họ.
Xác định mức độ di chuyển của cha mẹ khi phát ra.
Dù các hạt được phát ra có theo đường dẫn Workspace.GlobalWind hay không.
Xác định vị trí hiển thị điều chỉnh của hạt; được sử dụng để điều khiển việc điều chỉnh hạt ở trên/dưới.
Phương Pháp
Loại bỏ tất cả các hạt đã phát ra.
Phát ra một số lượng nhất định của hạt.
Thuộc Tính
Acceleration
Thuộc tính Tốc độ xác định cách Speed của các hạt thay đổi trong suốt cuộc sống của chúng. Nó được định nghĩa bằ
Tốc độ giảm dần của các hạt sẽ chậm hơn nếu tham chiếu vectơr ở phía bên dưới của chúng trong khi chúng được phát ra. Nếu không, nó sẽ tăng tốc.
Color
Thuộc tính Màu xác định màu của tất cả các hạt đang hoạt động trong suốt cuộc sống của chúng. Màu được áp dụng cho Class.ParticleEmitter.Texture|Texture
Đổi thuộc tính này ảnh hưởng đến tất cả các hạt phát ra bởi emitter, đều là hiện tại và tương lai.
Khi thuộc tính này sử dụng một bảng màu ColorSequence, màu hiện tại của một hạt sẽ được xác định bằng cách trừu tượng hóa trên chuỗi sử dụng của hạt và tổng thời gian sử dụng của nó. Ví dụ
Drag
Thuộc tính Kéo xác định tỷ lệ trong giây lát mà các hạt nano sẽ mất một nửa tốc độ của chúng qua sự suy giảm thể hiện. Kéo được áp dụng bằng cách mở rộng tốc độ mong đ
EmissionDirection
Thuộc tính EmissionDirection xác định hướng mặt ( Class.ParticleEmitter.Speed|Speed) của cha đối tượng thảo luận phát ra. Một lượng tích cực Class.ParticleEmitter.Speed|Speed có nghĩa là các hạt phản xạ trong hướng ngược lại.
Nếu bạn thêm một ParticleEmitter vào một Attachment , có hướng, bạn có thể quay các bộ phận khác nhau ( Attachment.Orientation ) thay vì sử dụng thuộc tính này.
Enabled
Thuộc tính Đã bật xác định xem các hạt được phát từ emitter. Cài đặt này để false ngừng cho phép các hạt khác được tạo, nhưng bất kỳ hạt nào hiện tại vẫn được giữ cho đến khi hết hạn. Thuộc tính n
Nếu bạn muốn xóa tất cả các hạt từ một người phát bị vô hiệu hóa, gọi Clear() . Sau đó, nếu muốn, gọi Emit() trên người phát để phát và render hạt.
FlipbookFramerate
Thuộc tính FlipbookFramerate xác định tốc độ hoạt ảnh sống động của chất bôi trước khung mỗi giây. Giống như Lifetime, bạn có thể cài đặt một phạm vi tối thiểu và tối đa để ngẫu nhiên hóa tỷ l
FlipbookIncompatible
Lời nhắc nhở lỗi để hiển thị nếu Texture đang không thích hợp cho một cuốn sách trình bày. Texture cuốn sách trình bày phải là của kích thước 8×8, 16×16, 32×32, 64×
FlipbookLayout
Thuộc tính FlipbookLayout xác định trang bị của chất béo. Nó có thể là bất kỳ giá trị của hàng đoạn Enum.ParticleFlipbookLayout 枚:
- Không có – Vô hiệu hóa các tính năng trình chiếu và sử dụng chất liệu làm một chất liệu statique duy nhất trên suốt cuộc sống của hạt nano.
- Grid2x2 – Khung 2×2 cho hoạt hiệu ứng động4 khung.
- Grid4x4 – Khung 4×4 cho hoạt hiệu ứng động16 khung.
- Grid8x8 – 8 khung cho hoạt hiệu ứng động64 khung.
FlipbookMode
Thuộc tính FlipbookMode xác định loại hoạt hiệu ứng độngtrình bày trên bản lưu. Nó có thể là bất kỳ giá trị nào trong hệ thống Enum.ParticleFlipbookMode 枚:
- Loop – Chơi liên tục qua tất cả các khung, bắt đầu lại ở khung đầu tiên sau khi chơi các khung cuối cùng.
- OneShot – Chơi qua hoạt họa chỉ một lần trong suốt cuộc sống của hạt nhân. Với cài đặt này, Class.ParticleEmitter.
- PingPong – Chơi từ khung thứ nhất đến khung thứ cuối, sau đó ngược lại từ khung cuối đến khung thứ nhất, lặp lại toàn bộ Lifetime của hạt nhân.
- Ngẫu nhiên – Chơi các khung trong một thứ tự ngẫu nhiên, tách/xé nhạt từ một khung sang khung tiếp theo. Điều này có thể hữu ích cho các bề mặt hạt nano ở tốc độ khung thấp, chẳng hạn như các vì sao chuyển động chậm giữa các hình dạng khác nhau.
FlipbookStartRandom
Thuộc tính FlipbookStartRandom xác định liệu mỗi hạt nhân bắt đầu tại một khung ngẫu nhiên của hoạt họa thay vì luôn bắt đầu ở khung đầu tiên. Một trường hợp dùng là bật các hạt nhân này và cũng đặ
Lifetime
Thuộc tính Cuộc sống định nghĩa tuổi tác tối đa và tối thiểu cho các hạt nano mới phát sóng. Cuộc sống được lưu trên cơ sở per-particle, vì vậy nếu giá trị này được thay đổi, các hạt nano hiện tại sẽ được kích hoạt cho đến khi hết thời
LightEmission
Thuộc tính LightEmission xác định việc trộn lẫn của các màu Texture với các màu đằng sau chúng. Một giá trị 0 sử dụng chế độ trộn lẫn bình thường khi một giá trị 1 sử dụng chế độ trộn lẫn thêm
Đặ性 này không nên được nhầm lẫn với LightInfluence để xác định cách các hạt bị ảnh hưởng bởi ánh sáng môi trường.
Thuộc tính này không làm cho các hạt phát sáng môi trường xung quanh chúng. Để làm được điều đó, hãy xem xét sử dụng một PointLight .
LightInfluence
Thuộc tính LightInfluence xác định mức độ ánh sáng môi trường ảnh hưởng đến màu của các hạt khi chúng được render. Nó phải ở trong khoảng 0-1; hành vi của các giá trị ngoài khoảng này không được định ngh
Theo mặc định, giá trị này là 1 nếu được tạo bằng các công cụ Studio. Nếu được tạo bằng các công cụ khác, nó là 0.
LocalTransparencyModifier
LockedToPart
Thuộc tính LockedToPart xác định nếu các hạt Attachment vào nguồn phát (nguyên mẫu là BasePart hoặc 1> Class.BasePart1> mà 4> Class.ParticleEmitter4> đang là con của) nếu đối tượ
Alternatively, consider using the VelocityInheritance property with a value of 1 which may be more appropriate for some effects.
Orientation
Thuộc tính Hướng tấm ván xác định chế độ hướng hợp phù hợp cho hình dạng hạt vật của một emitter.
<tbody><tr><td><b>Camera hướng ra</b></td><td>Biển bánh xe quảng cáo bên trước máy ảnh; hành vi mặc định.</td></tr><tr><td><b>Đang đối mặtCameraWorldUp</b></td><td>Đối diện với máy ảnh, nhưng quay chỉ trên trục dọc lên trên thế giới <b>Y</b> .</td></tr><tr><td><b>Tốc độ hướng tương tự</b></td><td>Được xếp hạng song song với hướng di chuyển của chúng.</td></tr><tr><td><b>Tốc độ hướng tây</b></td><td>Được xếp hạng theo hướng ngang để di chuyển hướng của họ.</td></tr></tbody>
Hướng tâm | Hành vi hạt nhân |
---|
Rate
Thuộc tính Đánh giá xác định số lượng hạt nano được phát ra mỗi giây khi emitter đang ở trạng thái Enabled . Đây là ngược lại của tần số, có nghĩa là một tỷ lệ 5 emits một hạt nano mỗi 0,2 giây. Khi thay
RotSpeed
Thuộc tính RotSpeed xác định một loạt tốc độ góc ngẫu nhiên cho các hạt vật mới phát sóng, được đo bằng độ mỗi giây. Một loạt tốc độ góc ngẫu nhiên được chọn khi phát sóng, vì vậy thay đổi thuộc tính này k
Các hạt vật với tốc độ quay rất cao có thể xuất hiện để quay chậm hơn hoặc không có gì tất cả, vì tốc độ quay của hạt vật được đồng bộ với tốc độ render của software. Ví dụ, nếu các hạt vật quay ở góc 360 độ mỗi khung, sẽ không có sự thay đổi nào về tốc độ quay.
Rotation
Thuộc tính Rotation xác định phạm vi quay của các hạt vật mới được phát ra, được đo bằng độ. Giá trị dương là trong hướng ngược chiều đồng hồ. Điều này thường được thiết lập thành <
Các thay đổi đến giá trị này chỉ ảnh hưởng đến các hạt mới; các hạt hiện tại giữ chuyển độ quay mà chúng đã phát sóng ban đầu.
Thuộc tính Hình dạng lập mô hình của emitter để vào một hộp, một quả cầu, một trụ hoặc một đĩa. Sau khi bạn đưa ra một lựa chọn,
ShapeInOut
Đặt whether particles emit outward only, inward only, or in both directions. For visual examples, see ở đây .
ShapePartial
Tùy vào giá trị Shape, thuộc tính này thực hiện một hành động khác:
Đối với trụ tròn, nó đặt ra một tỉ lệ bán kính trên cùng. Một giá trị 0 có nghĩa là trụ tròn có một tỉ lệ bán kính là 0, tạo thành một hình nón. Một giá trị 1 có nghĩa là trụ tròn không có độ dị biến.
Đối với các đĩa, nó định nghĩa kích thước bên trong hợp nhất. Một giá trị 0 có nghĩa là đĩa đã đóng hoàn toàn (hình tròn/trụ), trong khi một giá trị 1 có nghĩa là khu vực phát sóng chỉ xảy ra ở mép ngoài cùng của đĩa. Các giá trị giữa 0 và 1 phát sóng từ m
Đối với các hình cầu, nó đặt một góc trụ tròn trên các hạt phát sóng. Một giá trị 1 có nghĩa là các hạt phát sóng từ toàn bộ cầu; một giá trị 0,5 có nghĩa là các hạt phát sóng từ một nửa dome; một giá trị 0 có nghĩa là các hạt chỉ phát sóng từ một điểm ở cực b
Đối với ví dụ thị giác, xem ở đây .
ShapeStyle
Đặt phát xuất hạt vào một trong hai loại phát xuất volumetric hoặc bề mặt. Đối với ví dụ thị giác, xem ở đây .
Size
Thuộc tính Kích thước xác định kích thước thế giới của tất cả các hạt nhân đang hoạt động trong suốt cuộc sống của họ. Đây là thuộc tính Texture đại diện cho các kích
Kích thước hiện tại của một hạt nhân được xác định bằng cách tính toán trực tiếp trên chuỗi này bằng cách sử dụng tuổi thọ của hạt nhân và tổng số thời gian số
Speed
Chỉ số tốc độ Speed xác định một loạt tốc độ ngẫu nhiên (từ thấp nhất đến tối đa) mà các hạt sẽ phát ra, được đo bằng studs mỗi giây. Mỗi giác hạt được chọn khi phát hành và nó áp dụng trong Class.ParticleEmitter
Lưu ý rằng thay đổi Speed không ảnh hưởng đến các hạt nano đang hoạt động và chúng giữ lại tốc độ mà họ đã có. Tuy nhiên, Class.Part
SpreadAngle
Thuộc tính SpreadAngle xác định các góc ngẫu nhiên mà một hạt sẽ phát ra. Ví dụ, nếu EmissionDirection đang ở trên top (+
Đặt một trục về 360 sẽ khiến các hạt để phát ra trong tất cả các hướng trong một vòng tròn . Đặt cả về 360 sẽ khiến các hạt để phát ra trong tất cả các hướng trong một quả cầu .
Squash
Cho phép thu nhỏ kích thước của các hạt vật, kiểm soát đường cong trong suốt cuộc đời. Giá trị lớn hơn 0 làm cho các hạt vật thu nhỏ hơn trong khi giá trị nhỏ hơn 0 làm cho các hạt vật tăng trưởng trong khi kích thước.
Texture
Thuộc tính Texture xác định hình ảnh được hiển thị trên các hạt. Hình ảnh này được ảnh hưởng bởi Color , Class.ParticleEmitter.Trans
TimeScale
Một giá trị được tạo giữa 0 và 1 để điều khiển tốc độ hiệu ứng hạt. Ở 1, nó chạy ở tốc độ bình thường; ở 0,5 tốc độ chạy ở một nửa; ở 0, nó đóng băng trong thời gian.
Transparency
Đặc tính Độ trong suốt xác định độ trong suốt của tất cả các hạt nano trên toàn bộ cuộc sống của chúng. Nó hoạt động giống như Size trong cách nó ảnh hưởng đến các hạt nano theo thời gian. Trong g
Độ trong suốt của một hạt bị định bởi việc dịch hạch trên chuỗi này bằng cách sử dụng tuổi thọ của hạt và tổng số thời gian sống của nó. Ví dụ, nếu một hạt
VelocityInheritance
Thuộc tính VelocityInheritance xác định số lượng của Velocity của cha mẹ được thừa hưởng bởi các hạt khi phát ra. Một giá trị 0 có nghĩa là không có tốc độ được thừa hưởng, trong k
Khi được sử dụng cùng với Drag, một emitter hạt có thể xuất hiện để "thả" các hạt từ một bộ phận đang di chuyển.
WindAffectsDrag
Nếu đúng, các hạt được phát ra theoベクトル Workspace.GlobalWind. Chỉ áp dụng khi độ lớn của Drag tính số lớn hơn 0.
ZOffset
Thuộc tính ZOffset xác định vị trí xử lý điều chỉnh phía trước-qua trên của hạt, ở studs, mà không thay đổi kích thước của chúng trên màn hình. Khi thay đổi, thuộc tính này ảnh hưởng đến cả các hạt hiện tại và tương lai
Các giá trị dương di chuyển hạt về gần máy ảnh và các giá trị dương di chuyển hạt xa. Các giá trị dương đủ có thể khiến các hạt được hiển thị bên trong hoặc bên ngoài phần cha.
Phương Pháp
Clear
Phương thức Xóa ngay lập tức xóa tất cả các hạt nano đã được phát ra bởi Class.ParticleEmitter qua các khoản phát sóng tự nhiên của nó (không phải là ParticleEmitter trên mộ
Lợi Nhuận
Mẫu mã
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end
Emit
Các phương thức Phát sóng sẽ khiến cho ParticleEmitter phát ra ngay lập tức số lượng của hạt nano đã được cung cấp.
Tham Số
Số lượng các hạt để phát ra.
Lợi Nhuận
Mẫu mã
local RunService = game:GetService("RunService")
local emitter = script.Parent
local part = emitter.Parent
local PARTICLES_PER_STUD = 3
local lastPosition = part.Position
local distance = 0
local function onStep()
local displacement = part.Position - lastPosition
distance = distance + displacement.magnitude
local n = math.floor(distance * PARTICLES_PER_STUD)
emitter:Emit(n)
distance = distance - n / PARTICLES_PER_STUD
lastPosition = part.Position
end
RunService.Stepped:Connect(onStep)
emitter.Enabled = false
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end