【🔰Roblox Studio入門⑨】オリジナル剣を作ろう Part3!VFX(パーティクル・トレイル)、サウンドで剣を演出!

Robloxで自分だけのオリジナル武器を作るチュートリアルシリーズ、第3弾!
剣のクオリティを劇的にアップさせる「エフェクト(VFX)」と「サウンド」の設定方法を徹底解説します!✨

💡アニメーション編「オリジナル剣」を作る パート3!エフェクト(VFX)&サウンド編【完全解説】

🔧 この動画で学べること

✅ 1. ParticleEmitter(パーティクル): パチパチ弾ける電気エフェクトの作り方
✅ 2. Trail(トレイル): 攻撃した瞬間に流れる美しい斬撃の軌跡
✅ 3. Sound(サウンド): 攻撃の迫力を倍増させる効果音の入れ方
✅ 4. Script(スクリプト): 振った時だけエフェクトが出るようにする制御コード


📺 チャプター目次 :
00:00 はじめに
00:19 事前準備(Rigへの配置)
00:43 パーティクルの設定方法(テクスチャ・Size・Dragなど)
05:13 トレイルの設定方法(Attachment・FaceCamera・幅の調整)
10:14 サウンドの設定方法(ツールボックス・スクリプト制御)

📥 完成版プレイスをダウンロード(Roblox Studio)

※リンク先の右上にある「…」ボタンから「Studioで編集」を選択すると、中身を確認できます。

1. オリジナル剣(MySword)にVFX(パーティクル、トレイル)をつける事前設定

STEP.1
パート2で作ったプレイスを開く
STEP.2
StarterPackにある剣のツールをドラッグして
STEP.3
WorkspaceのRigの中に戻す
STEP.4
エクスプローラで剣のツールを展開すると
STEP.5
パーティクルやトレイル関係の子要素が入っている
STEP.6
パーティクルやトレイル関係の子要素を全て削除して、ゼロから設定を行ってみましょう

2. パーティクル(ParticleEmitter)の設定

STEP.1
剣ツール内のSwordメッシュ右横の⊕マークをクリックする
STEP.2
「Attachment」を追加する
STEP.3
Attachment右横の⊕マークをクリックする
STEP.4
「ParticleEmitter」を追加する
STEP.5
「ParticleEmitter」のプロパティを調整して、剣から電気のようなエフェクトが出るようにする
STEP.6
プロパティ設定1:パーティクルの見た目を決めるTextureを変更しよう!
STEP.7
RobloxのストアにあるこのTextureを使いましょう
STEP.8
このTextureを使用するには、URLにあるアセットID(6101261905)をコピーするか
STEP.9
Textureの画像を右クリックして「アセットIDをコピー」を選択する
STEP.10
、ParticleEmitterのプロパティにある Texture の欄をクリックする
STEP.11
URLの欄をクリックし、Ctrl + V でアセットIDを貼り付ける

※URLの欄に、「6101261905」をそのまま入力しても、本チュートリアルと同じTextureを使用できます。
STEP.12
エンターキーを押すと、このようにパーティクルの形が変わる
STEP.13
プロパティ設定2:Colorの欄をクリックし、水色に変更しよう!
STEP.14
カラーピッカーが表示されるので、水色を選択する
STEP.15
プロパティ設定3:LightEmissonの値を最大の「1」にする
STEP.16
LightEmissonの値を「1」にすることで、暗闇でパーティクルが自ら発光して輝くようになる
STEP.17
プロパティ設定4:Sizeは入力欄の右端にある「…」ボタンをクリックする
STEP.18
時系列で大きさが変わるグラフが表示される
STEP.19
パーティクルが生成された直後は「0.25」の大きさにセットする
STEP.20
中間地点では「1」の大きさにセットする
STEP.21
消える直前に再び「0.25」にセットする
STEP.22
プロパティ設定5:Squash(スカッシュ)の値を 0.5 にする
STEP.23
Squashの値を 0.5 にすると、パーティクルの形が少し細長く引き延ばされる
STEP.24
プロパティ設定6:Transparecncyは入力欄の右端にある「…」ボタンをクリックする
STEP.25
時系列でパーティクルが徐々に消えていくようにする
STEP.26
パーティクル生成直後は「0」のままにする
STEP.27
時間経過と共に数値を「1」に近づける
STEP.28
このような設定により「パーティクルがパッと消えるのではなく、ふわっと空気中に溶け込むようなフェードアウト」を表現できる
STEP.29
プロパティ設定7:ZOffset の値を「1」にする
STEP.30
ZOffset の値を「1」にすると、パーティクルの表示位置を「手前」にずらすことが出来る
STEP.31
プロパティ設定8:Drag(ドラッグ)の値を「10」にする
STEP.32
Dragは「空気抵抗」の数値を上げると、パーティクルの動きにブレーキがかかる
STEP.33
プロパティ設定9:LockToPart(ロックトゥパート)にチェックを入れる
STEP.34
LockToPartにチェックをOFFにすると、パーティクルは発生したその場に留まろうとする
STEP.35
LockToPartにチェックを入れると、パーティクルが親要素(ここではSword)に固定される
STEP.36
プロパティ設定10:Lifetimeを「0.4, 0.6」にする
STEP.37
Lifetimeを「0.4, 0.6」にすると、パーティクルが0.4~0.6秒の間で消えるようになる
STEP.38
プロパティ設定11:発生Rateを「200」にする
STEP.39
Studioの編集画面(ビューポート)を見ると、少しパーティクルが出すぎているように感じるかもしれませんが、このぐらいで大丈夫
STEP.40
プロパティ設定12:Rotation(ローテーション)を「-180, 180」にする
STEP.41
Rotationを「-180, 180」にすると、パーティクルが一つひとつランダムな向きで生成される
STEP.42
パーティクルの完成!
STEP.43
プロパティのチェック:剣のツールをStarterPackに戻して、パーティクルが正しく表示されるかチェック
STEP.44
持っている剣から、設定した電気のエフェクトが出ていれば成功!

