roblox-physics について
roblox-physicsは、車両やラグドール、移動プラットフォームなど、物理を使ったRobloxゲームを開発する人向けのスキルです。拘束、所有権、権限設定、よくある設定ミスを扱います。
主な機能
- 01拘束とアクチュエーターの選択
- 02車両物理の設定
- 03ラグドール状態の復元管理
- 04ネットワーク所有権と権限モデルの選択
- 05拘束に関する一般的な問題の確認
活用シーン
- 01サスペンションと操舵を備えた車両の構築
- 02キャラクター状態を復元するラグドールの作成
- 03投射物や移動プラットフォームの設計
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tabooharmony/ roblox-brain --skill roblox-physicsインストール後、Claude Code で/roblox-physicsを入力して読み込まれたか確認します。
同梱ファイルreferences/full.md
詳細
Roblox Physics
読み込むタイミング
乗り物、ラグドール、飛翔体、機械仕掛けの装置、エレベーター、揺れるプラットフォームなど、拘束や力を使った物理ベースのゲームプレイを構築する場合に、このスキルを使用します。
クイックリファレンス
拘束の種類
機械系: HingeConstraint、PrismaticConstraint、CylindricalConstraint、BallSocketConstraint、UniversalConstraint、WeldConstraint/RigidConstraint
モーション: AlignPosition、AlignOrientation、LinearVelocity、AngularVelocity、VectorForce、Torque
スプリング/ロープ: SpringConstraint、RopeConstraint、RodConstraint
アタッチメントのパターン
拘束はAttachmentオブジェクトを介して接続します。各パーツに1つずつ作成し、Attachment0/Attachment1を設定して、拘束をpart0の子にします。アクチュエーターの種類にはNone、Motor、Servoがあります。
乗り物
乗り物では、モーター付きのHingeConstraintホイール、SpringConstraintサスペンション、サーボステアリングを使用し、摩擦の調整にはCustomPhysicalPropertiesを使います。
ラグドール
各ラグドールが変更するジョイントとインスタンスを追跡し、所有する状態のみを復元します。移動を復元する前に、重複する効果を調整してください。BallSocketConstraintの設定例:full.md。
オーソリティとネットワーク所有権
従来型のプロジェクトでは、自動所有権により、固定されていないアセンブリが近くのプレイヤーに割り当てられる場合があります。SetNetworkOwner(nil)を使うとサーバー所有になり、SetNetworkOwner(player)を使うとプレイヤーにシミュレーションの所有権が渡されます。プレイヤー所有の物理演算は信頼できないものとして扱い、ゲームプレイの結果を検証してください。
サーバーオーソリティ:必須の設定とともにWorkspace.AuthorityMode = Serverを設定します。予測によって操作の応答性を保ちながら、主要なオブジェクトをサーバー所有にできます。そのため、従来の「安全だが遅延する」というトレードオフは当てはまりません。SetNetworkOwner()は代替手段になりません。
ルール: まずモデルを選択してください。NPCとゲームプレイ上重要なオブジェクトはオーソリティを維持し、結果の動作が許容でき、テスト済みの場合に限り、重要度の低い物理オブジェクトをクライアントに所有させます。
よくある注意点
- Anchoredパーツでは拘束は機能しません
- Attachment0とAttachment1の両方が必要です(片方がないと、何も起きずに失敗します)
- 拘束を過剰に設定すると、ジッターが発生します。
CustomPhysicalPropertiesで質量を調整してください - ヒットスキャンにはRaycastを使い、
Touchedは低速の物理飛翔体にのみ使用してください - 物理飛翔体には必ず寿命を設定してください
レシピ、APIの詳細、確認事項については
references/full.mdを参照してください。