TORICA Simulatorの最小構成版です.
このREADMEが制作手順書です.
とにかく作ってみよう!
3Dゲームを作るのは,本来とても難しいことです. 作りたいゲームの要素を盛り込むまでに描写処理や物理演算など, ゲームの前提となる処理がとても複雑だからです.
そこで登場するのが,「ゲームエンジン」と呼ばれるものです. ゲームの前提となる処理が最初から組み込まれており, 開発者はゲーム要素の設計に集中することができます.
Unityは最も有名なゲームエンジンのひとつです. 簡単な制御なら,プログラミング言語に触れずとも実装できるほど機能が豊富です. 複雑な処理は,C#と呼ばれるプログラミング言語を介して実装します.
Unityで開発を行うためには,適切なバージョンの"Unity Editor"をインストールする必要があります. この手順書では,"Unity 6"の安定版(LTS)を使用します.(2026/04/09現在: Unity 6.3 LTS)
以下に示すブログに従って,Unity Editorのインストールまでしてみましょう.
Unity Hubを起動し,"New Project"から新規プロジェクトを作成しましょう. 今回は3Dのゲームを作るので,"Universal 3D"というプロジェクトテンプレートを使います. 基本的に保存形式はUnityアカウントに紐づくクラウドとローカルのストレージを併用しますが, ローカルのみを選択することもできます.
【2026年最新】Windowsで始めるUnity!導入から初期設定までの完全ガイド! | TechChance! 公式ブログ
[Unity]最初のプロジェクトテンプレートはどれがいいのか?〜URP・HDRP・Built-inの違い〜[初心者向け] | えきふるゲームラボ
簡単なものから作っていきましょう.まずは水面です.
ヒエラルキーの左上にある+マークから,3D Object > Planeを作成します.
これで,1辺が10mの平面が作成されました.
ヒエラルキーでPlaneが選択された状態では,
画面右側のインスペクターが表示されているはずです.
ここで,この平面の位置と大きさを次のように変更します.
Scaleを変更し,ここではXZ軸方向への大きさを200倍にしています.
これによって,1辺が2kmの平面ができました.
見た目から入っていきましょう!
あなたがこれをブラウザ上のGitHubから見ているのであれば,
<> Code > Download ZIPで必要なファイルを取得できます.
展開したZIPファイルには,objという名前のフォルダーがあるはずです.
その中にあるARG-1.objという名前のファイルを,
Unity Editor下部のProject > Assetsフォルダー内にドラッグ&ドロップしてください.
すると,飛行機らしきシルエットのサムネイルがでるはずです.
ARG-1をクリックしてインスペクターを表示させ,Scale Factorを0.001に変更します.
これは,Objファイルがmm(ミリメートル)単位で記録している寸法値を,Unity上でm(メートル)単位で解釈するためです.
ARG-1をヒエラルキーにドラッグ&ドロップし,シーンに追加します.
ARG-1を右クリックし,Prefab > Unpack Completelyで完全に展開します.
ここからの操作が複雑です.
ARG-1にはWing,fin,tailが含まれますが,これらを組み替えて,
Wingにfin,tailが含まれるようにします.
空になったARG-1は削除し,Wingの名前をAircraftとしましょう.
Aircraftをクリックし,インスペクターを表示させます.
Positionを次のように変更します.
鳥人間コンテストにおいてはプラットフォームの高さがおよそ10m,
そこにパイロットの腰の高さが加わるので,およそ11mの高さに設置しました.
また,助走の10mだけ後退させました.
これで設置は完了です.
もとからあるMain CameraをAircraftの子オブジェクトにします.
こうすることで,Aircraftの動きにMain Cameraが追従するようになります.
Main Cameraのインスペクターで,Transformを次のように設定します.
Aircraftとの相対的な位置と回転を設定しています.
画面下部のバーのボタンから,カメラのプレビューを確認することができます.
上部にある再生ボタンから,Play modeに切り替えることができます.
カメラに正しく写っていればOKです!
ついにAircraftを動かすときがきました!
Aircraftのインスペクターを表示させ,Add Component > RigidbodyでRigidbodyコンポーネントを追加します.
Use Gravityにチェックが入っていることを確認します.
そうしたら,上部の再生ボタンを押してみましょう!
どうなりましたか?
物理演算を適用したことにより重力が働き,下へ落下していったはずです! しかし,先ほど作成した平面に当たってもすり抜けてしまっています.
これでは面白くありません.衝突を判定する「コライダー」を設定しましょう.
まず,Planeのインスペクターで,もとからあるMesh Colliderを削除します.
代わりに,処理がより単純なBox Colliderを追加します.
次は,AircraftにMesh Colliderを設定します.
このとき,Convexにチェックを入れておきます(凹面が存在するため).
そうしたら,もう一度上部の再生ボタンを押してみましょう! どうなりましたか?
コライダーによる衝突判定により,地面に落ちた際の挙動がリアルに再現されたはずです!
ここでついに,フライトシミュレーターの肝である空力計算を実装したいと思います.
...しかしながら,あまりにも難解過ぎるので,
元九州大学鳥人間チーム全体設計のいーそー様制作の
BR Simulator for Gliderに含まれる空力計算用スクリプト
AerodynamicCalculator.csを利用させていただきます.
先ほどダウンロードしたZIPファイルに含まれるbase > AerodynamicCalculator.csは,
この手順書におけるAircraftにアタッチするだけで上手く動作するように改変したものです.
まず,Assetsフォルダの中で右クリックし,Create > Folderで新たにフォルダを作成します.
フォルダの名前はScriptsとしてください.
baseフォルダをScriptsフォルダにドラッグ&ドロップします.
C#スクリプトは,ヒエラルキー上のゲームオブジェクトにドラッグ&ドロップすることでアタッチすることができます.
AircraftにAerodynamicCalculatorを
tailにElevatorを
finにRudderを
それぞれアタッチします.
Aircraftのインスペクターを開きます.
AerodynamicCalculatorにあるAction Propの"︙(縦三点リーダー)"をクリックし,
Use Referenceを選択します.
右端の"◎(二重丸)"をクリックし,"Player/Move"をアタッチします.
これで,機体の挙動は鳥人間コンテスト滑空機部門出場機を再現したものになったはずです! 上部の再生ボタンを押した後,スペースキーを押すことでフライトがスタートします! WASDキーもしくは矢印キーでラダーとエレベーターを操作できます.
プラットフォームはあったほうが良いでしょう!
ヒエラルキー上で,3D Object > Cubeを作成します.
インスペクターで,CubeのTransformを次のように設定します.
いーそー様のブログにある, 【Unity】フライトシミュレーターを作る:新機体の実装 | 垂直尾翼と水平尾翼のオブジェクトの設定を行う に従って設定してみましょう.
これにて,かなりそれっぽい簡易フライトシミュレーターが完成したと思います!!!
C#への理解を深めるうえで,言語は違いますが C++入門 AtCoder Programming Guide for beginners (APG4b) - AtCoder の第1章は一通りやることをおすすめします.
- カメラの複数配置
- 水面のマテリアル作成
- UI Toolkitを使ったUIの作成 などなど...



































