mcpField
R
roblox-physics

roblox-physics

github.com/tabooharmony開発1402.1k 回インストール2 週間前に更新
リポジトリ

roblox-physics について

roblox-physicsは、車両やラグドール、移動プラットフォームなど、物理を使ったRobloxゲームを開発する人向けのスキルです。拘束、所有権、権限設定、よくある設定ミスを扱います。

主な機能

  1. 01拘束とアクチュエーターの選択
  2. 02車両物理の設定
  3. 03ラグドール状態の復元管理
  4. 04ネットワーク所有権と権限モデルの選択
  5. 05拘束に関する一般的な問題の確認

活用シーン

  1. 01サスペンションと操舵を備えた車両の構築
  2. 02キャラクター状態を復元するラグドールの作成
  3. 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を参照してください。

コメント