代表勉強通信~Unity Learnする②
こんばんは。代表の草場です。
Create with Code – コードを始めました。
Watch, then Do!を10回くらい発言されてます。
Watch, then Do!
Watch, then Do!
Watch, then Do!
大事なのは、まずは全部観る、そして実践とのこと。まず観る。
さて、始めにUnity Hubのダウンロード方法、Unityのインストール方法、Unity IDの作り方をまず丁寧に解説。
そして車を動かしながら障害物を避けるゲームを作って、Unityの基礎を勉強をする形です。Scene ViewはMovie Setのようなものと思えといっています。
今回は3Dプロジェクトなので、Templateは3Dを選択。事前に必要なアセット、シーンを準備してくれているので、ダウンロードして使用します。SceneフォルダにPrototype Sceneをいれて、もともとのSampleSceneは削除。
さて、ヒエラルキーに事前に準備されている車を入れます。ここで、Inspectorの説明、様々なショートカットキーの説明がされます。ctr + W, S, A and Dが標語みたいのモノです。
次に障害物を加えます、直接Sceneにドラッグアンドドロップでも行けます。ここで、Inspectorの座標の説明とか、軸に沿って動かす方法とか説明されています。
そっしてカメラの設置です。これは地味にありがたかったです。カメラの動かし方とか。ctrキーと軸を選んでカメラ移動。右上のGizmodeをうまく使って、回転をさせる。ここでもショートカットキーを様々。
レイアウトの仕方。これも基礎ですが有り難いです。様々なレイアウト選べます。
いよいよ車を動かすスクリプト作成です。AssetフォルダにCreate>C# Scriptで作成。そして、それを車オブジェクトにアタッチ。継承の話が少し触れられています。ほんと少しです。
今回は車をz軸に沿って動かすので、Update関数に以下を記載で動かせます。
transform.Translate(0, 0. 1);
次にVector3の使い方の説明。あまりわからずですが、とりあえず上記のコードを
transform.Translate(Vector3.forward)
とすればOK。これでは車が早すぎなので、
transform.Translate(Vector3.forward * Time.deltaTime)
でOK。これだと遅すぎなので、
transform.Translate(Vector3.forward * Time.deltaTime * 20)
でOK。適切な速度になりました。
最後に、実際に車と障害物を衝突させるのに、RigidBodyコンポーネントを各オブジェクトに追加します。重力は使うにチェックします。質量などは良しなに設定。
それぞれのコンポーネントにある、Mesh Coliderも大事です。衝突の判定。これがないと、衝突しないし、障害物が道路と衝突しないので自由落下します。必ずチェックを入れる。あとは障害物を多数準備。完了。
出来ました。
後はまたLesson 1.3 – High Speed Chaseから明日。
EVENTS