翼のカジュアル実装
デモサンプルプロジェクト)

サンプルデモ(WebGL)

で説明したスクリプトを使って作ったデモ。
(動翼のページでは2つの手法を説明しましたが、このデモでは「②揚力・抗力係数を直接増減させる方法」の方を採用しています)

操作

W/A/S/D:ロール・ピッチ・Q/E : ヨー(ラダー)・スペースまたは左クリック:推力増加・LeftCtrlまたは右クリック:推力減少・F/R : フラップ角度増加/減少・C : カメラ切り替え・B : 車輪ブレーキ

※プロペラはただのダミーです

もう出力しちゃったので直しませんが、動翼の効き目はもう少し強くてもよかったかも・・・あとなんか地面で機体が振動してるのはWebGLビルド後に起こる謎現象です(放置)

Unity サンプル プロジェクト

上のデモのアセットをパッケージ化した.unitypackageファイル。
「翼のカジュアル実装」のページで紹介したコードは、これを少し簡略化したものです。

入力設定がデフォルトの状態では上のデモと次のような違いがあります


(フラップ(F/R)・カメラ切り替え(C)・車輪ブレーキ(B)の入力はスクリプトにハードコーディングされているので入力軸を定義する必要はありません。)

使い方

Rudder軸の追加

エルロンやエレベーターに使われている「Horizontal 」や「Vertical」軸はプロジェクトにデフォルトで存在していますが、ラダーに対応する軸は存在しません。そのためそのままプレイモードに入ると、こんなエラーがでます↓
Input ManagerからRudder軸を新しく追加する(右図)か、
もしくはシーン上の「Wing_VE > Rudder」ゲームオブジェクトのSimple Control Surfaceコンポーネントのインスペクターから「Axis Name」を存在する軸名に変更する必要があります。
ラダー軸をQキー/Eキーに割り当てる例。Gravity/Sensitivityは良い感じの適当な値に