ゲーム

Unity - DynamicWaterSystem使用メモ

水の表現に挑戦したくて発見したAssets まだ触り始めたばかりだがとりあえずいくつかのスクリプトにおけるパラメータのメモ 間違ってても泣かないDocument : Dynamic Water System: Main PageBuoyancyForce…水面に浮かぶオブジェクトに追加する。浮力関連の…

【未解決】クラスのデータに複数のオブジェクトからアクセスすると最後の情報で統一される

【現象】処理の中で同一のPrefabから(同種の/しかし別々の)GameObjectを生成し、GameObject付随の処理の中で他クラスで定義しているデータにアクセスし使用した際、すべてのGameObjectで最後の情報に統一される。 【具体的には】爆弾を設置する時、火力は…

ユーザ側でのキーコンフィグを可能にする/Input.GetButton

Update中にif(Input.GetKeyDown(KeyCode.Q))のような形で記述すれば特定のボタンを押したときの動作を実装できるが、この方法だと完全にQのキーしか使えない。 ユーザ側でのキーコンフィグを可能にする。と同時に対応キーを後々から変更したい場合に対応する…

スクリプトからゲームオブジェクトにコンポーネントを追加/削除する: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(…