未来を創る、テックコミュニティー

代表勉強通信~Unity Learnする②

草場代表
2020/10/17

こんばんは。代表の草場です。

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から明日。

この記事を書いた人
草場代表
エディター