続けることが何よりも苦手な私ですが、2日目のブログ書き出して偉すぎ。

今日も頑張っていきましょう!

 

 

ということで早速、YoutubeでUnity初心者と検索しヒットした以下の方の動画を参考に学んでいきます。

1〜6まではUnity使うまでの準備を説明してくださっている。

(Windowsの方が良かったのかもと、ここでも後悔・・・)

 

すぐなんでも忘れると定評のある私。

 

どうやって勉強していこうかと考えた結果、

とりあえず見る・自分で作ってみる・覚えておきたいことはNotionにメモる、あとは適当にブログにメモる

という方法をとっていこうと思います。

 

ちなみにNotionも初心者です。

使いこなしてたらなんかカッコ良さそう、、という理由で使い始めてみました。

 

 

こんな感じで分からない単語をメモしてます。

 

タグは適当。なんかいい分類タグあれば教えてください。

今の所Unity関連、Macで使うショートカットキー、IT?関連のタグがあります。

 

 

#13ではC#登場!はじめまして。C#。

言われるがままコーディングして、言われるがままUnityでインスタンス化(実態にする作業のことらしい?)。

 

これでUnityの再生ボタンおすとキューブが勢いよくどこかに飛んでった。

何かが画面上で動くと楽しいですね。

中身あまり理解してませんが。

 

〜〜〜〜以下、学んだことのメモ書き〜〜〜〜〜〜〜

(見やすいようにとか一切考えないゾ⭐︎)

#14

ゲームはパラパラ漫画のようにたくさんの画像の繋ぎあわせでできている

その画像から次の画像に切り替わるまでの時間のことを1フレーム。

 

フレームレートとは?

 1秒間に何回画像出力できるかを表す。単位:FPS(Frame per second)

 なぜフレームレートはのいい数字になるのか、、、ディスプレイの画面の更新と合わせているらしい。

 ※気をつけること:

    ゲームは画像の連続なので点が瞬間移動してあたかも動いて見えるような処理が入っているらしい。

    瞬間移動なので当たり判定をすり抜けることがある。(これを防ぐ物理演算処理もあるらしいが非常に重い) 

 

#15

コンソールのタブについて

・Clear on Play:再生とともにログを削除

・Collapse:同じログをまとめることができる

・Clear:ログ削除

・Clear on Build:ゲームをビルドした時にログを消す

・Error Pause:エラー出た時再生を一時停止

 

プログラムの実行順序:出力結果に影響があるので重要!!

・メゾット(Start()やUpdate()など)は記述順番に関係ない。

・メゾットの中では上から下に順番に流れる。

・複数のスクリプトがある場合、順番のタイミングは決まっていない。

・ゲームオブジェクトが非アクティブの場合実行されない。

 

 

#16 データを取り扱う方法

・変数とは:箱のようなもの。この中にデータを入れるイメージを持ちましょう。

・変数の型宣言 変数名 = 中身;

・変数の有効範囲(スコープ)に気をつけよう。{}内に含まれているかつ定義した位置より下にあるものに適用される。

 

・型:int整数 float浮動小数(7桁) double浮動小数(16桁)  char1文字 string文字列 bool真か偽か

 (Pythonと一緒っぽい)

 

 

#17

・オブジェクト指向型:設計図から実体にするもの

・クラス型変数

 例:Transform型Unity Engineに既存で含まれているClassの型

    インスタンスのアドレスが入っている。

    Unityがあらかじめ用意してくれている設計図を使えるらしい。

    MonoBehaviourを継承しているので使えるらしい・・・?

 

   Transform.position

            "." は、クラスの中のものを参照するときに使われる。(参照型というらしい)

    positionはVector3型(構造体)(x、y、z)をFloat型で格納できる。座標を格納できる。

    構造体はすべて実態があるもののことらしい。

 

・全てのコンポーネントは全てクラス型らしい。スクリプトから触れる。

 

 

#18

・算術演算子の説明。

・=は代入という意味。

・インクリメント演算子 ++ :1を足す ※変数の前後どちらに置くかで挙動が変わるので注意。

・ディクリメンと演算子 ーー :1を引く

・サフィックス 数字の後に`f`を書く。型を宣言しましょう。

・ただの小数点は`Doubule`型として扱われるので注意。

・一文字の場合は’Char型’、複数文字の場合は”String型”。クォーテーションに注意!

 

#19

・Void 何も返さないという意味

・メソッドを使用するときはスコープに注意!

・返したいときは 型名 メゾット名(引数){}

これがオブジェクト指向型プログラミングなのか・・・。複雑。

 

 

#20、21

・条件分岐と繰り返し処理について。
・Pythonとほぼ同じだったのでメモ省略。

・ループ文は1フレーム内で処理が行われてしまうので注意。

・使いながら覚えていこうかな・・・・。

 

 

#22

・配列:複数の箱をまとめたもの

・型 [] 配列名 =new 型 [要素の個数];

・配列名.Length で要素の個数を返せる。

・foreach : 複数の要素を持つものを順番に取り出してくれる繰り返し処理。

 foreach( 型名 仮の入れ物 in t取り出しもと){} 

 

 

#23

・GetCompornent<型名>(); ゲームオブジェクトを取得する命令

・GameObject .Find(”ゲームオブジェクト名”);指定したゲームオブジェクトのインスタンスのアドレスを取得できる

・名前の指定はスペースも含めること。

・newでオブジェクト作成できる。

 

 

#24 値型と参照型

・値型:データを直接取り扱う 基本的な型は値型 構造型

 ・軽いデータは値型の方が早い。一つ一つ実データを作成している

・参照型:データのアドレスを使う Class型、配列など。

 ・実体が一つ。アクセスするのに時間がかかる。

 

 

#25 名前空間 :フォルダ名みたいなもの

<名前空間>

namespace 好きな名前

 {

       //クラスなど 

     }

 

 

#26 アクセス修飾子

・他のスクリプトからのアクセスを制限できる。

・Private:その型をメンバに含んでいる場合のみアクセス可能

・Public:どこからでもアクセス可能

・Protected:その型を継承した型のみアクセス可能

・internal:同じアセンブリの型からのみアクセス可能

・protected internal:同じアセンブリに書かれているかつその型を継承した型のみアクセス可能

 

・名前空間にはアクセス修飾子はつけれない。全てPublicとなる。

 

・シリアライズ化:
ソフトウェア内部で扱っているデータをそのまま保存したり送受信したりすることができるように変換すること。

値の調整がしやすい。インスペクターで扱える。

 

 

 

 

疲れたので今日はここまで!!

明日から仕事だ・・・・・。