3. トレイル(Trail)の設定方法

STEP.1
StarterPackから剣のツールをドラッグして
STEP.2
WorkspakceにあるRigの中に戻す
STEP.3
剣ツール内のSwordメッシュ右横の⊕マークをクリックする
STEP.4
Attachmentを追加する
STEP.5
Attachmentを追加したら、ホームタブの「移動」ツールを選択して
STEP.6
「移動」ツールでAttachmentを剣の先に動かす
STEP.7
Attachmentの名前を、「Start」に変更する
STEP.8
もう一度、Swordメッシュ右横の⊕マークをクリックし、Attachmentを追加する
STEP.9
Attachmentを追加したら、移動ツールでAttachmentを剣の根本に動かす
STEP.10
Attachmentの名前を「End」に変更する
STEP.11
「Start」と「End」という名前の2つのAttachmentを追加したら
STEP.12
Swordメッシュ右横の⊕マークをクリックする
STEP.13
Trail(トレイル)を追加する
STEP.14
Trail(トレイル)のプロパティを開き、プロパティの設定を開始!
STEP.15
プロパティ設定1:Attachment0の右側の欄をクリックして
STEP.16
エクスプローラの「Start」という名前のAttachmentをクリックする
STEP.17
プロパティ設定2:Attachment1の右側の欄をクリックして
STEP.18
エクスプローラの「Start」という名前のAttachmentをクリックする
STEP.19
これらの設定(設定1と設定2)により、StartとEndの間の「空間」に、「剣の軌跡」が表示される
STEP.20
プロパティ設定3:FaceCamera(フェイスカメラ)にチェックを入れる
STEP.21
FaceCameraの設定により、どの角度から見てもトレイルが常にカメラの方向を向く
STEP.22
プロパティ設定4:Colorは入力欄の右端にある「…」ボタンをクリックする
STEP.23
時系列で色が変わる設定画面を開く
STEP.24
パーティクル生成直後は水色にして
STEP.25
時間とともに色が白っぽくなるようにする
STEP.26
プロパティ設定5:Textureは雲のような見た目のTextureを使用しよう!
STEP.27
アセットID(6119272027)をコピー
STEP.28
Textureの入力欄をクリックして
STEP.29
URLの欄にCtrl+VでアセットIDをペーストする

※URLの欄に、「6119272027」をそのまま入力しても、本チュートリアルと同じTextureを使用できます。
STEP.30
Textureの設定により、平坦な線だったトレイルが、躍動感のあるトレイルになる
STEP.31
プロパティ設定6:Transparecncyの入力欄の右端にある「…」ボタンをクリックして、設定画面を開く
STEP.32
軌跡が出てから中間地点までははっきりと表示して
STEP.33
消える頃に向かって徐々に透明になるように設定する
STEP.34
プロパティ設定7:LifeTimeは0.5秒にする
STEP.35
プロパティ設定8:WideScaleは入力欄の右側にある「…」ボタンをクリックして設定画面を開く
STEP.36
時間とともにトレイルの幅が小さくなるように設定する
STEP.37
トレイル(Trail)が完成!
STEP.38
プロパティ設定のチェック:剣のツールをStarterPackに戻して
STEP.39
トレイル(Trail)が正しく動くかチェックしよう!
STEP.40
剣を振ったときに、剣のトレイル(軌道)が表示されていれば成功!

4. 剣を振ったときだけ、トレイルが表示されるようにスクリプトを修正する

