最終更新:
bokkuri_orz 2012年05月18日(金) 02:54:47履歴
ScriptReference - GameObject
http://unity3d.com/support/documentation/ScriptRef...
Unityのシーン上に配置されるオブジェクトの基本となるもの。
必ず Tranform コンポーネントを持っている。
既存のコンポーネントやユーザーが作成したコンポーネントはこの GameObject に追加することで動作します。
ScriptReference - Transform
http://unity3d.com/support/documentation/ScriptRef...
GameObjectの座標情報、親子階層情報を持つコンポーネント。
ScriptReference - MonoBehaviour
http://unity3d.com/support/documentation/ScriptRef...
ユーザーがオリジナルコンポーネントを作成するとき、このクラスを継承して作成します。
JavaScriptでは自動的にこのクラスを継承した形になるが、C#, Boo では明示的に継承する必要がある。
これらの関数は .NET frameworkの「リフレクション」を利用して呼び出されるので、
関数呼び出しのコストが大きいです。
GameObjectの数が増えると、そのコストも無視できなくなってくるので、
これらの関数の利用は出来るだけ少なくなるように設計する必要があります。
特に、Update, LateUpdate, FixedUpdate には注意が必要です。
余談ですが、public, private 等のアクセス指定に関係なく呼び出されます。
| Awake | GameObjectがシーン上に配置された時に、一度だけ呼ばれる。 |
| Start | GameObjectが動作する(Update)前に、一度だけ呼ばれる。GameObjectが非アクティブの時は呼ばれない。 |
| FixedUpdate | フィジックスの処理ループ内で呼ばれる。1フレーム内に一度とは限らない。 CPU処理が1フレーム処理落ちした時、(多分)次のフレームでフィジックスの処理は二回行われる。 処理落ちしても動作が同じになるように、フィジックス処理はループされる。 |
| Update | コンポーネントの処理を実装する関数。1フレームに一回呼ばれる。 |
| LateUpdate | 全GameObjectのUpdateが終わった後に呼ばれる。全てのものが動作した後に行いたい処理を実装する。 1フレームに一回呼ばれる。 |
| Reset | インスペクタでリセットボタンが押された時の処理を記述する。エディターモードでのみ呼ばれる。 |
| OnTriggerEnter | |
| OnTriggerStay | |
| OnTriggerExit | |
| OnCollisionEnter | |
| OnCollisionStay | |
| OnCollisionExit | |
| OnControllerColliderHit |
あまり使ったこと無いので、未調査。
| OnJointBreak | |
| OnParticleCollision | |
| OnJointBreak | |
| OnParticleCollision | |
| OnBecameVisible | |
| OnBecameInvisible | |
| OnLevelWasLoaded | |
| OnEnable | |
| OnDisable | |
| OnDestroy | |
| OnApplicationPause | |
| OnApplicationFocus | |
| OnApplicationQuit | |
| OnPlayerConnected | |
| OnServerInitialized | |
| OnConnectedToServer | |
| OnPlayerDisconnected | |
| OnDisconnectedFromServer | |
| OnFailedToConnect | |
| OnFailedToConnectToMasterServer | |
| OnMasterServerEvent | |
| OnNetworkInstatntiate | |
| OnSerializeNetworkView | |
| OnAudioFilterRead |
スクリプトの処理順はこちらに細かく書かれています。
Execution Order of Event Functions
http://unity3d.com/support/documentation/Manual/Ex...
処理の種類別にまとめると、
- シーン読み込み後
- Awake
- OnEnable
- Update前の1フレーム目
- Start
- フレーム間
- OnApplicationPause
- Update処理
- FixedUpdate
- Update
- LateUpdate
- 描画
- OnPreCull
- OnBecameVisible/OnBecameInvisible
- OnWillRenderObject
- OnPreRender
- OnRenderObject
- OnPostRender
- OnRenderImage
- OnGUI
- OnDrawGizmos
- コルーチン
- yield
- yield WaitForSeconds(2)
- yield WaitForFixedUpdate()
- yield WWW
- yield StartCoroutine(MyFunc)
- オブジェクトが破棄された時
- OnDestroy
- 終了時
- OnApplicationQuit
- OnDisable
1フレームの処理順をまとめると、
All Awake calls All Start Calls while (stepping towards variable delta time) All FixedUpdate functions Physics simulation OnEnter/Exit/Stay trigger functions OnEnter/Exit/Stay collision functions Rigidbody interpolation applies transform.position and rotation OnMouseDown/OnMouseUp etc. events All Update functions Animations are advanced, blended and applied to transform All LateUpdate functions Rendering
タグ


最新コメント