Vibe Coding Templates
このセクションでは、既存テンプレートの編集とカスタマイズ方法を説明します。事前構築済みテンプレートに焦点を当て、構造をより詳しく解説することで、機能拡張や車・箱などのメッシュオブジェクト置き換えを行いやすくします。
Vehicle Physics Model
Vehicle Physics Model は、Arrival.Space のインタラクティブな車両向けにすぐ使える運転テンプレートです。ホイールベース物理、サスペンション、ステアリング、コリジョン、ヘッドライト、カメラ挙動、オーディオ、プレイヤーのマウント処理を1つに統合しているため、これらをゼロから実装する必要がありません。
プレイヤーが乗り込んで運転できる車両(車、カート、サービス車両など)を作りたい場合に使用してください。ゲームプレイ可能な車両挙動を素早く立ち上げ、ハンドリング、座席位置、ホイール配置、見た目を、全ロジックを書き直さずに調整したいときに特に有効です。
Parameters
Model Parameters
シャーシとホイールのモデルアセット、および全体スケールを編集します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Chassis Model (GLB) | 車体シャーシ GLB モデルの URL またはアセット。 | asset | - |
Chassis Scale | シャーシモデルのスケール。 | factor | 0.01 / 10 |
Wheel Model | ホイール GLB モデルの URL またはアセット。 | asset | - |
Wheel Scale | ホイールのスケール。 | factor | 0.01 / 10 |
Vehicle Physics
質量、減衰、シミュレーション更新レートなどの基本物理挙動を編集します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Chassis Mass | 車両の総質量。高いほど重く、応答が鈍くなります。 | kg | 100 / 5000 |
Air Friction | 空気抵抗 / 線形減衰。時間経過で速度を減衰させます。 | unitless | 0 / 1 |
Angular Damping | 角減衰。スピンを抑え回転を安定化します。 | unitless | 0 / 1 |
Physics Hz | 物理シミュレーション更新レート。高いほど精度は上がりますが負荷も増えます。 | Hz | 30 / 240 |
Physics Sub-Steps | 1フレーム内の追加サブステップ。安定性を向上させます。 | count | 1 / 60 |
Wheel Positioning
ホイールサイズと、前後ホイールの X/Y/Z 位置を正確に編集します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Wheel Radius | ホイール半径。車高や物理挙動に影響します。 | m | 0.1 / 1 |
Front Wheel X | 前輪の中心からの水平オフセット。 | m | 0.1 / 3 |
Rear Wheel X | 後輪の中心からの水平オフセット。 | m | 0.1 / 3 |
Wheel Height | ホイールの垂直位置。 | m | 0.1 / 3 |
Wheel Front Z | 前輪の前後方向位置。 | m | 0 / 3 |
Wheel Rear Z | 後輪の前後方向位置。 | m | -3 / 0 |
Suspension
サスペンションの硬さ、減衰、静止時長さを編集します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Suspension Stiffness | サスペンション剛性。高いほど硬い挙動になります。 | unitless | 1 / 100 |
Suspension Damping | サスペンション減衰。過度なバウンドを防ぎます。 | unitless | 0.1 / 10 |
Suspension Compression | 圧縮時の減衰。 | unitless | 0.1 / 10 |
Suspension Rest | 静止時の標準サスペンション長。 | m | 0.05 / 1 |
Tire Grip & Handling
タイヤグリップとロール挙動を調整して、トラクションと操縦性を最適化します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Front Friction Slip | 前輪のグリップ量。高いほどトラクションが増えます。 | unitless | 0 / 5 |
Rear Friction Slip | 後輪のグリップ量。 | unitless | 0 / 5 |
Roll Influence | ロールが挙動へ与える影響度。低いほど横転しにくくなります。 | unitless | 0 / 1 |
Engine & Braking
加速力、制動力、入力なし時のブレーキ挙動を編集します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Max Engine Force | 最大エンジン力 / 加速力。Chassis Mass が重い場合は増やしてください。 | force units | 0 / 10000 |
Max Braking Force | 最大ブレーキ力。 | force units | 0 / 500 |
Idle Brake | 入力がないときに自動でかかるブレーキ力。惰性移動を抑えます。 | force units | 0 / 50 |
Steering
操舵角、応答速度、高速時の操舵制限を編集します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Max Steering | 低速時の最大操舵角。 | rad | 0.05 / 1 |
Min Steering (at speed) | 高速時の最小操舵角。 | rad | 0 / 0.5 |
Steering Falloff Speed | 速度に応じて操舵が制限され始める基準速度。 | m/s | 1 / 50 |
Steering Speed | 操舵応答速度。 | 1/s | 1 / 30 |
Collision
コリジョンボックスのサイズ、Yオフセット、物理マテリアル挙動を編集します。
このユースケースでは Box Collision を使用します。十分に機能するためです。
コリジョンを可視化するには、Vibe を編集し、AI に pc.enablePhysicsDebugDraw = true で可視化トグルを追加するよう指示してください。すべてのアクティブなコリジョンが表示されます。
この機能は非常に高負荷です。
重い/複雑な Space では常時有効化しないことを推奨します。挙動異常やパフォーマンス低下の原因になります。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Collision Width | コリジョンボックスの幅。 | m | 0.05 / 5 |
Collision Height | コリジョンボックスの高さ。 | m | 0.01 / 2 |
Collision Length | コリジョンボックスの長さ。 | m | 0.05 / 5 |
Collision Y Offset | コリジョンボックスの垂直オフセット。 | m | 0 / 3 |
Chassis Friction | シャーシボディの摩擦値。 | unitless | 0 / 1 |
Chassis Restitution | 反発係数 / レスティテューション。 | unitless | 0 / 1 |
Headlights
ヘッドライトの位置、照射形状、色、強度、到達距離を編集します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Headlight Side | ヘッドライトの左右オフセット。 | m | 0 / 2 |
Headlight Height | ヘッドライトの高さ。 | m | -1 / 2 |
Headlight Forward | ヘッドライトの前方オフセット。 | m | -1 / 3 |
Headlight Color | ヘッドライトの色。 | color | - |
Headlight Intensity | ヘッドライトの明るさ/強度。 | intensity units | 0 / 20 |
Headlight Cone Angle | スポットライトのコーン角。 | deg | 1 / 90 |
Headlight Range | 最大照射距離。 | m | 1 / 100 |
Headlight Tilt | ヘッドライトの上下チルト角。 | deg | -45 / 45 |
Player Interaction
乗車可能距離と、車内のプレイヤー座席位置を編集します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Enter Distance | プレイヤーが乗車できる距離。 | m | 1 / 10 |
Seat Side | プレイヤー座席の水平オフセット。 | m | -1 / 1 |
Seat Height | プレイヤー座席の垂直オフセット。 | m | -1 / 3 |
Seat Forward | プレイヤー座席の前後オフセット。 | m | -1 / 1 |
Camera
車両基準のカメラ高さと距離を編集します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Camera Height Offset | 車両基準のカメラ垂直オフセット。 | m | -1 / 2 |
Camera Distance | 車両からのカメラ距離。 | m | 0.8 / 4 |
Animations
乗車中に使用するドライブ/アイドルアニメーションを編集します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Ride Idle Animation | 走行中に使うアイドル/着座アニメーション。 | animation asset | - |
Audio
走行サウンドアセット、音量、ピッチ、速度連動の音挙動を編集します。
| Parameter | Description | Unit | Min/Max |
|---|---|---|---|
Drive Sound | エンジン/走行音のオーディオファイル。 | audio asset | - |
Drive Sound Volume | 走行音の音量。 | gain | 0 / 10 |
Drive Sound Min Speed | 音が鳴り始める最小速度。 | m/s | 0 / 20 |
Drive Sound Pitch | 基本ピッチ。 | pitch factor | 0.25 / 4 |
Drive Speed Pitch | 速度に応じたピッチ上昇。 | pitch factor per m/s | 0 / 1 |
Drive Accel Pitch | 加速/負荷に応じたピッチ上昇。 | pitch factor | 0 / 2 |
Exchange the Model
モデルを差し替えるには、まず新しいモデルアセットが必要です。車体(chassis) と ホイール を別々にエクスポートできることが重要です。
例えば Sketchfab から車両アセットを取得できます。形式は .glb \ .gltf である必要があります。
Arrival.Space に取り込む前に、シャーシとホイールを分離してください。 以下は Blender を使う例です。
Steps
- Blender を開く
- New File で General を選択
- 初期オブジェクト(Camera, Cube, Light)を削除
- File > Import > glTF 2.0 (.glb/.gltf) でアセットを読み込む
- 車体/シャーシ と関連パーツ(ホイール除く)を選択
- File > Export > glTF 2.0 へ移動
- エクスポート前に次のみ有効化:
- Include > Limit to > Selected Objects
- Transform > +Y Up
- Data > Mesh > UVs + Normals
- エクスポートして Chassis Model として Arrival.Space にアップロード
- 前左ホイール を選択し、他オブジェクトを Eye アイコン で一時非表示
- ホイール中心を正しく合わせるため、以下を実行: Shift + S > Selection to Cursor
- すべてのトランスフォームを適用:
- CTRL + A (Windows) > All Transforms
- Command + A (macOS) > All Transforms
- File > Export > glTF 2.0 へ移動
- ステップ7と同じ設定でエクスポート
- ホイールモデルを Wheel Model URL として Arrival.Space にアップロード
- パラメータを調整