Roblox アニメーションと VFX
標準の Roblox Studio MCP とシェルで動作します。リファレンスは、経験豊富な Roblox VFX アーティストが実際に行っていること(公開済みエフェクトの約 5,000 個のパーティクルエミッターから測定)を記録しています。これらに従ってください。良いエフェクトと雑なエフェクトの違いは、ほぼ完全にそれらの数値(パレット、暗いレイヤー、ブルームに対する明るさ、レイヤーのタイミング、カスタムテクスチャ)と、エフェクトをフレームごとに確認することにあります。
毎回、最初に references/tools.md を読んでください。 リファレンスは元のツールキット(build_instances、capture_moments、animation ツール、blender ツール、upload_assets)用に書かれています。tools.md には、代わりにあなたの Studio MCP とこのスキルのスクリプトで何を使用するかが記載されています。リファレンスが元のツール名を挙げている場合は、tools.md でマッピングされていることを行ってください。
このフォルダ(このファイルがある場所)は、tools.md 内の SKILL_DIR です。
ここにあるもの
| パス | 説明 |
|---|---|
references/tools.md | Studio MCP、シェル、Blender を使用したすべての手順の実行方法。 |
references/vfx-design.md | エフェクトの用途、パレット、価値、明るさ、レイヤー、タイミング。 |
references/vfx-craft.md | エフェクトの配置場所、エミットモジュール、レイヤースケルトン、予算、エフェクトの確認方法。 |
references/vfx-textures.md | エフェクト独自のテクスチャとフリップブックの描画(Blender + numpy)。 |
references/vfx-motion.md | 投射物、斉射、トレイル、ビーム、スラッシュ、ダッシュ、オーブ、オーラ。 |
references/vfx-mesh-shapes.md | 三日月型、リング型メッシュ、渦巻き、ドーム、グラウンドウェーブ(Blender で作成)。 |
references/vfx-camera-world.md | カメラシェイク、FOV、インパクトフレーム、ライト、クレーター、キャストポーズ。 |
references/vfx-rendered-flipbooks.md | 3D シーンからレンダリングされたフリップブック。 |
references/vfx-reference.md | リファレンスクリップに合わせる(一部: tools.md を参照)。 |
references/character-animation.md | ポーズ形式とテスト済みの R15/R6 レシピ。 |
references/creature-animation.md | リグ、waves、gait、およびクリーチャーレシピ。 |
references/full.md | アニメーション再生: トラック、優先度、ブレンド、マーカー。 |
templates/vfx/emit.lua | プレイヤーモジュール(VFX.play、VFX.emit、スローモーションとヒットストップ付きハンドル)。 |
templates/vfx/build.lua | リファレンスの JSON ステップからインスタンスを構築。 |
templates/vfx/capture.lua | 再生中のエフェクトを選択した瞬間に保持し、スクリーンショットを撮影。 |
scripts/animate.mjs | ポーズコンパイラ + モーションチェック + コンタクトシート + Luau 出力(Node 18+)。 |
scripts/read_rig.lua | animate.mjs --rig-json 用にクリーチャーのリグを読み取り。 |
scripts/blender_job.py、scripts/vfx_blender.py | fx.* テクスチャおよびメッシュヘルパーを使用して Blender ジョブを実行。 |
scripts/texture-tool.mjs | フリップブックシートをチェック。アップロードせずに Studio でテクスチャをプレビュー。 |
scripts/upload.mjs | Open Cloud アップロード(テクスチャ、メッシュ、アニメーション)。 |
クイックリファレンス
- 任意のビジュアルエフェクト(ヒット、スラッシュ、爆発、スペル、オーラ、アイテム取得):
references/tools.md、references/vfx-design.md、references/vfx-craft.mdを読み込み、さらに必要なトピックを読み込みます:vfx-textures.md: エフェクト独自のテクスチャを描画するため(ほとんどのエフェクトで推奨。標準のrbxasset://textures/particles/*は仮の代用に過ぎません);vfx-motion.md: 移動する、弧を描く、または保持されるもの;vfx-mesh-shapes.md: 三日月型、リング、渦巻き、ドームメッシュ用;vfx-camera-world.md: カメラ、画面、地面の反応、およびコードからのキャストポーズ用;vfx-rendered-flipbooks.md: 3D シーンからレンダリングされたシート用;vfx-reference.md: ユーザーがリファレンスクリップを提供した場合。
- 良いエフェクトを作るループ: 設計(技の名前を決め、約5色を選び、暗いレイヤーと強度曲線を計画する)>
ReplicatedStorage.VFXにエミット属性を使って構築する > エフェクトを近接とプレイヤーカメラから4~6つの瞬間でフリーズしてキャプチャする > フレームが示す問題を修正する > 繰り返す。1枚のスクリーンショットやコードだけからエフェクトが完成したと判断しないでください。 - キャラクターアニメーション:
references/character-animation.mdとreferences/tools.mdを読み込みます。最も近いレシピからポーズ JSON を書き、scripts/animate.mjsを--sheet付きで実行してシートを確認します。すべてのチェックに合格するまで修正し、書き出された Luau をexecute_luauで送信し、ダミーでプレビューします。最初にプレイスのプレイヤーが使用しているリグ(R15 または R6)を確認してください。 - クリーチャーまたは標準以外のモデル:
references/creature-animation.mdも読み込み、scripts/read_rig.luaでリグを読み取り、--rig-jsonを渡します。 HumanoidまたはAnimationControllerのAnimatorを通じてトラックを読み込みます。AnimationTrack.Priorityは意図的に設定してください。- ゲームプレイの合図(ヒットが着弾したとき)には、キーフレームの
markersからGetMarkerReachedSignal()を使用します。キーフレームのnameはマーカーではありません。攻撃のエフェクトはタイマーではなく、そのマーカーから再生します。 - バースト
ParticleEmitterは通常Rate = 0で、エミットモジュールを通じてEmitCount/EmitDelayから発射します。 - エフェクトはプレゼンテーションです。サーバーは
UnreliableRemoteEventでエフェクト名と CFrame を発火し、各クライアントがVFX.playを呼び出します。ダメージがエフェクトを待つようにしてはいけません。 - 確定したテクスチャ、メッシュ、アニメーションのみをアップロードしてください。すべてのアップロードは永続的であり、モデレーションの対象となります。最初にアップロードする数を伝えてください。
エフェクトは目で評価されます。完了したら、確認した内容をユーザーに伝え、プレイテストでフルスピードで確認するよう依頼してください。