忍者ブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

GameObjectまとめ

Free版、C#使用で、スクリプト+αをまとめてみる

エディターからは,
GameObject->CreateEmpty で空のオブジェクト、
GameObject->CreateOther で基本的なコーポネント付オブジェクトが作れる

pic11

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 ;
などと宣言してやれば、エディター上から値を変えることができる。
pic18
シーンとアセットにある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に入れたタイプのコーポネントを付け加える
PR
Name
Title
Mail
URL
Comment
Pass
Pictgram
Vodafone絵文字 i-mode絵文字 Ezweb絵文字

 
トラックバックURL
 

カレンダー

10 2025/11 12
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

 

プロフィール

HN:
Khellion
性別:
非公開

 

カウンター

 

最新記事

 

最新TB

 

最新CM

[05/17 backlink service]

 

ブログ内検索

 

フリーエリア