Unityが分からないから勉強してみた【Unity学習Log #2】
当記事をご覧頂きありがとうございます。
この記事はUnity初心者の私が学んでいく過程で分かったこと・メモしておきたいこと・躓いてしまったこと等をまとめる記録となっています。
ナンバリングしていますので、同じく初心者の方の道しるべの一つになれば幸いです。
Create with Code - コードを使ってゲームを作ろう
初級編で、しっかりC#スクリプトをコーディングしていくコースです。
コース内容は、4つのユニット(障害物を避けていくドライブゲーム作成のユニット1がコース作成時はあったようですが、現在確認できなかったためユニット2~4の4つ)に分かれています。
ユニットは下記の流れでしていきます。
レッスン:指定のアセットを入れて、解説に沿って行っていく
課題:指定のアセットを入れて、間違いを修理していく
ラボ:空のプロジェクトを作って、Unity内のオブジェクト(cubeとかMaterialを単色で作ったりとか)を使いながら、全ユニットを通して作っていく
小テスト:そのユニットで学んだことを、選択方式でテスト
このコースでは動画を視聴してやっていく流れになります。
途中まで日本語訳の字幕がありますが、途中からは無くなるため英語の勉強もしないといけないと思いました。
また、最初の動画で解説している
「Watch,then do」⇒「見て、それからやってみる」
は意識して勉強しています。
動画の間に作業しようとすると、動画を止めながら巻き戻しならすることになりストレス
動画の途中にやってしまうと情報処理が上手くできなくなり、広い意味で文脈の理解ができなくなる
説明している2つの理由は納得の理由ですし、動画自体はそこまで長くないため、一度見るようにしています。
ユニット2
動物に食べ物をあげるゲームアセットを通して学んでいきました。
学んだこと
・C#スクリプトは英語ベース
⇒英語の単語をそのままプログラムしていくため、英単語を知っているほど有利に感じた。
・transformとVector3が便利
⇒座標を使うコードで何度も登場してきた。
・Debug.log("文章");の有効度↑
⇒コンソールに表示される文章を見ながら、デバッグをしていくときに便利。
if条件を使うとき思った動きができているのか、確認するために使用。
・GetAxis("Horizontal")は水平キー、GetAxis("Vertical")は上下キーの矢印のために使用
GetKeyDown(KeyCode.キーボードのキー)でキーボード入力を実装
⇒キーボード入力ができるようになる。
・配列とrandom.range(最小値,最大値)の組み合わせでゲームらしさが上がる
⇒ランダム性の実装ができると、ゲームらしくなるため積極的に覚えたい組み合わせ。
・VRChatでおなじみ、コライダーはサイズ調整が繊細
⇒ゲームオブジェクトによってはサイズ調整に時間がかかりそうだと思った。
ユニット3
障害物を飛び越えるゲームアセットを通して学んでいきました。
本格的に字幕の日本語訳が無くなったため、苦労しました...
学んだこと
・getComponentの使用
⇒ゲームオブジェクトのinspectorからコンポーネントの追加。
設定されているコンポーネントの値を取得するために使用。
・addForceメソッドのForceModeには4種類ある
⇒①acceleration ②force ③impulse ④velocitychange
の種類があり、物理計算の方程式を使って計算している。
動くことを確認する時は、impulseモードでテストすると分かりやすい。
・アニメーション・サウンドの設定をスクリプトでする
⇒このコースでコンポーネント、変数の設定、オブジェクトの設定を一括して解説してくれている。
以上、学習ログ2つ目でした。
これまでやったことの総集編といった感じで、設定時間よりも凄くボリュームがあり頭を使います。
他ユニットも進めていきます。
2023年6月18日 とも可