翼のカジュアル実装
(デモ&サンプルプロジェクト)
サンプルデモ(WebGL)
サンプルデモ(WebGL)
翼のカジュアルな実装①
翼のカジュアルな実装②動翼
で説明したスクリプトを使って作ったデモ。
(動翼のページでは2つの手法を説明しましたが、このデモでは「②揚力・抗力係数を直接増減させる方法」の方を採用しています)
Unity サンプル プロジェクト
Unity サンプル プロジェクト
上のデモのアセットをパッケージ化した.unitypackageファイル。
「翼のカジュアル実装」のページで紹介したコードは、これを少し簡略化したものです。
Built-in Render Pipeline(BRP)でのサンプル(URP/HDRPは不要)です。
説明ページに載せたコードとは変数名が違っていたりいろいろ違ってたりします
入力設定がデフォルトの状態では上のデモと次のような違いがあります
ラダー用の入力軸が未定義(後述)
推力増加・減少はマウスボタンのみ(スペースキー、Left Ctrlキー共に割り当てが違うため)
各キーの効き目が違う(概ねカクカクとした操作感。各軸のSensitivity/Gravityの設定がデモと異なるため)
(フラップ(F/R)・カメラ切り替え(C)・車輪ブレーキ(B)の入力はスクリプトにハードコーディングされているので入力軸を定義する必要はありません。)
使い方
使い方
Unityで空の3Dプロジェクトを作ります(追加のカスタムパッケージは不要)
作ったプロジェクトにドラッグ&ドロップまたは「Assets > Import Package > Custom Package」でこのアセットをインポートします。
シーン「Simple」を開きます
Input Managerから「Rudder」軸を追加します(↓)。
プレイモード開始
Rudder軸の追加
エルロンやエレベーターに使われている「Horizontal 」や「Vertical」軸はプロジェクトにデフォルトで存在していますが、ラダーに対応する軸は存在しません。そのためそのままプレイモードに入ると、こんなエラーがでます↓Input ManagerからRudder軸を新しく追加する(右図)か、
もしくはシーン上の「Wing_VE > Rudder」ゲームオブジェクトのSimple Control Surfaceコンポーネントのインスペクターから「Axis Name」を存在する軸名に変更する必要があります。
もしくはシーン上の「Wing_VE > Rudder」ゲームオブジェクトのSimple Control Surfaceコンポーネントのインスペクターから「Axis Name」を存在する軸名に変更する必要があります。
ラダー軸をQキー/Eキーに割り当てる例。Gravity/Sensitivityは良い感じの適当な値に