STEP.1
現状は、剣を持ったまま走っても剣からトレイル(軌道)が表示されてしまう
STEP.2
剣を振ったときだけトレイル(軌道)が表示されるようにしたい
STEP.3
剣ツールの下のScriptをダブルクリックで開く
STEP.4
トレイル(Trail)オブジェクトを取得するコードを追加する
STEP.5
剣ツールを振った瞬間に、トレイルのEnabledをON(True)にするコードを追加する
STEP.6
攻撃が終わる間際にEnabledをOFF(False)にするコードを追加する
STEP.7
コードを追加したら、エクスプローラのTrailをクリック
STEP.8
プロパティ設定で放射カテゴリのEnabledのチェックを外す
STEP.9
剣を振ったときだけ、トレイルが表示されるようにスクリプトの修正が完了!
STEP.10
剣を振ったときだけ、トレイル(軌道)が現れたら完成!

5. サウンドの設定方法

STEP.1
ホームタブの「ツールボックス」を開く
STEP.2
検索欄で「electric explosion(オーディオカテゴリ)」と検索する
STEP.3
好きな音を探す
STEP.4
好きな音が見つかったら、エクスプローラの剣ツールの下のHandleパーツをクリックして選択する

※剣ツールのPrimaryPart(主パーツ)であるHandleパートに音を追加します。
STEP.5
オーディオの「挿入」ボタンをクリック
STEP.6
エクスプローラのSwordパーツの下にサウンドオブジェクトが追加される
STEP.7
剣ツールのScriptをもう値一度開く
STEP.8
FindFirstChildOfClass(“Sound”)メソッドでサウンドオブジェクトを取得する
STEP.9
剣を振った瞬間にサウンドを再生するコードを追加
STEP.10
剣を振ると音も出るようになったら、剣ツールの完成!

6. スクリプト


-- 1. 設定:パーツとダメージ量
local tool = script.Parent
local sword = tool:WaitForChild("Sword")
local handle = tool:WaitForChild("Handle") -- Sword内のHandleを参照
local swordSound = handle:FindFirstChildOfClass("Sound") -- Handleの中の音を探す
local damage = 100 -- ダメージ量
local isAttacking = false -- 攻撃判定のスイッチ

-- トレイルエフェクト用オブジェクトの取得
local trail = sword:WaitForChild("Trail")

-- 2. アニメーションの準備
local anim = Instance.new("Animation")
-- anim.AnimationId = "rbxassetid://522635514" -- 標準のアニメーション
-- ここにアニメションIDを入れる!
anim.AnimationId = "rbxassetid://75057476916808" -- チュートリアル動画で作ったアニメーションのID
local loadAnim = nil -- 再生用の入れ物

-- 3. 装備した時:アニメーションをプレイヤーに読み込む
tool.Equipped:Connect(function()
	local character = tool.Parent
	local humanoid = character:FindFirstChildOfClass("Humanoid")

	if humanoid then
		loadAnim = humanoid:LoadAnimation(anim)
	end
end)

-- 4. クリックした時:アニメーション再生とスイッチの管理
tool.Activated:Connect(function()
	if loadAnim and not isAttacking then
		isAttacking = true -- 攻撃開始
		
		-- 【トレイルエフェクトON】
		trail.Enabled = true
		
		swordSound:Play() -- 音を再生
		loadAnim:Play()
		task.wait(0.8) -- 攻撃が続く時間
		
		-- 【トレイルエフェクトOFF】
		trail.Enabled = false
		
		isAttacking = false -- 攻撃終了
	end
end)

-- 5. 刃が触れた時:ダメージを与える
sword.Touched:Connect(function(hit)
	if isAttacking then
		local character = tool.Parent
		local targetChar = hit.Parent
		local targetHuman = targetChar:FindFirstChildOfClass("Humanoid")

		-- 自分以外かつ人間(またはモンスター)ならダメージ
		if targetHuman and targetChar ~= character then
			targetHuman:TakeDamage(damage)
			isAttacking = false -- 連続ヒット防止
		end
	end
end)
Roblox Studioとは?

Roblox Studioは、Roblox用の カスタムゲームを作成できる公式の無料 ユーティリティソフトウェア。ミニゲーム、障害物コース、ロールプレイングストーリーなど、さまざまなゲーム作ることが出来ます 。プログラミング言語Luaを利用してプログラミングします。Robux(ロバックス)と呼ばれる仮想キャッシュを、ゲーム内アイテムに対して使用することで収益を得る仕組みを構築することも出来るので、子供たちはゲーム開発を通じでビジネスの感覚が身につけられる。

Robloxとは?

Robloxは、ユーザーがRoblox Studioを使ってゲームをプログラムしたり、他のユーザーが作成したゲームをプレイしたりできるオンラインゲーミングプラットフォームおよびゲーム作成システムです。