pg-box.jp
131219訓練 | ハコソフト
朝一ウォーミングアップ。 シーソー noscriptだよ。 にわとりくっつけます Unity4入門 最新開発環境による簡単3Dゲーム製作を参考に制作。 物体いろいろ設置 くっつき玉(Object)準備 にわとり飛び去り防止壁作成 照明設置 カメラ位置調整 本のにわとりさんをインポート 空のオブジェクト(Character)作成 にわとりさんをCharacterの子にする ※これは親の物理挙動を子が引き継ぐ仕様を利用して、物理挙動等をCharacterに任せ、キャラの差し替えを容易にするため。 Characterに物理挙動等設定 ここからは初の処理になるので項目分け。 Characterに当たり判定つける Add Component > Physics > Capsule Collider 後は数値をいじって判定を調節する。 Colliderは全て判定をつけるもの。 今回はCapsuleの形状を選択した。 タグつけ CharacterのInspectorにあるTag > Add Tag Sizeで入力項目の数を指定。 Element 0 ~ n にタグの名前を入れる 指定が終わったら 再度Tagクリックし、作成したタグを選択する Objectにも同様のタグをセットする。 CharacterをPrefab化 プレハブ化したらHierarchyからCharacterを削除する。 作ったプレハブはAssetsに新規フォルダを作ってその中に入れる。 にわとり発射スクリプト(Cannon.js)の作成 GetMouseButtonDownでボタンを押された時。 引数0は左クリック、1は右クリック。 LoadBullet関数を呼び出す。 カメラから発射するため、 カメラからインスタンス生成。 transform.parentで親階層を定義。 transformはスクリプトを付与したオブジェクトとなるため、カメラが親階層になる。 基本位置はVector3.zero。zeroで親(カメラ)からの相対位置となる。 returnはJavaと同じなので関数内で定義したBulletの情報を返す。 変数ray(Ray)にマウスカーソルの位置情報を代入。 Camera.ScreenPointToRay()で引数の座標からレイを飛ばす処理をしている。今回の引数はマウスの入力位置。