タイトル: Vehicles
SEOタイトル: Unity Standard Assets「Vehicles」削除後の代替 | Car / Aircraft / Wheel Collider
| この記事の要点 |
|
Vehicles サンプル集とは
かつて Unity 公式の Standard Assets パッケージには Vehicles というカテゴリがあり、以下の 3 種類の乗り物プレハブが含まれていました。
- Car: 4 輪自動車(Wheel Collider 使用、ABS / トラクション制御つき)
- Aircraft: ジェット機(Pitch / Yaw / Roll / Throttle)
- Helicopter(バージョンによっては別パッケージ)
いずれもキーボード操作で動くサンプルゲームを 5 分で組み立てることが目的で、リアルさよりも教材的な性格が強い実装でした。
提供フォルダ構成
Standard Assets/Vehicles/
├─ Aircraft/
│ ├─ Prefabs/ AircraftJet.prefab
│ ├─ Scripts/ AeroplaneController.cs, AeroplaneAudio.cs, AeroplaneUserControl4Axis.cs
│ └─ Models/Sounds/Textures
├─ Car/
│ ├─ Prefabs/ Car.prefab
│ ├─ Scripts/ CarController.cs, CarUserControl.cs, CarAudio.cs, WheelEffects.cs
│ └─ Models/Sounds/Textures
└─ Cameras/ (SmoothFollow, FreeLookCam の共用)
Unity 2019.3 での削除
Unity Technologies は 2019 年に Standard Assets の継続提供を終了しました。理由は以下の通りです。
- 長年メンテされず、Built-in Render Pipeline 専用のシェーダだった
- 新しい URP / HDRP に未対応で、新規プロジェクトでピンク表示になる事故が多発
- Asset Store に高品質な代替(Vehicle Physics Pro 等)が普及
- サンプルとしての役割は Unity Learn / Microgames / Sample Project に移行
このため、現在 Unity をインストールしても Standard Assets という Asset Store パッケージは存在しません。古いプロジェクトを 2019.3 以降にアップグレードする場合は、Vehicles 系のアセットを個別に再構成する必要があります。
代替アセット(有料)
| 名前 | 得意分野 | 特徴 |
|---|---|---|
| Vehicle Physics Pro | 自動車 / 二輪 / 装輪車 | ★ リアル志向、業務利用実績多数 |
| Realistic Car Controller | 乗用車 | 導入が手軽、デモシーン充実 |
| NWH Vehicle Physics 2 | 自動車 | パワートレイン詳細モデル、無料 Lite 版あり |
| Edy's Vehicle Physics | 自動車 | 古参の安定アセット |
| Aircraft Physics | 航空機 | 翼面 / 舵面の論理ベース |
代替(無料 / 学習リソース)
- Karting Microgame(公式無料): 簡易レースゲームの完成版テンプレート
- Tanks!(公式チュートリアル): 戦車のサンプルだが車両物理の基礎が学べる
- NWH Vehicle Physics 2 Lite: フル機能版の機能制限版
- Open Source 系 GitHub プロジェクト:
Unity Vehicle Tools等
Wheel Collider の基本
Unity の車両物理は PhysX の Wheel Collider コンポーネントが核です。Rigidbody を持つ車体に対して、4 つ(または 6 つ)の Wheel Collider を子オブジェクトとして配置します。
using UnityEngine;
[System.Serializable]
public class Wheel
{
public WheelCollider collider;
public Transform mesh; // 見た目用
}
public class SimpleCar : MonoBehaviour
{
public Wheel frontLeft, frontRight, rearLeft, rearRight;
public float maxMotorTorque = 1500f;
public float maxSteerAngle = 30f;
public float maxBrakeTorque = 3000f;
void Update()
{
float motor = maxMotorTorque * Input.GetAxis("Vertical");
float steer = maxSteerAngle * Input.GetAxis("Horizontal");
float brake = Input.GetKey(KeyCode.Space) ? maxBrakeTorque : 0;
frontLeft.collider.steerAngle = steer;
frontRight.collider.steerAngle = steer;
rearLeft.collider.motorTorque = motor;
rearRight.collider.motorTorque = motor;
foreach (var w in new[] { frontLeft, frontRight, rearLeft, rearRight })
{
w.collider.brakeTorque = brake;
UpdateVisual(w);
}
}
void UpdateVisual(Wheel w)
{
w.collider.GetWorldPose(out var pos, out var rot);
w.mesh.SetPositionAndRotation(pos, rot);
}
}
Wheel Collider のセッティング勘所
| 項目 | 目安 |
|---|---|
| Mass (Rigidbody) | 1000〜1500(軽自動車〜乗用車) |
| Center of Mass | ★ 重心を低めに(Y=-0.5〜-1.0 程度)でロール抑制 |
| Suspension Distance | 0.2〜0.3 m |
| Spring | 35000〜50000 (Rigidbody Mass の 35 倍程度) |
| Damper | 3000〜5000 |
| Forward Friction / Stiffness | 1.5〜2.0(高すぎるとスピンしない) |
| Sideways Friction / Stiffness | 2.0〜3.0(ドリフト系は低めに) |
Rigidbody / PhysX の挙動について
Unity の物理エンジンは PhysX(NVIDIA)です。Wheel Collider はサスペンション・タイヤモデル込みで提供されており、自前で計算する必要はありませんが、以下を理解しておくと挙動を整えやすくなります。
- Wheel Collider の値はサンプリングレート(FixedUpdate)に依存。安定動作には
0.02 秒 (50 Hz)維持 - 低速時のグリップが過剰になりがち → Stiffness を速度に応じて動的調整
- 高速時のジャンプで車体が回転 → Center of Mass を下げる
- ロード状態のリアル感が必要なら Vehicle Physics Pro / NWH 系の独自タイヤモデルを使う
Aircraft / Helicopter について
Aircraft は Wheel Collider 不要で、純粋に Rigidbody + AddForce / AddTorque で構成されていました。Helicopter は別パッケージとして配布されていた時期もあり、現在はStandard Assets には含まれないと公式 wiki で確認できます。
マイグレーション(古い Vehicles を最新 Unity に持ち込む)
- 古いプロジェクトを Unity 2019.4 LTS で開く(ここまではだいたい動く)
- Built-in RP → URP に切替えるとマテリアルがピンクに → Render Pipeline Converter で変換
- InputManager → Input System に切替えるなら、UserControl 系スクリプトを差し替え
- 長期的には別アセットの Car Controller に置換するのが安全
FAQ
Q: 旧 Standard Assets パッケージはどこかに残っていますか?
A: GitHub に有志がアーカイブしているリポジトリが見つかることがありますが、ライセンス的にグレーゾーンの可能性があるため、業務利用は避けるのが無難です。
Q: 完全無料で車を実装したい
A: Unity 公式の Wheel Collider Tutorial + 上記の SimpleCar コード で最低限の挙動は作れます。市販ゲーム品質を求めるなら Vehicle Physics Pro / NWH の購入が結果的に安く済みます。
Q: 2D の車を作るときの Vehicles
A: 2D 物理は HingeJoint2D + WheelJoint2D で組みます。Standard Assets には含まれていません。