Roblox向け煙VFX

Roblox向けの無料煙エフェクト:煙幕手榴弾、着地時の砂ぼこり、砂ぼこりの衝撃波、地面を這う霧、テレポート時の煙、ドリフト煙、カートゥーン風の煙のパフをフリップブックで使えます。夜に煙が光って見えないようにするライティング設定も紹介します。

更新日

煙は光ではなく物質なので、Robloxでの設定方法も変わります。通常のブレンド(LightEmission 0)が必要です。そうしないと、灰色や暗い部分が消えてしまいます。また、炎とは違い、通常はシーンに合わせて暗くなるようにします。Robloxには組み込みの Smoke オブジェクトがありますが、詳細な表現にはParticleEmitterを使うことがリファレンスで推奨されています。フリップブックなら、1つのパーティクルで形を保ちながら流れる煙を表現できます。

煙、砂ぼこり、霧

  • 覆い隠す: Smoke Screen Grenadeは勢いよく広がり、その場にとどまってから消えます。
  • 砂ぼこり: Landing Dust Cloudはプレイヤーが高所から着地するときに使います(下記)。Dust Shockwave (Top-Down)は上から見た叩きつけの演出に使います。
  • 雰囲気: Creeping Ground Fogは地面に沿ってループし、沼地、墓地、ホラーマップに使えます。
  • 煙のパフ: Teleport Smoke Puffは消える演出に、Smoke poofとCartoon Fight Dust Cloudはカートゥーン風のゲームに使えます。
  • 乗り物: ドリフトする車のタイヤの後ろにTyre Drift Smokeを表示します。

プレイヤーの着地時に出る砂ぼこり

着地時に砂ぼこりを出すと、動きに重みを加えられます。しかも、非常に軽量な演出です。このLocalScriptはキャラクターのHumanoidを監視し、0.4 sを超える落下の後に着地すると、足元でLanding Dust Cloudを再生します。砂ぼこりはフレームの下端に位置するため、Partは床からSizeの半分の高さに配置します。

LocalScript
-- LocalScript in StarterCharacterScripts
local Debris = game:GetService("Debris")
local template = game.ReplicatedStorage.Effects:WaitForChild("Landing Dust Cloud")

local character = script.Parent
local humanoid = character:WaitForChild("Humanoid") :: Humanoid
local root = character:WaitForChild("HumanoidRootPart") :: BasePart
local fallStart = 0

humanoid.StateChanged:Connect(function(_, new)
	if new == Enum.HumanoidStateType.Freefall then
		fallStart = os.clock()
	elseif new == Enum.HumanoidStateType.Landed and os.clock() - fallStart > 0.4 then
		local size = template.Attachment.Flipbook.Size.Keypoints[1].Value
		-- The floor under an R15 character (for R6, use 3 studs below the root).
		local floor = root.Position - Vector3.new(0, humanoid.HipHeight + root.Size.Y / 2, 0)
		local fx = template:Clone()
		fx:PivotTo(CFrame.new(floor + Vector3.new(0, size / 2, 0)))
		fx.Parent = workspace
		Debris:AddItem(fx, 3)
	end
end)

この演出は着地したプレイヤーにだけ再生されます。全員がお互いの砂ぼこりを見られるようにするには、アニメVFXと同様にサーバーから全クライアントへRemoteEventを発火します。あるいは、その処理を省略してもかまいません。多くのゲームでは、着地時の砂ぼこりは本人にだけ表示されます。

夜に暗くなる煙

書き出したフリップブックはすべて非ライティング(LightInfluence 0)なので、どんな光の下でもデザインどおりに見えます。炎や魔法には適しています。昼夜のあるマップや暗い部屋で煙を使う場合は、LightInfluenceを1に近づけると、煙がシーンのライティングを反映します。昼は灰色に、夜は暗くなります。まずは0.5から試すとよいでしょう。

煙の設定

  • 光らせない: 煙では常にLightEmission 0を使います。書き出し時に自動で設定されるため、このページのエフェクトはすべて光らない状態で書き出されます。
  • 大きく、ゆっくり: 煙は大きくゆっくり動くと煙らしく見えます。手榴弾の煙にはSize 10から20、着地時の煙には4から6を設定します。長い煙のループは、フレーム間をクロスフェードするFlipbookBlendFramesによって滑らかに再生されます。
  • 地面に置く: 霧や着地時の砂ぼこりは、フレームの下端に位置します。フレームの下端が地面に触れるよう、Partを地面からSizeの半分の高さに配置します。
  • 垂直に保つ: 霧や煙の柱にはOrientationをFacingCameraWorldUpに設定します。カメラを下に傾けても水平を保てます。
  • プレイヤーが通り抜ける霧: フリップブックは平面なので、カメラが通り抜けると端が見えます。プレイヤーの周囲に霧を出すには、距離を変えて複数のエミッターを使うか、マップ全体にRobloxのAtmosphereを使います。

フリップブックPNGは無料です。各エフェクトページのROBLOXボタンはアカウント不要で使えます。また、無料アカウントでもスタジオから、グリッドとテクスチャサイズを選んで書き出せます(1日3エフェクト)。エミッターを設定済みで再生用Scriptが付いた.rbxmxの準備済みモデルと、UI用のUIFlipbook.luauは、月額$7.99からのすべてのプランに含まれます。

ゲームに取り込む

すべての設定と2通りの導入方法、無料のPNGまたはすぐに使えるモデルは、Robloxセットアップページで確認できます。ジャンル別のエフェクトは無料のRoblox VFXをご覧ください。書き出す前にスタジオでエフェクトを変更して、煙を暗くしたり、緑がかった色や濃い煙にしたりできます。

よくある質問

煙が光っているように見えるのはなぜですか?

LightEmissionが0より大きく、煙が光として加算されているか、LightInfluenceが0で暗いシーンでも明るさが保たれている可能性があります。LightEmissionを0にし、LightInfluenceを1に近づけて、ライティングに合わせて煙が暗くなるようにします。

RobloxのSmokeオブジェクトとParticleEmitterのどちらを使うべきですか?

組み込みのSmokeオブジェクトは手軽ですが、設定項目も見た目も限られています。詳細な表現にはParticleEmitterの使用がRobloxで推奨されています。そこにフリップブックを使うと、デザインどおりに再生される、形のある煙、砂ぼこり、霧を作れます。

プレイヤーの着地時に砂ぼこりを出すにはどうすればよいですか?

LocalScriptでHumanoidのStateChangedイベントを監視します。落下後にLanded状態になったら、キャラクターの足元に着地時の砂ぼこりエフェクトを配置し、Debrisで削除します。

Robuxを獲得できるゲームで、これらのエフェクトを使えますか?

はい。ライブラリから開始したものを含め、書き出したエフェクトはクレジット表記なしで、商用ゲームを含むあらゆるプロジェクトに使用できます。ただし、ライブラリ自体をエフェクトパックとして再販売することは禁止されています。

Roblox VFXガイド