この情報は、Unity が用意してくれている変数になります。
頭文字が
小文字の場合は
変数、
大文字の場合は
クラス(コンポーネント)の情報になります。
混同しやすいので特に注意してください。
こちらに参考記事があります。 =>
間違えやすい点
transform.position = new Vector3(0, 180, 0);
このような処理がスクリプトにあった場合、この transform 変数の前にドットがなければ(上記のような処理の場合)
このスクリプトがアタッチしているゲームオブジェクトの、Transform コンポーネントの情報が代入されている変数
これが、
transform 変数の値(中身)になります。
また、この transform 変数にはドットの処理が続いています。これも先ほどと同じで、左側から順番に処理を読み解きます。
Transform コンポーネントの管理している情報である、Position の値に右辺の値を代入する、という処理になっています。
gameObject 変数も同じです。
gameObject.SetActive(false):
このような処理がスクリプトにあった場合、この gameObject 変数の前にドットがなければ(上記のような処理の場合)
このスクリプトがアタッチしているゲームオブジェクトの情報が代入されている変数
これが、gameObject 変数の値になります。
処理は変数ベースで実行されていくことがほとんどですので、
変数に代入されている値がわからないと、処理が分からなくなってしまいます。
そのようなときには、
Debug.Log()メソッドを利用して、値を確認してください。
Debug.Log(transform.position);
Debug.Log(gameObject);
のように記述することで、指定した変数の値を Console ビューに表示することができるので、変数の値を確認できます。
もしも、transform 変数や gameObject 変数の前にドットがあった場合には、その前の情報に対しての変数になります。
GameObject player = GameObject.Find("Player");
player.transform.position = transform.position;
処理を読めるか、挑戦してみてください。
2行目の左辺 player.transform.position の処理は、ドットが2つある処理になります。
まずは、player 変数の情報を確認し、その情報を使った transform 変数になるので、
この transform 変数の値は、
player 変数に代入されている情報の、Transform コンポーネントの情報、となります。
つまり、この処理を記述してあるスクリプトがアタッチしているゲームオブジェクトの Transform コンポーネントの情報では
ありません。
同じく2行目の右辺 transform.position ですが、こちらは、
transform 変数の前にドットはありません。
そのため、この処理を記述してあるスクリプトがアタッチしているゲームオブジェクトの Transform コンポーネントの情報になります。
非常に混同しやすく、分かりにくい部分でもありますので、こういう場合には、しっかりと各変数の値を把握しましょう。
そして日本語でコメントを書いておくことを強く勧めます。
// 左辺に用意した player 変数に
// ヒエラルキーにあるゲームオブジェクトを、すべて検索し名前が Player であるゲームオブジェクトの情報を GameObject 型として取得して左辺へ代入
GameObject player = GameObject.Find("Player")
// player 変数の、 Transform コンポーネントの、 Position の情報に(点の位置がドットの位置と同じ)
// このスクリプトがアタッチしているゲームオブジェクトの Transform コンポーネントの、 Position の情報を代入
player.transform.position = transform.position;
コメントを書く場合にも、上記のように、
処理ごとや、左辺と右辺ごとに分けて書いておくと処理の内容が分かりやすくなります。
ドットの位置と点(、)の位置を合わせて書いたり、上段のコメントが
左辺の処理、下段のコメントが
右辺の処理になっています。
今まで書いてきた処理を見直しながら、処理にコメントを書いてみてください。
しっかりとコメントが記述できるならば、処理が理解できて、読めていることになります。