Robloxのバトルグラウンドゲーム向けアニメVFX
Robloxのバトルグラウンドや格闘ゲーム向けの無料アニメ風VFXです。ヒットフレーム、クリティカルバースト、雷撃、チャージオーラをフリップブックで作成でき、ヒットのたびに再生するLuauコードも付属します。
バトルグラウンドゲームでは、攻撃が当たった感触が重要です。パンチや技のたびに、一瞬で読み取れるバーストが必要です。どのカメラ角度からでも、ほかのプレイヤーが同じように技を繰り出す中でも、はっきり見える必要があります。フリップブックはこうした用途に適しています。インパクト全体が1つのテクスチャを使う1つのパーティクルなので、常にデザインどおりに表示され、カメラの方を向くため、どの角度から見ても同じように読み取れます。
格闘ゲームに合うエフェクト
- 軽いヒット: Anime Impact Frame、Rapid Punch Barrage、Black Lightning Impactなど、1秒未満の短いバーストです。短いエフェクトには4x4や8x8のグリッドを使い、高いフレームレートを保ちます。
- カウンターと移動: カウンター成功時にはCounter Hit Flash、ダッシュにはDash Wind Burst、瞬間移動攻撃にはTeleport Strikeを使います。
- 叩きつけとフィニッシュ技: 地面で終わる技には、ひび、岩、砂ぼこりのリングを伴うGround Slam Craterが使えます。
- 特殊技と必殺技: Thunder God Strikeのような雷撃や柱状のエフェクトです。キャラクターより高くそびえるよう、Sizeを大きめ(15から25 studs)に設定します。
- チャージ: Energy Auraのようなループするオーラを、技のチャージ中にキャラクターへ溶接します。溶接方法はオーラVFXをご覧ください。
すべてのプレイヤーにヒットを表示する
Robloxの格闘ゲームでよく使われる方法です。サーバーがヒットを判定した後、すべてのクライアントにエフェクトを描画するよう通知し、各クライアントがローカルで描画します。エフェクトはPartの複製をサーバーから待つ必要がなく、サーバーは描画処理を行いません。ReplicatedStorageにEffectsという名前のフォルダを作り、その隣にHitFxという名前のRemoteEventを追加します。
-- Server: after a hit is confirmed (targetRoot: the HumanoidRootPart that was hit)
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local hitFx = ReplicatedStorage:WaitForChild("HitFx")
hitFx:FireAllClients("Anime Impact Frame", targetRoot.Position)-- LocalScript in StarterPlayerScripts
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Debris = game:GetService("Debris")
local effects = ReplicatedStorage:WaitForChild("Effects")
local hitFx = ReplicatedStorage:WaitForChild("HitFx")
hitFx.OnClientEvent:Connect(function(name: string, position: Vector3)
local fx = effects[name]:Clone()
fx:PivotTo(CFrame.new(position))
fx.Parent = workspace
Debris:AddItem(fx, 2) -- Lifetime + 1, rounded up
end)準備済みモデルを使う場合、各クローン内のPlayOnce Scriptが、workspaceに追加されるとすぐに再生します。ヒットエフェクトの書き出しでは、PlaysをOnceに設定し、クリーンアップを待つ間にバーストがループしないようにします。無料のPNGを使う場合は、Part、Attachment、Flipbookという名前のParticleEmitterを手動で一度作成し、親を設定した後にクローンのエミッターでEmit(1)を呼び出します。
戦闘で重要な設定
- 発光: エネルギー、雷、火花はLightEmission 1(加算)にすると最も映え、背後のものを明るくします。エフェクトのすべてのレイヤーが光を加える場合、書き出し時に自動で有効になります。
- 体の手前に表示: キャラクターの中心に置いたヒットフラッシュは、体に一部が隠れます。エミッターのZOffsetを1または2に設定すると、画面上のサイズを変えずに、パーティクルをその分だけカメラに近づけて描画します。
- プレイヤーが多い場合: エフェクトはそれぞれ1つのパーティクルなので、プレイヤーが多いサーバーでも負荷を抑えられます。主な負荷はテクスチャです。小さなヒットスパークなら、1024 pxと同じ見た目を512 pxでも保てます。
- サイズ: 標準的なキャラクターの高さは約5 studsです。ヒットは6から8 studs(書き出しのデフォルトは6)、必殺技は15以上にすると見やすくなります。Sizeは正方形フレーム全体の一辺の長さで、エフェクトはフレームの最大7/8まで広がります。
フリップブックPNGは無料です。各エフェクトページのROBLOXボタンはアカウント不要で使えます。また、無料アカウントでもスタジオから、グリッドとテクスチャサイズを選んで書き出せます(1日3エフェクト)。エミッターを設定済みで再生用Scriptが付いた.rbxmxの準備済みモデルと、UI用のUIFlipbook.luauは、月額$7.99からのすべてのプランに含まれます。
ゲームに取り込む
すべての設定と、無料PNGまたは準備済みモデルの2つの導入方法は、Roblox設定ページで確認できます。ジャンル別のエフェクトは無料Roblox VFXをご覧ください。書き出し前にスタジオでどのエフェクトも変更でき、バーストの色を各格闘スタイルに合わせられます。
よくある質問
ヒットエフェクトはサーバーとクライアントのどちらで作成すべきですか?
通常はクライアントで作成します。サーバーがヒットを確認し、RemoteEventをすべてのクライアントに送信します。各クライアントはエフェクトを複製してローカルで再生します。Partの複製を待たずに表示でき、サーバーの描画負荷も抑えられます。
明るいマップでヒットエフェクトが白っぽく見えるのはなぜですか?
加算発光(LightEmission 1)は背後のものに光を加えるため、白や日差しの強い背景では薄く見えます。暗めで彩度の高いエフェクトやLightEmission 0なら、そうした背景でも見やすくなります。Sizeを大きくするのも効果的です。
キャラクターやスタイルごとにエフェクトの色を変えられますか?
はい。Studioでエフェクトを開き、色を変更して再度エクスポートしてください。RobloxではエミッターのColorプロパティで色合いを変えることもできます。このプロパティはテクスチャに色を乗算するため、白や淡い色のエフェクトが最もきれいに色づきます。
Robuxを獲得できるゲームで、これらのエフェクトを使えますか?
はい。ライブラリから開始したものを含め、書き出したエフェクトはクレジット表記なしで、商用ゲームを含むあらゆるプロジェクトに使用できます。ただし、ライブラリ自体をエフェクトパックとして再販売することは禁止されています。







