Entries from 2014-02-01 to 1 month

オブジェクトの破壊時にイベントを起こす:OnApplicationQuit/OnDestroy

なにかのオブジェクトが破壊された時に、自動的にイベントを起こしたい場合。http://answers.unity3d.com/questions/169656/instantiate-ondestroy.htmlそのオブジェクトをDestroyする時にコードを実行するのでなく、破壊される時に勝手に実行してほしい場合…

スクリプトからゲームオブジェクトにコンポーネントを追加/削除する:AddComponent / Destroy

HierarchyでのD&DやInspectorでのAdd Componentではなく、スクリプト内部で動的にコンポーネントを追加/削除する。 以下、C#ファイルactRemoteBombを追加するケース。 private actRemoteBomb remoteBombComp; : : remoteBombComp = null; : : // 追加の前に…

インスペクタ側から値を設定するビルトイン配列:Builtin Array

スクリプト側でpublicの配列の宣言のみするとインスペクタ側でサイズ(要素数)および配列要素の中身を設定可能。 public GameObject[] ItemInstances;

他スクリプト内の関数を使用する:GetComponent

他のオブジェクトに接続しているスクリプト内の関数を使用したいケース。 FindやGetComponentは重いらしいので極力Start関数内で一度だけ使用する。 // オブジェクト・コンポーネント取得用変数宣言. GameObject bombCtrl; bombGenerator bombGene; : : // F…

線を飛ばしてその途中接触した全オブジェクトを取得する:RaycastAll

Raycastは最初に接触したオブジェクトまでだが、この方法は接触した全オブジェクトを取得可能。 以下サンプルコード // 指定地点最寄のセンターポイントを取得する. // Y軸(高さ)は引数として関数呼び時に指定する. public Vector3 GetNearestCenterPoint(…