Free版、C#使用で、スクリプト+αをまとめてみる
エディターからは,
GameObject->CreateEmpty で空のオブジェクト、
GameObject->CreateOther で基本的なコーポネント付オブジェクトが作れる
GameObject共通のインスペクターの詳細だが、
オブジェクト名左のチェックボックスでアクティブ/非アクティブの変更
右のチェックボックスで静的かどうかの設定
静的クラスとかわからんが、基本はチェックを外しておけばいいと思う
その下はタグとレイヤーの変更ができる。
タグはスクリプトからオブジェクトを探すときなどに使い、
レイヤーはカメラやRaycastで使う。
さらにその下はTransformだが、位置や回転、スケールの情報が入っている。
関数とかもいろいろあるので次にでも詳しくやろうと思う。
スクリプトから参照するときは、空のGameObjectを宣言しておいて、
Find等のクラス関数で入れてやるというのが基本みたいなので↓のようにやるといいみたいだった。
public GameObject Test ;
void Awake () {
Test = GameObject.FindWithTag ("Player") ;
}
GameObjectのクラス関数
GameObject .CreatePrimitive (PrimitiveType)
・・・CreateOtherのCubeなどのような基本的なメッシュとコライダーをGameObjectに取り付ける
GameObject .FindWithTag(string)
・・・入れたタグ名をもつGameObjectを返す。ない場合はnullが返される。
GameObjectを 。FindGameObjectsWithTag (string)
・・・入れたタグ名を持つGameObjectをすべて返す。GameObjectの配列に
GameObject .Find (string)
・・・入れた名前のGameObjectを返す。
スクリプトでGameObjectを参照するときは、上で書いた方法以外に
インスペクターで設定することもできる。
スクリプトに
public GameObject GameObjectTest ;
などと宣言してやれば、エディター上から値を変えることができる。

シーンとアセットにあるGameObjectを入れることができる。
ただ、アセットのプレハブのスクリプトの場合、シーン上のGameObjectを設定することができないみたいだった。
後は変数と関数をまとめようと思う
GameObjectの変数
GameObject.isStatic
・・・静的かどうか
GameObject.layer
・・・設定されているレイヤー番号[0~32]
GameObject.active
・・・アクティブかどうか
GameObject.tag
・・・タグ名
以下の変数はGameObjectに接続されたコーポネントが入っている。
接続されてない場合はnullが返される。読み取りのみ
GameObject.transform
GameObject.rigidbody
GameObject.camera
GameObject.light
GameObject.animetion
GameObject.constantForce
GameObject.renderer
GameObject.audio
GameObject.guitext
GameObject.networkView
GameObject.guiTexture
GameObject.collider
GameObject.hingeJoint
GameObject.particleEmitter
GameObjectの関数
GameObject.GetComponent(Type)
・・・GameObjectに接続された入力したタイプのコーポネントが返される。
C#の場合、
GameObject.GetComponent<transform>()みたいにする必要がある
また、接続されたスクリプトを得ることもできる
ScriptName other =
GameObject.GetComponent<
ScriptName>() ;
ほかのオブジェクトのスクリプトの変数とかを得ることができるので便利。
GameObject.GetComponentInChildren(Type)
・・・GameObjectの子オブジェクトを含めて入力したタイプのコーポネントを返す。
複数ある場合階層が浅いものが優先。
GameObject.GetComponents(Type)
GameObject.GetComponentsInChildren(Type)
・・・複数Ver、配列で返される
GameObject.SetActiveRecursively(bool)
・・・子オブジェクトを含めて一括でアクティブ/非アクティブの変更
GameObject.CompareTag(string)
・・・GameObjectのタグ名が入れた文字列と同じであるかどうか
GameObject.AddComponent(Type)
・・・GameObjectに入れたタイプのコーポネントを付け加える