ParticleEmitter
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
ParticleEmitter は、世界にカスタマイズ可能な 2D パーティクルを発生させる特殊なオブジェクトです。パーティクルを発生させるには、 Class.BasePart または</
エミッターが Enabled で非ゼロの Rate を持っている場合、パーティクルは自動的にエミットされます。非ゼロの <
デフォルトでは、パーティクルはカメラに向きますが、Orientation はパーティクルの速度を尊重するように変更できます。
パーティクルの Lifetime
パーティクルエミッターの作成とカスタマイズについては、パーティクルエミッター を参照してください。
コードサンプル
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
概要
プロパティ
すべてのアクティブパーティクルのグローバル軸加速度を、1秒あたりのスタッドで測定します。
エミッターの ParticleEmitter.LightInfluence が 0 のとき、エミッターから放出される光をスケールします。
個々のライフタイムですべてのアクティブパーティクルの色を決めます。
パーティクルの減速速度を幾何学的に減速させる速度を決めます。
パーティクルが放出するオブジェクトの顔を決める。
エミッターからパーティクルが放出されるかどうかを決定します。
フレームごとにフリップブックのテクスチャアニメーションの速度を決めます。
フリップブックに Texture が互換性がない場合の表示エラーメッセージ。
フリップブックのテクスチャのレイアウトを決定します。None、Grid2x2、Grid4x4、または Grid8x8 である必要があります。
フリップブックアニメーションのタイプを決定します。Loop、OneShot、PingPong 、または Random が必要です。
パーティクルのランダムなフレームを選択したランダムなフレームでアニメーションを開始するか、常にフレームゼロで開始するかを決定します。
最新のパーティクルにランダムな年齢を定義します。
パーティクルの色を背後の色とどれくらい混ぜるかを決めます。
環境光によってパーティクルがどれくらい影響されるかを決めます。
放出されているパーツと一緒にパーティクルが堅く移動するかどうかを決めます。
パーティクルのオリエントierung を指定します。
秒あたりに放出されるパーティクル数を決めます。
秒あたりの度数で表される角度速度の範囲を決めます。
新しくエミットされたパーティクルの範囲を度数で決定します。
エミッターの形状を「ボックス」、「球」、「円筒」 、または「ディスク」に設定します。
パーティクルが外にのみ、または両方の方向にしか出ていないかを設定します。
シリンダー、ディスク、スフィア、ボックス形式のパーティクルエミッションに影響を与える。
パーティクルエミッションを「ボリューム」または「表面」のみに設定します。
個々のパーティクルの寿命にわたって世界のサイズを決める。
スタッド 毎秒で表される新しいパーティクルのエミット速度のランダムな範囲を決定します。
パーティクルがランダムに放出される角度を度数で決めます。
パーティクルの非一致スケーリングを許可し、寿命全体に曲線をコントロールします。
パーティクルのレンダリング画像を決定します。
パーティクルエフェクトの速度を制御する値が 0 から 1 の間です。
個々のライフタイムのパーティクルの透明度を決める。
パーティクルが放出されるときに、親の速度のどれくらいがパーティクルに継承されるかを決めます。
エミットされたパーティクルが Workspace.GlobalWind ベクトルに従っていますか。
パーティクルの前方/後方レンダリングポジションを決定します。用于して、パーティクルがトップ/ボトムでレンダリングされるかどうかを制御します。
方法
放出されたすべてのパーティクルをクリアします。
特定のパーティクルを発します。
プロパティ
Acceleration
アクセラレーション プロパティは、パーティクルの Class.ParticleEmitter.Speed|Speed が生命時間全体にどのように変化するかを決定します。これは、Speed を使用して、アクセラレーション
加速度は、EmissionDirection の中のベクトルポイントが反対方向にある場合、パーティクルを下げることができます。そうでない場合、速度を上げます。
Color
色 プロパティは、個々のライフタイムのすべての有効なパーティクルの色を決定します。色は、Class.ParticleEmitter.Texture|テクスチャ のレンダリング時に、エミッターの Class.ParticleEmitter.Transparency|Transparency
このプロパティを変更すると、エミッターが発するすべてのパーティクルに影響します。現在および将来の両方です。
このプロパティがグラデーションを使用すると、パーティクルの現在の色は、パーティクルの年齢とその総寿命を使用してラインでインターポリングされます。たとえば、パーティクルが 2 秒前にスポーンし、 4 秒の寿命を持っている場合、色は、パーティクルの
EmissionDirection
EmissionDirection プロパティは、パーティクルが放出する親オブジェクトの顔 ( Class.ParticleEmitter.Speed|Speed) を決定します。 Class.ParticleEmitter.SpreadAngle|SpreadAngle は、パーティクルが向きを変えて放出されることを意味します。1> Class.ParticleEmitter.SpreadAngle|SpreadAngle</
Class.ParticleEmitter を Attachment に追加し、方向がある場合は、このプロパティを使用せずにアタッチメント自体を回転できます (Attachment.Orientation) 。
Enabled
このプロパティは、エミッターからパーティクルが放出されているかどうかを決定します。これを force に設定すると、パーティクルの生成を停止できますが、既存のパーティクルは有効になります。このプロパティは、パーティクルエフェクトをプレイスホルダーに保持したままにしたい場合に便利です。
無効なエミッターからすべてのパーティクルをクリアするには、Clear() を呼び出します。その後、必要に応じて、Emit() エミッターによってパーティクルをエミットし、レンダリングします。
FlipbookFramerate
フリップブックフレームレート プロパティは、フレームごとの秒でフリップブックのテクスチャアニメーションがどれくらい速いかを決定します。Lifetime のように、最小限と最大限の範囲を設定して、フリップブックのフレームレートをランダム化できます。最大 30
FlipbookIncompatible
フリップブックに Texture が互換性がない場合、表示エラーメッセージは Class.ParticleEmitter.Texture|Texture です。フリップブックのテクスチャは 8×8、16×16、32×32、64×64、128×128、256×256、512×
FlipbookLayout
プロパティ FlipbookLayout は、テクスチャのレイアウトを決定します。 Enum.ParticleFlipbookLayout の任意の値であることができます:
- なし – フリップブックの機能を無効にし、テクスチャをパーティクルのライフタイムにわたって単一の静的テクスチャとして使用します。
- Grid2x2 – 4-フレームアニメーション用の 2×2 フレーム。
- Grid4x4 – 16フレームのアニメーション用の 4×4 フレーム。
- Grid8x8 – 64フレームのアニメーション用のグリッドフレーム。
FlipbookMode
フリップブックモード プロパティは、フリップブックアニメーションの種類を決定します。Enum.ParticleFlipbookMode の任意の値であることができます:
- ループ – 最後のフレームをプレイした後、最初のフレームから再びプレイします。
- OneShot – アニメーションのみを通過する 1 回のみのアプリケーションでプレイ。この設定では、 Class.ParticleEmitter.FlipbookFramerate|FlipbookFramerate
- PingPong – 最初のフレームから最後のフレームまで、および最後のフレームから最初のフレームまで、パーティクルの Lifetime 全体を通して、再びプレイします。
- ランダム – フレームをランダムな順序でプレイし、1つのフレームから次のフレームにブレンド/クロスフェードします。これは、スライスごとに遅くなっている星のようなオーガニックパーティクルテクスチャに有用です。
FlipbookStartRandom
The FlipbookStartRandom プロパティは、各パーティクルが最初のフレームで始まるのではなく、ランダムなフレームで始まるかどうかを決定します。一つの使用例は、このプロパティを有効にし、また FlipbookFramerate をゼロに設定することです
Lifetime
ライフタイム プロパティは、新しく発生したパーティクルの最大および最小年齢を定義します。ライフタイムは、パーティクルごとに保存されるため、この値を変更すると、既存のパーティクルがランダムに選択されたライフタイムの終了まで有効になります。0 のライフタイムは、パーティクルが発生するのを防止します。
LightEmission
LightEmission プロパティは、Class.ParticleEmitter.Texture|Texture の色と、その背後の色をブレンドすることを決定します。0 の値は、通常のブレンドモードを使用しますが、1 の値は、追加のブレンドモードを使用します。変更すると、エミッター所有のすべてのパーティクルに影響します。
このプロパティは、LightInfluence と混同してはなりません、これはパーティクルが環境光にどのように影響されるかを決定します。
このプロパティは、パーティクルが環境を照らすようにします な パーティクルをライトします。そのためには、PointLight を使用してください。
LightInfluence
LightInfluence プロパティは、 レンダリング時に個々のパーティクルの色に影響を与える環境光 の量を決定します。これは、0-1の範囲にある必要があります。この範囲の外の値の動作は、パーティクルではなく、光です。0 では、パーティクルは
デフォルトでは、この値は Studio ツールで挿入された場合、1です。Instance.new() を使用して挿入された場合は、0です。
LocalTransparencyModifier
LockedToPart
The ロックされたパーツ プロパティは、Attachment にパーティクルが "スティック" するかどうかを決定します。BasePart は、親オブジェクトが移動すると、ロックステップで移動します。如
あるいは、VelocityInheritance プロパティを使用して、値 1 を持つ値があり、いくつかのエフェクトに最適な場合があります。
Orientation
オリエンテーション プロパティは、エミッターのパーティクルのジオメトリに使用するオリエンテーションモードを決定します。
<tbody><tr><td><b>フェイシングカメラ</b></td><td>スタンダードなカメラフェイシングのビルボード四角形; デフォルトの動作。</td></tr><tr><td><b>FacingCameraWorldUp</b></td><td>カメラに直面していますが、垂直向上の世界のみ回転します <b>Y</b> 軸。</td></tr><tr><td><b>VelocityParallel</b></td><td>移動方向に沿って並べられています。</td></tr><tr><td><b>VelocityPerpendicular</b></td><td>彼らの方向に沿って斜めになっています。</td></tr></tbody>
オリエンテーション | パーティクル動作 |
---|
Rate
レート プロパティは、エミッターが Enabled であると、毎秒にエミットされるパーティクルの数を決定します。これは、周波数の反対であり、パーティクルのレートが 5 毎0.2秒になります。変更すると、このプロパティはアクティブなパーティクルに影響しませ
RotSpeed
RotSpeed プロパティは、新しくエミットされたパーティクルのランダムな角度の速度を決定します。このプロパティは、秒あたりの度数で表される新しくエミットされたパーティクルのランダムな角度の速度を決定します。このプロパティは、Rotation と、RotSpeed の��
非常に高い角度速度のパーティクルは、角度の同期により、回転速度が低下するか、まったく回転しないように見えるかもしれません。たとえば、パーティクルが 360 度ずつ回転すると、回転には明らかな変更がありません。
Rotation
ローテーション プロパティは、[0, 360] ローテーションの範囲を決定します。正の値は、RotSpeed。このプロパティは、新しいパーティクルに完全に
この値に対する変更は、新しいパーティクルにのみ適用されます。既存のパーティクルは、元の回転を維持します。
Class.ParticleEmitter.ShapeStyle|ShapeStyle プロパティは、エミッターの形状を「ShapeStyle、ShapeInOut、1>シリンダー1>、または4>ディスク4>に設定します。選択した後、
ShapePartial
このプロパティは、Shape 値により、異なるアクションを実行します:
シリンダーの場合、上限の角度比率が指定されます。0 の値は、シリンダーの上部がゼロの範囲を持つことを意味し、コーンになります。1 の値は、シリンダーが歪みなしです。
For discs, it specifies the inner radius proportion. A value of 0 means the disc is fully closed ( circle/ellipse), while a value of 1 means emission only occurs on the outermost rim of the disc. Values between 0 and 1 emit from an annulus with a certain thickness.
球の場合、エミットするパーティクルの角度は球の半球で指定されます。1 の値は、パーティクルが球全体から放出される角度を指定します。0.5 の値は、パーティクルが半球から放出される角度を指定します。0 の値は、パーティクルが北極の単一のポイントから放出されるだけです。
視覚的な例については、ここを参照してください。
Size
サイズ プロパティは、個々のライフタイムのすべてのアクティブパーティクルの世界サイズを決定します。このプロパティは、パーティクルの各サイズを表示するスクエア Texture を代表します。これは、 Class.ParticleEmitter.Transparency|Transparency </
パーティクルの現在のサイズは、パーティクルの年齢とその総ライフタイムを使用して、このシーケンスで直接交差することにより確定します。たとえば、パーティクルが 2 秒前にスポーンし、 4 秒のライフタ
Speed
速度 プロパティは、スタッドあたりの秒ごとに新しいパーティクルが放出するランダムな速度範囲 (最小値から最大値) を決定します。各パーティクルの速度は、エミッション時に選択され、EmissionDirection に適用されます。ネガティブ値は、パーティクルが<
Class.ParticleEmitter.Speed|Speed を変更すると、アクティブなパーティクルは影響を受けず、彼らは既存の速度を維持します。しかし、Acceleration、Drag、
SpreadAngle
Class.ParticleEmitter.EmissionDirection|EmissionDirection プロパティは、パーティクルがエミットされるランダムな角度を決定します。たとえば、EmissionDirection が トップ (+ 1>Y
1つの軸を 360 に設定すると、パーティクルが サークル のすべての方向に発生します。両方を 360 に設定すると、パーティクルが 球 のすべての方向に発生します。
Squash
パーティクルの非一致スケーリングを許可し、寿命全体に曲線をコントロールします。パーティクルの値が 0 を超えると、パーティクルが横向きに縮み、縦向きに成長します。パーティクルの値が 0 未満では、パーティクルが横向きに縮み、縦向きに成長します。
Texture
テクスチャ プロパティは、パーティクルにレンダリングされる画像を決定します。この画像は Class.ParticleEmitter.Color|Color 、 Class.ParticleEmitter.Transparency|Transparency 、1> Class.ParticleEmitter.LightInfluence|LightInflu
Transparency
透明度 プロパティは、すべての有効なパーティクルの個々のライフタイムの透明度を決定します。これは、Class.ParticleEmitter.Size|Size のように、パーティクルに時間をかけると変化するのと同じように機能します。レンダリングの場合、0 は完全に不可視です (オペーク)、1 は完全に可視で
パーティクルのプレゼントの透明度は、パーティクルの年齢とその総ライフタイムを使用して、直接接近して決定します。たとえば、パーティクルが 2 秒前にスポーンし、4 秒のライフタイムを持っている場
VelocityInheritance
VelocityInheritance プロパティは、<a href="/reference/engine/engine/">エンジン</a> のエミット時にパーティクルが継承する <a href="/reference/engine/engine/">Class.BasePart.Velocity|Velocity</a> の量を決定します。0 の値は、パーティクルが親パーツの <a href="/reference/engine/engine/">Class.BasePart</a> に持続する
Class.ParticleEmitter.Drag|Drag と Class.ParticleEmitter.Drag|Drag を組み合わせると、パーティクルエミッターが移動部分からパーティクルを「落ち着かせ」るかのように見える場合があります。
ZOffset
ZOffset プロパティは、スタッドでパーティクルの前方-後方レンダリングポジションを決定します。このプロパティは、スクリーン上でパーティクルのサイズを変更せずに、スタッドでパーティクルの前方-後方レンダリングポジションを決定します。このプロパティは、GuiObject.ZIndex
ポジティブ値は、パーティクルをカメラに近づけ、ネガティブ値は、パーティクルを遠ざけます。十分にネガティブ値は、パーティクルを親パーツの中または後ろにレンダリングできます。
方法
Clear
Clear メソッドは、Class.ParticleEmitter が発生する通常のエミッション (non-zero Class.ParticleEmitter.Rate|Rate) を通じて、すべての既存のパーティクルを即座にクリアします。Class.ParticleEmitter:Emit()|Emitter() は、Class.ParticleEmitter:Enable|Enable のエ
戻り値
コードサンプル
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end
Emit
エミットメソッドは、Class.ParticleEmitter が、ParticleEmitter を即座にエミットすることを引き起こします。
パラメータ
放出するパーティクル数。
戻り値
コードサンプル
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