Unity研究所<Unityによるゲーム開発、映像開発>

Unity初心者おやじが綴るゲームで小遣い稼ぎできるようになるまでのブログ

Unity Space Shipを飛ばしてみた!!

前回のUdemyのRails Shooterの中でのテクニックのメモ

 

 

こんな感じにSpace Shipを飛ばす方法を書き残しておく

 

いつも通り、ビジュアルの良さげなAssetについては、FreeのAssetを使用させてもらっている(作者様には感謝)

 

〇用意するもの

 飛行機Asset
assetstore.unity.com

 
 Skybox

assetstore.unity.com

 

セット

 今回はterrainにて自作(Textureも一部はFree Asset)

 Texture素材次第かもしれないが、初めて使った割にそれ風のものはできたかと

 

 

〇Space Shipの自動周回について

  下記のとおり、 Space Shipの飛行については、UnityのスタンダードアセットのUtilityフォルダにあるかきのスクリプトにより、ユーザーの操作とは別に一定の速度でTerrainの中を巡回させている

 

 ・WaypointCircuit

 ・WaypointProgressTracker

 

 

assetstore.unity.com

 

 ◆WaypointCircuit

f:id:Harukichi:20191022224314p:plain

・ 空のGameObjectを作成し、通過点として設定したい位置数か所に配置する

・さらに親のとするGameObjectにWaypointCircuitスクリプトをアタッチする

・インスペクターにて、横長のAssing using all child objectのボタンを押すと、子のGameObjectが通過点として認識される

 

◆WaypointProgressTracker

f:id:Harukichi:20191022225218p:plain

・自動巡回させたいオブジェクトにこのスクリプトをアタッチして、インスペクター上でCitcuitに先ほど作成した通過点の親オブジェクトを設定

・Tragetには動かしたいオブジェクトを設定

 今回はメインのカメラを設定し、その子オブジェクトとして飛行機のオブジェクトを設定している

 ・その他の設定については、正直よくわからない*1

 

 

〇Space Shipのキーボード操作のスクリプト

 Space shipはメインカメラの子オブジェクトとなっており、前進については、メインカメラに設定された経路で自動で進行する

 Space shipについては、キーボード入力により、メインカメラに映る範囲でローカルポジション変化させ移動させている

 

f:id:Harukichi:20191022164440p:plain

  ◆45~56行 
回転、傾きについては、Space shipのカメラ内での位置(local Position)に応じて、Yaw、Roll、Pitchを調整し、上昇、下降の際はpitch、左右移動の際にはRollに作用を与えて、飛行機らしさを出している
なお、左右の端に移動するにつれて、Yawが画面の内側を向いてしまうので調整している
f:id:Harukichi:20191022231310p:plain
 
◆58~74行
移動については、カメラの中の見栄えの良い位置に調整しながら、カメラの範囲内で上下左右に移動するようにMathf.Clampを使用して範囲内の数値を算出している
 
 
なんか説明が適当すぎる気もするがこれにて終了
 
 
 

*1:-_-メ