以前は、連続して再生するパーティクル、例えば 火山からの煙 と同様のものと一緒に作業しました。粒子は、爆発などの単一のバーストでも使用できます。このチュートリアルでは、パーティクルの爆発を発してプレイヤーを殺すトラップを作る方法を示します。
エミッターの設定
爆発は、バーストを生成するいくつか変更されたプロパティを持つパーティクルエミッターを使用します。
危険そうなトラップを設計します。次に、部品に パーティクルエミッター を名前 爆発 として挿入します。
これらのプロパティを使用して電気スパーク効果を作成します。
性質 値 説明 テクスチャ rbxassetid://6101261905 電気スパークテクスチャ。 ドラッグ 10 パーティクルがどれほど速く速度を失うか。 ライフタイム 0.2, 0.6 爆発粒子を短時間存在させる。 速度 20, 40 短い寿命を補償します。 スプレッド角 180, 180 すべての方向に粒子を発射します。 ため、トラップは粒子を連続して発射し、 有効 を オフ に切り替えません。
テストパーティクルバースト
パーティクル爆発をテストするには、RRoblox(ロブロックス)blox によって開発された Studio プラグインを使用できます。
マーケットプレイスページに移動し、Emit() プラグイン プラグイン。そのページで、 インストール ボタンをクリックします。
Studio が開いたとき、プラグインは自動的にインストールされます。
爆発 エミッターを選択し、ゲームウィンドウの左上に表示されるプラグイン UI に注意してください。番号ボックスに、 100 (放出するパーティクルの量) を入力し、Enter を押します。
エミッターをテストするには、 エミット ボタンを押します。
色と透明度
追加のステップで爆発をより印象的に見せることができます。
プロパティの横にある 3 つのドットをクリックして、エミッタの 色 のシーケンスウィンドウを開きます。次に、ウィンドウでキーポイントを作成して、色のグラデーションを作成します。
透明性のためには、 スムーズなカーブ上で透明度を増やす 数字シーケンス を使用して、グラデーションでフェードアウトを表示します。
完了したパーティクル効果は以下のように見えるかもしれません。
スクリプトの設定
エミッタが完了したので、爆発はスクリプトを通じて再生できるようになりました。スクリプトは、トラップに触れるプレイヤーをチェックして動作します。誰かを検出するたびに、粒子が放出され、プレイヤーが死亡します。
トラップパーツで、新しい スクリプト 名 PlayExplosion を追加します。
変数を設定して、パーツとエミッタを保存します。次に、爆発ごとに放出される粒子数を保存する変数 EMIT_AMOUNT を含めます。
local trapObject = script.Parentlocal particleEmitter = trapObject.Explosionlocal EMIT_AMOUNT = 100コードしてイベントをチェックして、Humanoid がパーツに触れているかどうかを確認します。もしそうなら、そのヒューマノイドの体力を 0 に設定し、再スポーンを強制します。
local trapObject = script.Parentlocal particleEmitter = trapObject.Explosionlocal EMIT_AMOUNT = 100local function killPlayer(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.Health = 0endendtrapObject.Touched:Connect(killPlayer)
爆発を再生する
スクリプトでは、Emit() 関数を使用して粒子が放出されます。これにより、数の粒子の一時爆発が生成されます。
Emit() 関数を呼び出し、以前に作成された変数 EMIT_AMOUNT を渡します。
local trapObject = script.Parentlocal particleEmitter = trapObject.Explosionlocal EMIT_AMOUNT = 100local function killPlayer(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.Health = 0particleEmitter:Emit(EMIT_AMOUNT)endendtrapObject.Touched:Connect(killPlayer)トラップに入ってスクリプトをテストします。
このチュートリアルの例に少し変更を加えるだけで、さまざまな異なる効果を作成できます。いくつかの代替には、収集可能なオブジェクトを集めるためのキラキラ、またはプロジェクタの影響を示す爆発が含まれます。